DDNet documentation
Loading...
Searching...
No Matches
motd.h
Go to the documentation of this file.
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_MOTD_H
4#define GAME_CLIENT_COMPONENTS_MOTD_H
5
7#include <engine/textrender.h>
8
10#include <game/client/ui_rect.h>
11
12#include <chrono>
13#include <optional>
14
15class CMotd : public CComponent
16{
20 std::chrono::nanoseconds m_ShownSince{0}; // when the MOTD last became visible
23 std::optional<CUIRect> m_TouchRect; // in normalized screen coordinates like the touch finger positions
24 std::optional<IInput::CTouchFinger> m_DismissTouchFinger; // the finger that dismissed the MOTD, ignored until released
25
26public:
27 CMotd();
28 int Sizeof() const override { return sizeof(*this); }
29
30 const char *ServerMotd() const { return m_aServerMotd; }
31 int64_t ServerMotdUpdateTime() const { return m_ServerMotdUpdateTime; }
32 void Clear();
33 bool IsActive() const;
34
35 void OnRender() override;
36 void OnStateChange(int NewState, int OldState) override;
37 void OnWindowResize() override;
38 void OnMessage(int MsgType, void *pRawMsg) override;
39 bool OnInput(const IInput::CEvent &Event) override;
40 bool OnTouchState(std::vector<IInput::CTouchFingerState> &vTouchFingerStates) override;
41};
42
43#endif
Definition component.h:165
char m_SvMotd[900]
Definition config.h:275
int m_RectQuadContainer
Definition motd.h:21
char m_aServerMotd[std::size(g_Config.m_SvMotd)]
Definition motd.h:17
int Sizeof() const override
Definition motd.h:28
void OnWindowResize() override
Definition motd.cpp:49
int64_t m_ServerMotdTime
Definition motd.h:18
std::chrono::nanoseconds m_ShownSince
Definition motd.h:20
void OnRender() override
Definition motd.cpp:55
void OnMessage(int MsgType, void *pRawMsg) override
Definition motd.cpp:110
bool IsActive() const
Definition motd.cpp:38
STextContainerIndex m_TextContainerIndex
Definition motd.h:22
const char * ServerMotd() const
Definition motd.h:30
std::optional< CUIRect > m_TouchRect
Definition motd.h:23
void OnStateChange(int NewState, int OldState) override
Definition motd.cpp:43
int64_t ServerMotdUpdateTime() const
Definition motd.h:31
void Clear()
Definition motd.cpp:30
std::optional< IInput::CTouchFinger > m_DismissTouchFinger
Definition motd.h:24
CMotd()
Definition motd.cpp:23
bool OnInput(const IInput::CEvent &Event) override
Definition motd.cpp:163
int64_t m_ServerMotdUpdateTime
Definition motd.h:19
bool OnTouchState(std::vector< IInput::CTouchFingerState > &vTouchFingerStates) override
Definition motd.cpp:173
Definition input.h:22
CConfig g_Config
Definition config.cpp:16
Definition textrender.h:175