From 2032488149fc0d25cdfff4e0238f8210637fac21 Mon Sep 17 00:00:00 2001 From: Sara Date: Wed, 22 Nov 2023 11:46:50 +0100 Subject: [PATCH] added player --- game/src/player.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 game/src/player.h diff --git a/game/src/player.h b/game/src/player.h new file mode 100644 index 0000000..a029094 --- /dev/null +++ b/game/src/player.h @@ -0,0 +1,53 @@ +#ifndef TOPDOWN_PLAYER_H +#define TOPDOWN_PLAYER_H + +#include "sprite.h" +#include "spritesheet.h" +#include "sprite_entity.h" +#include "drop.h" +#include "behaviour_entity.h" +#include "state_machine.h" +#include "transformable.h" + +typedef struct Player { + Transform transform; + + StateMachine* animationState; + + Spritesheet* walk; + Spritesheet* stand; + + Sprite* sprite; +} Player; + +extern Player* MakePlayer(); + +extern void SpawnPlayer(Player* self, Vector location); +extern void PlayerUpdate(Player* self, float deltaTime); +extern void PlayerStart(Player* self); +extern void PlayerDestroy(Player* self); +extern void PlayerDraw(Player* self); + +extern Sprite* PlayerGetSprite(Player* self); +extern Transform* PlayerGetTransform(Player* self); + +impl_Drop_for(Player, + PlayerDestroy +) + +impl_BehaviourEntity_for(Player, + PlayerStart, + PlayerUpdate, + SpawnPlayer, + PlayerDraw +) + +impl_Transformable_for(Player, + PlayerGetTransform +) + +impl_SpriteEntity_for(Player, + PlayerGetSprite +) + +#endif // !TOPDOWN_PLAYER_H