#pragma once #include "schemasystem.h" #include "CCSPlayerPawn.h" enum GamePhase : int32_t { GAMEPHASE_WARMUP_ROUND, GAMEPHASE_PLAYING_STANDARD, GAMEPHASE_PLAYING_FIRST_HALF, GAMEPHASE_PLAYING_SECOND_HALF, GAMEPHASE_HALFTIME, GAMEPHASE_MATCH_ENDED, GAMEPHASE_MAX }; class CGameRules { public: }; class CMultiplayRules : public CGameRules { public: }; class CTeamplayRules : public CMultiplayRules { public: }; class CCSGameRules : public CTeamplayRules { public: SCHEMA_FIELD(bool, CCSGameRules, m_bWarmupPeriod); SCHEMA_FIELD(bool, CCSGameRules, m_bGameRestart); SCHEMA_FIELD(GamePhase, CCSGameRules, m_gamePhase); SCHEMA_FIELD(int32_t, CCSGameRules, m_totalRoundsPlayed); SCHEMA_FIELD(int32_t, CCSGameRules, m_nOvertimePlaying); SCHEMA_FIELD(bool, CCSGameRules, m_bSwitchingTeamsAtRoundReset); auto PlayerRespawn(CCSPlayerPawn* PlayerPawn) { return CALL_VIRTUAL(void, 110, this, PlayerPawn); } };