2011-02-02 10:49:19 +00:00
|
|
|
/* (c) Shereef Marzouk. See "licence DDRace.txt" and the readme.txt in the root of the distribution for more information. */
|
2018-07-06 14:11:38 +00:00
|
|
|
#ifndef GAME_SERVER_GAMEMODES_DDRACE_H
|
|
|
|
#define GAME_SERVER_GAMEMODES_DDRACE_H
|
2020-09-26 19:41:58 +00:00
|
|
|
#include <game/server/entities/door.h>
|
2010-07-29 05:21:18 +00:00
|
|
|
#include <game/server/gamecontroller.h>
|
2010-08-30 12:13:43 +00:00
|
|
|
#include <game/server/teams.h>
|
2010-08-28 20:53:42 +00:00
|
|
|
|
2010-10-04 19:17:56 +00:00
|
|
|
#include <map>
|
2020-09-26 19:41:58 +00:00
|
|
|
#include <vector>
|
2010-10-04 18:37:39 +00:00
|
|
|
|
2020-06-24 21:14:09 +00:00
|
|
|
struct CScoreInitResult;
|
2020-09-26 19:41:58 +00:00
|
|
|
class CGameControllerDDRace : public IGameController
|
2010-07-29 05:21:18 +00:00
|
|
|
{
|
|
|
|
public:
|
2010-07-29 14:53:25 +00:00
|
|
|
CGameControllerDDRace(class CGameContext *pGameServer);
|
2010-08-10 04:28:17 +00:00
|
|
|
~CGameControllerDDRace();
|
2011-02-13 04:45:17 +00:00
|
|
|
|
2021-01-12 21:59:17 +00:00
|
|
|
void OnPlayerDisconnect(class CPlayer *pPlayer, const char *pReason) override;
|
|
|
|
|
2021-01-12 20:51:06 +00:00
|
|
|
void Tick() override;
|
|
|
|
|
2021-01-12 21:59:17 +00:00
|
|
|
void DoTeamChange(class CPlayer *pPlayer, int Team, bool DoChatMsg = true) override;
|
|
|
|
|
2021-01-12 20:51:06 +00:00
|
|
|
void InitTeleporter();
|
|
|
|
|
2010-08-30 12:13:43 +00:00
|
|
|
CGameTeams m_Teams;
|
2010-08-28 20:53:42 +00:00
|
|
|
|
2020-09-26 19:41:58 +00:00
|
|
|
std::map<int, std::vector<vec2>> m_TeleOuts;
|
|
|
|
std::map<int, std::vector<vec2>> m_TeleCheckOuts;
|
2011-02-13 04:45:17 +00:00
|
|
|
|
2020-06-24 21:14:09 +00:00
|
|
|
std::shared_ptr<CScoreInitResult> m_pInitResult;
|
2010-07-29 05:21:18 +00:00
|
|
|
};
|
2018-07-06 14:11:38 +00:00
|
|
|
#endif // GAME_SERVER_GAMEMODES_DDRACE_H
|