switch to ECS architecture

This commit is contained in:
2026-05-22 20:31:39 +02:00
parent c18c4e4804
commit ca07cbaf0e
34 changed files with 1943 additions and 2074 deletions

View File

@@ -9,7 +9,11 @@
#include "BalancingConfig.h"
#include "BeltSystem.h"
#include "EcsComponents.h"
#include "EntityAdmin.h"
#include "EntityId.h"
#include "entt/entity/entity.hpp"
#include "FireEvent.h"
#include "GameConfig.h"
#include "Tick.h"
@@ -65,6 +69,8 @@ public:
const BuildingSystem& buildings() const;
const ShipSystem& ships() const;
const ScrapSystem& scraps() const;
EntityAdmin& admin();
const EntityAdmin& admin() const;
private:
EntityId allocateId();
@@ -81,6 +87,7 @@ private:
Tick m_currentTick;
EntityId m_nextId;
EntityAdmin m_admin;
BeltSystem m_beltSystem;
std::unique_ptr<BuildingSystem> m_buildingSystem;
std::unique_ptr<ShipSystem> m_shipSystem;
@@ -89,8 +96,8 @@ private:
std::unique_ptr<CombatSystem> m_combatSystem;
std::unique_ptr<ScrapSystem> m_scrapSystem;
EntityId m_team1HqId;
EntityId m_team2HqId;
entt::entity m_team1HqEntity;
entt::entity m_team2HqEntity;
bool m_finished;
int m_winnerTeam;