drop EntityAdmin::add in favour of addComponent

The private add<T> template was identical to the public addComponent<T>;
the spawn factory methods now use the public one.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GH8ZMRY3vhxxXcaUxBqxkk
This commit is contained in:
2026-08-02 21:04:03 +02:00
parent f678dab387
commit 5355f9f77d
2 changed files with 19 additions and 28 deletions

View File

@@ -45,11 +45,11 @@ entt::entity EntityAdmin::spawnShip(QVector2D position, float hp, float maxHp,
const std::string& schematicId, bool isEnemy)
{
entt::entity entity = createEntity();
add<PositionComponent>(entity, PositionComponent{position});
add<HealthComponent>(entity, HealthComponent{hp, maxHp});
add<FactionComponent>(entity, FactionComponent{isEnemy});
add<FacingComponent>(entity, FacingComponent{0.0f});
add<DynamicBodyComponent>(entity, DynamicBodyComponent{
addComponent<PositionComponent>(entity, PositionComponent{position});
addComponent<HealthComponent>(entity, HealthComponent{hp, maxHp});
addComponent<FactionComponent>(entity, FactionComponent{isEnemy});
addComponent<FacingComponent>(entity, FacingComponent{0.0f});
addComponent<DynamicBodyComponent>(entity, DynamicBodyComponent{
maxSpeed_tpt,
mainAcceleration_tptt,
maneuveringAcceleration_tptt,
@@ -60,9 +60,9 @@ entt::entity EntityAdmin::spawnShip(QVector2D position, float hp, float maxHp,
QVector2D(0.0f, 0.0f), // linearAcceleration_tptt
0.0f // angularAcceleration_rptt
});
add<SensorRangeComponent>(entity, SensorRangeComponent{sensorRange_tiles});
add<ShipIdentityComponent>(entity, ShipIdentityComponent{schematicId});
add<MovementIntentComponent>(entity, MovementIntentComponent{0, QVector2D(0.0f, 0.0f)});
addComponent<SensorRangeComponent>(entity, SensorRangeComponent{sensorRange_tiles});
addComponent<ShipIdentityComponent>(entity, ShipIdentityComponent{schematicId});
addComponent<MovementIntentComponent>(entity, MovementIntentComponent{0, QVector2D(0.0f, 0.0f)});
return entity;
}
@@ -73,28 +73,28 @@ entt::entity EntityAdmin::spawnStation(QPoint anchor, QSize footprint,
entt::entity entity = createEntity();
QVector2D center(anchor.x() + footprint.width() / 2.0f,
anchor.y() + footprint.height() / 2.0f);
add<PositionComponent>(entity, PositionComponent{center});
add<HealthComponent>(entity, HealthComponent{hp, maxHp});
add<FactionComponent>(entity, FactionComponent{isEnemy});
add<StationBodyComponent>(entity, StationBodyComponent{anchor, footprint, bodyCells});
addComponent<PositionComponent>(entity, PositionComponent{center});
addComponent<HealthComponent>(entity, HealthComponent{hp, maxHp});
addComponent<FactionComponent>(entity, FactionComponent{isEnemy});
addComponent<StationBodyComponent>(entity, StationBodyComponent{anchor, footprint, bodyCells});
return entity;
}
entt::entity EntityAdmin::spawnDebris(QVector2D position, int amount, Tick despawnAt)
{
entt::entity entity = createEntity();
add<PositionComponent>(entity, PositionComponent{position});
add<DebrisComponent>(entity, DebrisComponent{amount});
add<DespawnAtComponent>(entity, DespawnAtComponent{despawnAt});
addComponent<PositionComponent>(entity, PositionComponent{position});
addComponent<DebrisComponent>(entity, DebrisComponent{amount});
addComponent<DespawnAtComponent>(entity, DespawnAtComponent{despawnAt});
return entity;
}
entt::entity EntityAdmin::spawnHqProxy(QVector2D position, float hp, float maxHp)
{
entt::entity entity = createEntity();
add<PositionComponent>(entity, PositionComponent{position});
add<HealthComponent>(entity, HealthComponent{hp, maxHp});
add<FactionComponent>(entity, FactionComponent{false});
add<HqProxyComponent>(entity);
addComponent<PositionComponent>(entity, PositionComponent{position});
addComponent<HealthComponent>(entity, HealthComponent{hp, maxHp});
addComponent<FactionComponent>(entity, FactionComponent{false});
addComponent<HqProxyComponent>(entity);
return entity;
}

View File

@@ -73,9 +73,6 @@ public:
private:
entt::entity createEntity();
template <typename T, typename... Args>
void add(entt::entity entity, Args&&... args);
entt::registry m_registry;
};
@@ -133,10 +130,4 @@ void EntityAdmin::removeComponent(entt::entity entity)
m_registry.remove<T>(entity);
}
template <typename T, typename... Args>
void EntityAdmin::add(entt::entity entity, Args&&... args)
{
m_registry.emplace<T>(entity, std::forward<Args>(args)...);
}
#endif // ENTITY_ADMIN_H