control bar
This commit is contained in:
@@ -9,14 +9,17 @@ const EXPLODED_GAP = 5
|
||||
export const LevelSystem = () => {
|
||||
useFrame((_, delta) => {
|
||||
const levelMode = useViewer.getState().levelMode
|
||||
const selectedLevel = useViewer.getState().selection.levelId
|
||||
sceneRegistry.byType.level.forEach((levelId) => {
|
||||
const obj = sceneRegistry.nodes.get(levelId)
|
||||
if (obj) {
|
||||
const level = useScene.getState().nodes[levelId as LevelNode['id']]
|
||||
const targetY =
|
||||
((level as any).level || 0) *
|
||||
(LEVEL_HEIGHT + (levelMode === 'stacked' ? 0 : EXPLODED_GAP))
|
||||
(LEVEL_HEIGHT + (levelMode === 'exploded' ? EXPLODED_GAP: 0))
|
||||
obj.position.y = lerp(obj.position.y, targetY, delta * 3)
|
||||
|
||||
obj.visible = levelMode !== 'solo' || level?.id === selectedLevel || !selectedLevel
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user