added player

This commit is contained in:
Sara 2023-11-22 11:46:50 +01:00
parent 3ebc370ca4
commit 2032488149

53
game/src/player.h Normal file
View file

@ -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