Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private fun loadData() {
- ...
- App.books = makeGrid(bookModels)
- }
- val offsets = listOf(
- Pair(-1.5f, -1.5f), Pair(-0.5f, -1.5f), Pair(0.5f, -1.5f), Pair(1.5f, -1.5f),
- Pair(-1.5f, -0.5f), Pair(-0.5f, -0.5f), Pair(0.5f, -0.5f), Pair(1.5f, -0.5f),
- Pair(-1.5f, 0.5f), Pair(-0.5f, 0.5f), Pair(0.5f, 0.5f), Pair(1.5f, 0.5f),
- Pair(-1.5f, 1.5f), Pair(-0.5f, 1.5f), Pair(0.5f, 1.5f), Pair(1.5f, 1.5f)
- )
- fun makeGrid(data: List<BookModel>): MutableList<ARBook> {
- val res = mutableListOf<ARBook>()
- var x: Float
- var z: Float
- var zLayer = 0
- var i = 0
- val elevationMap = MutableList(16) { 0f }
- for (book in data) {
- x = offsets[i].first * (paperbackWidth + 0.03f)
- z = offsets[i].second * (paperbackHeight + 0.03f)
- res.add(
- ARBook(
- makeSize(book.pages),
- Vector3(x, elevationMap[i], z),
- makeAngle(),
- book.cover
- )
- )
- elevationMap[i] += res[res.size - 1].size.y
- if (i == 15) {
- zLayer++
- i = 0
- } else {
- i++
- }
- }
- return res
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement