#ifndef _fencer_player_h #define _fencer_player_h #include "physics_entity.h" #include "behaviour_entity.h" #include "transformable.h" #include "sprite.h" typedef struct Player { Transform transform; RigidBody* rigidbody; Shape* shape; Sprite* sprite; } Player; extern void player_spawn(Player* self, Vector at); extern void player_start(Player* self); extern void player_update(Player* self, float dt); extern void player_collision(Player* self, Collision hit); extern Transform* player_get_transform(Player* self); extern RigidBody* player_get_rigidbody(Player* self); extern Shape* player_get_shape(Player* self); extern Vector* player_get_position(Player* self); extern Vector* player_get_scale(Player* self); extern float* player_get_rotation(Player* self); impl_Transformable_for(Player, player_get_transform, player_get_position, player_get_scale, player_get_rotation ) impl_PhysicsEntity_for(Player, player_get_rigidbody, player_get_shape, player_collision ) impl_BehaviourEntity_for(Player, player_start, player_update, player_spawn ) #endif // !_fencer_player_h