#ifndef ENEMIES_H #define ENEMIES_H #include #include #include "engineAnimation.h" #include "enginePhysics.h" #include "engineSprite.h" #include "pathfinding.h" #include "player.h" #include "projectiles.h" #include "terrain.h" #include "wake.h" typedef enum { BOAT, ENEMIES_TEX_COUNT } EnemiesTextureID; #define MAX_ENEMIES 100 typedef struct { int count; Sprite sprite[MAX_ENEMIES]; Animation animation[MAX_ENEMIES]; Physics physics[MAX_ENEMIES]; bool arrived[MAX_ENEMIES]; Vector2 destPos[MAX_ENEMIES]; Vector2 path[MAX_ENEMIES][PATH_MAX_WAYPOINTS]; int pathLength[MAX_ENEMIES]; int pathIndex[MAX_ENEMIES]; bool alive[MAX_ENEMIES]; float reloadTimer[MAX_ENEMIES]; float destinationCooldown[MAX_ENEMIES]; bool chasing[MAX_ENEMIES]; float chaseRepathTimer[MAX_ENEMIES]; WakeTrail wakeTrail[MAX_ENEMIES]; } Enemies; Enemies CreateEnemies(Camera2D *camera, Terrain *terrain); void UpdateEnemies(Enemies *enemies, Camera2D *camera, Projectiles *projectiles, Player *player, Terrain *terrain); void RenderEnemies(Enemies *enemies); #endif