From a8e5e723b7e1891c9b352261a3ee4c3d3563e8cf Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sun, 26 Oct 2025 21:38:22 -0700 Subject: Checkpoint two --- .../liz/ecs/animation/AnimationSystemTest.kt | 115 +++++++++++---------- 1 file changed, 62 insertions(+), 53 deletions(-) (limited to 'composeApp/src/commonTest/kotlin/coffee/liz/ecs/animation') diff --git a/composeApp/src/commonTest/kotlin/coffee/liz/ecs/animation/AnimationSystemTest.kt b/composeApp/src/commonTest/kotlin/coffee/liz/ecs/animation/AnimationSystemTest.kt index 588e245..ceaef33 100644 --- a/composeApp/src/commonTest/kotlin/coffee/liz/ecs/animation/AnimationSystemTest.kt +++ b/composeApp/src/commonTest/kotlin/coffee/liz/ecs/animation/AnimationSystemTest.kt @@ -4,41 +4,43 @@ import coffee.liz.ecs.DAGWorld import kotlin.test.* class AnimationSystemTest { - - private fun createTestSpriteSheet(): SpriteSheet { - return SpriteSheet( + private fun createTestSpriteSheet(): SpriteSheet = + SpriteSheet( imagePath = "test.png", - frames = mapOf( - FrameName("idle_0") to Rect(0, 0, 32, 32), - FrameName("idle_1") to Rect(32, 0, 32, 32), - FrameName("walk_0") to Rect(0, 32, 32, 32), - FrameName("walk_1") to Rect(32, 32, 32, 32), - FrameName("walk_2") to Rect(64, 32, 32, 32) - ) + frames = + mapOf( + FrameName("idle_0") to Rect(0, 0, 32, 32), + FrameName("idle_1") to Rect(32, 0, 32, 32), + FrameName("walk_0") to Rect(0, 32, 32, 32), + FrameName("walk_1") to Rect(32, 32, 32, 32), + FrameName("walk_2") to Rect(64, 32, 32, 32), + ), ) - } - private fun createTestAnimator(): Animator { - return Animator( - clips = mapOf( - AnimationName("idle") to AnimationClip( - frameNames = listOf(FrameName("idle_0"), FrameName("idle_1")), - frameTicks = 0.1f, - loopMode = LoopMode.LOOP + private fun createTestAnimator(): Animator = + Animator( + clips = + mapOf( + AnimationName("idle") to + AnimationClip( + frameNames = listOf(FrameName("idle_0"), FrameName("idle_1")), + frameTicks = 0.1f, + loopMode = LoopMode.LOOP, + ), + AnimationName("walk") to + AnimationClip( + frameNames = + listOf( + FrameName("walk_0"), + FrameName("walk_1"), + FrameName("walk_2"), + ), + frameTicks = 0.15f, + loopMode = LoopMode.LOOP, + ), ), - AnimationName("walk") to AnimationClip( - frameNames = listOf( - FrameName("walk_0"), - FrameName("walk_1"), - FrameName("walk_2") - ), - frameTicks = 0.15f, - loopMode = LoopMode.LOOP - ) - ), - currentClip = AnimationName("idle") + currentClip = AnimationName("idle"), ) - } @Test fun `animation advances frame after frame duration`() { @@ -83,16 +85,19 @@ class AnimationSystemTest { fun `ONCE mode stops at last frame`() { val world = DAGWorld(listOf(AnimationSystem())) val entity = world.createEntity() - val animator = Animator( - clips = mapOf( - AnimationName("once") to AnimationClip( - frameNames = listOf(FrameName("idle_0"), FrameName("idle_1")), - frameTicks = 0.1f, - loopMode = LoopMode.ONCE - ) - ), - currentClip = AnimationName("once") - ) + val animator = + Animator( + clips = + mapOf( + AnimationName("once") to + AnimationClip( + frameNames = listOf(FrameName("idle_0"), FrameName("idle_1")), + frameTicks = 0.1f, + loopMode = LoopMode.ONCE, + ), + ), + currentClip = AnimationName("once"), + ) entity.add(createTestSpriteSheet()) entity.add(animator) @@ -114,20 +119,24 @@ class AnimationSystemTest { fun `PING_PONG mode bounces back and forth`() { val world = DAGWorld(listOf(AnimationSystem())) val entity = world.createEntity() - val animator = Animator( - clips = mapOf( - AnimationName("pingpong") to AnimationClip( - frameNames = listOf( - FrameName("walk_0"), - FrameName("walk_1"), - FrameName("walk_2") + val animator = + Animator( + clips = + mapOf( + AnimationName("pingpong") to + AnimationClip( + frameNames = + listOf( + FrameName("walk_0"), + FrameName("walk_1"), + FrameName("walk_2"), + ), + frameTicks = 0.1f, + loopMode = LoopMode.PING_PONG, + ), ), - frameTicks = 0.1f, - loopMode = LoopMode.PING_PONG - ) - ), - currentClip = AnimationName("pingpong") - ) + currentClip = AnimationName("pingpong"), + ) entity.add(createTestSpriteSheet()) entity.add(animator) -- cgit v1.2.3-70-g09d2