57 virtual void update(
float deltaTime, uint32_t currentTick) = 0;
65 virtual uint32_t
spawnPlayer(uint32_t playerId,
const std::string &playerName) = 0;
82 uint32_t sequenceId) = 0;
Manages entities, their signatures and component type registrations.
Centralized game rules and configuration.
Interface for server-side game logic orchestration.
virtual ecs::Registry & getRegistry()=0
Get reference to the ECS registry.
virtual void resetGame()=0
Reset game state (new game)
virtual bool isGameActive() const =0
Check if the game is active.
virtual const class GameRules & getGameRules() const =0
Get the game rules.
virtual void processPlayerInput(uint32_t playerId, int inputX, int inputY, bool isShooting, uint32_t sequenceId)=0
Process player input event.
virtual bool initialize()=0
Initialize game logic and ECS systems.
virtual uint32_t getLastProcessedInput(uint32_t playerId) const =0
Get the last processed input sequence ID for a player.
virtual uint32_t spawnPlayer(uint32_t playerId, const std::string &playerName)=0
Spawn a player entity.
virtual void despawnPlayer(uint32_t playerId)=0
Remove a player from the game.
virtual ~IGameLogic()=default
virtual void update(float deltaTime, uint32_t currentTick)=0
Update game state for one frame.
Maximum number of distinct component types supported by the Registry.