feat(player): reworked some of the player's animation code
This commit is contained in:
parent
dd0af050c9
commit
1d18873f4b
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue