1/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2/* If you are missing that file, acquire a complete release at teeworlds.com. */
3#ifndef GAME_CLIENT_COMPONENTS_SCOREBOARD_H
4#define GAME_CLIENT_COMPONENTS_SCOREBOARD_H
5
6#include <engine/console.h>
7
8#include <game/client/component.h>
9#include <game/client/ui_rect.h>
10
11class CScoreboard : public CComponent
12{
13 void RenderTitle(CUIRect TitleBar, int Team, const char *pTitle);
14 void RenderGoals(CUIRect Goals);
15 void RenderSpectators(CUIRect Spectators);
16 void RenderScoreboard(CUIRect Scoreboard, int Team, int CountStart, int CountEnd);
17 void RenderRecordingNotification(float x);
18
19 static void ConKeyScoreboard(IConsole::IResult *pResult, void *pUserData);
20 const char *GetTeamName(int Team) const;
21
22 bool m_Active;
23 float m_ServerRecord;
24
25public:
26 CScoreboard();
27 virtual int Sizeof() const override { return sizeof(*this); }
28 virtual void OnConsoleInit() override;
29 virtual void OnReset() override;
30 virtual void OnRender() override;
31 virtual void OnRelease() override;
32 virtual void OnMessage(int MsgType, void *pRawMsg) override;
33
34 bool Active() const;
35};
36
37#endif
38