This commit is contained in:
2025-07-16 00:32:40 +02:00
parent d1690192db
commit aaf76a3ff0
41 changed files with 2963 additions and 599 deletions

View File

@@ -1,14 +1,46 @@
#pragma once
#include <td/game/GameHistory.h>
#include <td/game/World.h>
namespace td {
namespace game {
class Game {
private:
GameHistory m_History;
enum class GameState : std::uint8_t {
Lobby,
Game,
EndGame,
Disconnected,
Closed
};
} // namespace game
} // namespace td
typedef std::map<std::uint8_t, Player> PlayerList;
class Game {
protected:
World* m_World;
GameState m_GameState = GameState::Lobby;
PlayerList m_Players;
public:
Game(World* world);
virtual ~Game();
virtual void Tick(std::uint64_t delta);
GameState GetGameState() const { return m_GameState; }
void SetGameState(GameState gameState) { m_GameState = gameState; };
const World* GetWorld() const { return m_World; }
World* GetWorld() { return m_World; }
const PlayerList& GetPlayers() const { return m_Players; }
PlayerList& GetPlayers() { return m_Players; }
const Player* GetPlayerById(PlayerID id) const;
Player* GetPlayerById(PlayerID id);
};
} // namespace game
} // namespace td