feat(player): reworked some of the player's animation code

This commit is contained in:
Sara 2023-11-23 18:35:55 +01:00
parent dd0af050c9
commit 1d18873f4b

View file

@ -1,14 +1,12 @@
#ifndef TOPDOWN_PLAYER_H #ifndef TOPDOWN_PLAYER_H
#define TOPDOWN_PLAYER_H #define TOPDOWN_PLAYER_H
#include "sprite.h" #include "animation_sprite.h"
#include "spritesheet.h"
#include "sprite_entity.h"
#include "drop.h"
#include "behaviour_entity.h" #include "behaviour_entity.h"
#include "drop.h"
#include "player_input.h"
#include "state_machine.h" #include "state_machine.h"
#include "transformable.h" #include "transformable.h"
#include "player_input.h"
typedef struct Player { typedef struct Player {
Transform transform; Transform transform;
@ -19,14 +17,11 @@ typedef struct Player {
unsigned short faceDirection; unsigned short faceDirection;
StateMachine* animationStateMachine; StateMachine* animationStateMachine;
size_t animFrame;
float animFrameTimer;
float animFrameInterval;
Spritesheet* walk;
Spritesheet* stand;
Sprite* sprite; AnimationSprite* idle;
AnimationSprite* walk;
AnimationSprite* current_anim;
} Player; } Player;
extern Player* MakePlayer(); extern Player* MakePlayer();
@ -40,30 +35,21 @@ extern void PlayerDraw(Player* self);
extern void PlayerInputHorizontal(Player* self, InputEvent event); extern void PlayerInputHorizontal(Player* self, InputEvent event);
extern void PlayerInputVertical(Player* self, InputEvent event); extern void PlayerInputVertical(Player* self, InputEvent event);
extern Sprite* PlayerGetSprite(Player* self);
extern Transform* PlayerGetTransform(Player* self); extern Transform* PlayerGetTransform(Player* self);
impl_Drop_for(Player, impl_Drop_for(Player,
PlayerDestroy PlayerDestroy)
)
impl_Transformable_for(Player, impl_Transformable_for(Player,
PlayerGetTransform PlayerGetTransform)
)
impl_BehaviourEntity_for(Player, impl_BehaviourEntity_for(Player,
PlayerStart, PlayerStart,
PlayerUpdate, PlayerUpdate,
SpawnPlayer, SpawnPlayer,
PlayerDraw PlayerDraw)
)
impl_SpriteEntity_for(Player, extern void PlayerAnimationExit(Player* player);
PlayerGetSprite
)
extern const State* PlayerAnimationUpdate(Player* player, float deltaTime);
extern void PlayerAnimationExit(Player* player);
extern void PlayerIdleEnter(Player* player); extern void PlayerIdleEnter(Player* player);
extern const State* PlayerIdleUpdate(Player* player, float deltaTime); extern const State* PlayerIdleUpdate(Player* player, float deltaTime);
@ -71,7 +57,6 @@ extern const State* PlayerIdleUpdate(Player* player, float deltaTime);
DefineState(PlayerIdle, Player, DefineState(PlayerIdle, Player,
PlayerIdleEnter, PlayerIdleEnter,
PlayerAnimationExit, PlayerAnimationExit,
PlayerIdleUpdate PlayerIdleUpdate)
)
#endif // !TOPDOWN_PLAYER_H #endif // !TOPDOWN_PLAYER_H