1/* (c) Shereef Marzouk. See "licence DDRace.txt" and the readme.txt in the root of the distribution for more information. */
2#ifndef GAME_SERVER_GAMEMODES_DDNET_H
3#define GAME_SERVER_GAMEMODES_DDNET_H
4
5#include <game/server/gamecontroller.h>
6
7class CScore;
8
9class CGameControllerDDNet : public IGameController
10{
11public:
12 CGameControllerDDNet(class CGameContext *pGameServer);
13 ~CGameControllerDDNet() override;
14
15 CScore *Score();
16
17 void HandleCharacterTiles(class CCharacter *pChr, int MapIndex) override;
18 void SetArmorProgress(CCharacter *pCharacter, int Progress) override;
19 int SnapPlayerScore(int SnappingClient, CPlayer *pPlayer) override;
20 CFinishTime SnapPlayerTime(int SnappingClient, CPlayer *pPlayer) override;
21 CFinishTime SnapMapBestTime(int SnappingClient) override;
22
23 void OnPlayerConnect(class CPlayer *pPlayer) override;
24 void OnPlayerDisconnect(class CPlayer *pPlayer, const char *pReason) override;
25
26 void OnReset() override;
27
28 void Tick() override;
29
30 void DoTeamChange(class CPlayer *pPlayer, int Team, bool DoChatMsg = true) override;
31};
32#endif // GAME_SERVER_GAMEMODES_DDNET_H
33