From 3631e9c1888d2d2e43e85af654fc0544594795f2 Mon Sep 17 00:00:00 2001 From: nathansmith117 Date: Fri, 16 Feb 2024 10:38:55 -0700 Subject: Animation play and pause working --- src/animation.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/animation.c') diff --git a/src/animation.c b/src/animation.c index 52210ae..1a2f612 100644 --- a/src/animation.c +++ b/src/animation.c @@ -31,6 +31,8 @@ Animation createAnimation(AnimationAsset* asset, double delay) animation.delay = delay; animation.lastTime = -1.0; // -1.0 for no last time. + animation.playing = false; + return animation; } @@ -49,6 +51,11 @@ void setAnimationFrame(Animation* animation, int frame) void runAnimation(Animation* animation) { + if (!animation->playing) + { + return; + } + double currentTime = GetTime(); if (animation->lastTime == -1.0 || currentTime - animation->lastTime >= animation->delay) @@ -68,7 +75,19 @@ void runAnimation(Animation* animation) } } +void playAnimation(Animation* animation) +{ + animation->playing = true; + animation->lastTime = -1.0; +} + void pauseAnimation(Animation* animation) { + animation->playing = false; +} + +void toggleAnimation(Animation* animation) +{ + animation->playing = !animation->playing; animation->lastTime = -1.0; } -- cgit v1.2.3