mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-14 09:56:37 -04:00
block models: collect side sizes
Still need to determinate them :)
This commit is contained in:
parent
ec1cab0901
commit
f81004a329
@ -24,6 +24,7 @@ import de.bixilon.minosoft.gui.rendering.models.block.BlockModel
|
||||
import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakedFace
|
||||
import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakedModel
|
||||
import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakingUtil.compact
|
||||
import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakingUtil.compactSize
|
||||
import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakingUtil.positions
|
||||
import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakingUtil.pushRight
|
||||
import de.bixilon.minosoft.gui.rendering.models.block.state.baked.SideSize
|
||||
@ -147,7 +148,7 @@ data class SingleBlockStateApply(
|
||||
}
|
||||
}
|
||||
|
||||
return BakedModel(bakedFaces.compact(), emptyArray(), null) // TODO
|
||||
return BakedModel(bakedFaces.compact(), sizes.compactSize(), null) // TODO
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
@ -42,6 +42,18 @@ object BakingUtil {
|
||||
return array.cast()
|
||||
}
|
||||
|
||||
fun Array<MutableList<SideSize.FaceSize>>.compactSize(): Array<SideSize?> {
|
||||
val array: Array<SideSize?> = arrayOfNulls(size)
|
||||
|
||||
for ((index, entries) in this.withIndex()) {
|
||||
val size = entries.toTypedArray()
|
||||
if (size.isEmpty()) continue
|
||||
array[index] = SideSize(size)
|
||||
}
|
||||
|
||||
return array
|
||||
}
|
||||
|
||||
|
||||
fun FloatArray.pushRight(components: Int, steps: Int): FloatArray {
|
||||
if (this.size % components != 0) throw IllegalArgumentException("Size mismatch!")
|
||||
|
Loading…
x
Reference in New Issue
Block a user