From 1d18873f4bf36e353f72442037936c331455e579 Mon Sep 17 00:00:00 2001 From: Sara Date: Thu, 23 Nov 2023 18:35:55 +0100 Subject: [PATCH] feat(player): reworked some of the player's animation code --- game/src/player.h | 51 +++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 33 deletions(-) diff --git a/game/src/player.h b/game/src/player.h index bf7ba0d..532d842 100644 --- a/game/src/player.h +++ b/game/src/player.h @@ -1,14 +1,12 @@ #ifndef TOPDOWN_PLAYER_H -#define TOPDOWN_PLAYER_H +#define TOPDOWN_PLAYER_H -#include "sprite.h" -#include "spritesheet.h" -#include "sprite_entity.h" -#include "drop.h" +#include "animation_sprite.h" #include "behaviour_entity.h" +#include "drop.h" +#include "player_input.h" #include "state_machine.h" #include "transformable.h" -#include "player_input.h" typedef struct Player { Transform transform; @@ -19,14 +17,11 @@ typedef struct Player { unsigned short faceDirection; StateMachine* animationStateMachine; - size_t animFrame; - float animFrameTimer; - float animFrameInterval; - - Spritesheet* walk; - Spritesheet* stand; - Sprite* sprite; + AnimationSprite* idle; + AnimationSprite* walk; + + AnimationSprite* current_anim; } Player; extern Player* MakePlayer(); @@ -40,30 +35,21 @@ extern void PlayerDraw(Player* self); extern void PlayerInputHorizontal(Player* self, InputEvent event); extern void PlayerInputVertical(Player* self, InputEvent event); -extern Sprite* PlayerGetSprite(Player* self); extern Transform* PlayerGetTransform(Player* self); impl_Drop_for(Player, - PlayerDestroy -) + PlayerDestroy) -impl_Transformable_for(Player, - PlayerGetTransform -) + impl_Transformable_for(Player, + PlayerGetTransform) -impl_BehaviourEntity_for(Player, - PlayerStart, - PlayerUpdate, - SpawnPlayer, - PlayerDraw -) + impl_BehaviourEntity_for(Player, + PlayerStart, + PlayerUpdate, + SpawnPlayer, + PlayerDraw) -impl_SpriteEntity_for(Player, - PlayerGetSprite -) - -extern const State* PlayerAnimationUpdate(Player* player, float deltaTime); -extern void PlayerAnimationExit(Player* player); + extern void PlayerAnimationExit(Player* player); extern void PlayerIdleEnter(Player* player); extern const State* PlayerIdleUpdate(Player* player, float deltaTime); @@ -71,7 +57,6 @@ extern const State* PlayerIdleUpdate(Player* player, float deltaTime); DefineState(PlayerIdle, Player, PlayerIdleEnter, PlayerAnimationExit, - PlayerIdleUpdate -) + PlayerIdleUpdate) #endif // !TOPDOWN_PLAYER_H