You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
899 B
28 lines
899 B
#ifndef ENEMY_H
|
|
#define ENEMY_H
|
|
|
|
struct Enemy;
|
|
struct Scene;
|
|
struct Parser_Object;
|
|
struct Entity;
|
|
struct Hashmap;
|
|
|
|
enum Turret_State
|
|
{
|
|
TURRET_DEFAULT = 0,
|
|
TURRET_ALERT,
|
|
TURRET_ACQUIRE_TARGET,
|
|
TURRET_ATTACK,
|
|
TURRET_STATE_MAX
|
|
};
|
|
|
|
void enemy_init(struct Enemy* enemy, int type);
|
|
void enemy_update_physics(struct Enemy* enemy, struct Scene* scene, float dt);
|
|
void enemy_update(struct Enemy* enemy, struct Scene* scene, float dt);
|
|
void enemy_reset(struct Enemy* enemy);
|
|
struct Enemy* enemy_read(struct Parser_Object* object, const char* name, struct Entity* parent_entity);
|
|
void enemy_write(struct Enemy* enemy, struct Hashmap* entity_data);
|
|
void enemy_weapon_sound_set(struct Enemy* enemy, const char* sound_filename, int type);
|
|
void enemy_static_mesh_set(struct Enemy* enemy, const char* geometry_filename, int material_type);
|
|
|
|
#endif |