78 float posY,
float health,
int scoreValue,
79 const std::string &scriptPath =
"");
93 float posX,
float posY,
float health,
int scoreValue,
94 const std::string &scriptPath =
"");
110 float posY,
float dirX,
float dirY,
float speed,
int damage,
124 float value,
float posX,
float posY);
149 float height,
bool destructible =
false,
int health = 0);
163 float orbitRadius = 50.0f,
float orbitSpeed = 2.0f,
164 float startAngle = 0.0f,
int damage = 10,
165 int moduleHealth = 50);
Registry for the ECS (Entity-Component System).
Factory for creating game entity prefabs.
static ecs::Address createEnemyFromRegistry(ecs::Registry ®istry, const std::string &enemyType, float posX, float posY, float health, int scoreValue, const std::string &scriptPath="")
Create an enemy entity directly from Registry (for SpawnSystem)
static ecs::Address createHealthPack(ecs::Registry ®istry, int healthRestore, float posX, float posY)
Create a health pack collectible.
static ecs::Address createPlayer(ecs::Registry ®istry, uint32_t playerId)
Create a player entity.
static ecs::Address createEnemy(ecs::Registry ®istry, int enemyType, float posX, float posY)
Create an enemy entity.
static ecs::Address createPowerUp(ecs::Registry ®istry, ecs::BuffType buffType, float duration, float value, float posX, float posY)
Create a collectible power-up entity.
static int _enemyTypeFromString(const std::string &enemyType)
static ecs::Address createWall(ecs::Registry ®istry, float posX, float posY, float width, float height, bool destructible=false, int health=0)
Create a wall/obstacle entity.
static ecs::Address createProjectile(ecs::Registry ®istry, uint32_t ownerId, float posX, float posY, float dirX, float dirY, float speed, int damage, bool friendly)
Create a projectile entity.
static ecs::Address createOrbitalModule(ecs::Registry ®istry, uint32_t parentEntityId, float orbitRadius=50.0f, float orbitSpeed=2.0f, float startAngle=0.0f, int damage=10, int moduleHealth=50)
Create an orbital module (drone) entity.
static EnemySpawnData _getEnemySpawnData(int enemyType)
Manages entities, their signatures and component type registrations.
Maximum number of distinct component types supported by the Registry.
BuffType
Types of buffs that can be applied to entities.
std::uint32_t Address
Type used to represent an entity address/ID.