#ifndef FIGHT_ENEMY_H
#define FIGHT_ENEMY_H

#include "transform.h"
#include "state_machine.h"
#include "rigidbody.h"
#include "collider.h"

typedef struct Enemy {
    Transform transform;
    
    StateMachine behaviour;
    
    RigidBody* rigidbody;
    Collider* collider;
} Enemy;

extern Enemy* MakeEnemy();
extern Enemy* SpawnEnemy(Vector location, const State* entryState);

extern void EnemyStart(Enemy* self);
extern void EnemyUpdate(Enemy* self, float deltaTime);
extern void EnemyDestroy(Enemy* self);

#endif // !FIGHT_ENEMY_H
