DDraceNetwork Documentation
Loading...
Searching...
No Matches
component.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_COMPONENT_H
4#define GAME_CLIENT_COMPONENT_H
5
6#if defined(CONF_VIDEORECORDER)
8#endif
9
10#include <engine/input.h>
11
12class CGameClient;
13
15{
16public:
18 virtual ~CComponentInterfaces() = default;
19
20protected:
24 class CGameClient *GameClient() const { return m_pClient; }
25
29 class IClient *Client() const;
30
34 class IKernel *Kernel() const;
35
39 class IEngine *Engine() const;
40
44 class IGraphics *Graphics() const;
45
49 class ITextRender *TextRender() const;
50
54 class IInput *Input() const;
55
59 class IStorage *Storage() const;
60
64 class CUi *Ui() const;
65
69 class ISound *Sound() const;
70
74 class CRenderTools *RenderTools() const;
75
79 class CRenderMap *RenderMap() const;
80
84 class IConfigManager *ConfigManager() const;
85
89 class CConfig *Config() const;
90
94 class IConsole *Console() const;
95
99 class IDemoPlayer *DemoPlayer() const;
100
110 class IDemoRecorder *DemoRecorder(int Recorder) const;
111
115 class IFavorites *Favorites() const;
116
120 class IServerBrowser *ServerBrowser() const;
121
125 class CLayers *Layers() const;
126
130 class CCollision *Collision() const;
131
132#if defined(CONF_AUTOUPDATE)
136 class IUpdater *Updater() const;
137#endif
138
143 int64_t time() const;
144
148 float LocalTime() const;
149
153 class IHttp *Http() const;
154
155private:
157};
158
165{
166public:
170 virtual ~CComponent() = default;
171
175 virtual int Sizeof() const = 0;
176
183 virtual void OnStateChange(int NewState, int OldState)
184 {
185 }
186
190 virtual void OnConsoleInit()
191 {
192 }
193
197 virtual void OnInit()
198 {
199 }
200
205 virtual void OnShutdown()
206 {
207 }
208
215 virtual void OnReset()
216 {
217 }
218
222 virtual void OnWindowResize()
223 {
224 }
225
231 virtual void OnUpdate()
232 {
233 }
234
240 virtual void OnRender()
241 {
242 }
243
247 virtual void OnNewSnapshot()
248 {
249 }
250
254 virtual void OnRelease()
255 {
256 }
257
261 virtual void OnMapLoad()
262 {
263 }
264
272 virtual void OnMessage(int Msg, void *pRawMsg)
273 {
274 }
275
283 virtual bool OnCursorMove(float x, float y, IInput::ECursorType CursorType)
284 {
285 return false;
286 }
287
292 virtual bool OnInput(const IInput::CEvent &Event)
293 {
294 return false;
295 }
296
304 virtual bool OnTouchState(const std::vector<IInput::CTouchFingerState> &vTouchFingerStates)
305 {
306 return false;
307 }
308};
309
310#endif
Definition collision.h:34
Definition component.h:15
class IKernel * Kernel() const
Definition component.cpp:13
class IServerBrowser * ServerBrowser() const
Definition component.cpp:93
CGameClient * m_pClient
Definition component.h:156
class CGameClient * GameClient() const
Definition component.h:24
int64_t time() const
Definition component.cpp:115
class CCollision * Collision() const
Definition component.cpp:103
class CConfig * Config() const
Definition component.cpp:68
class CLayers * Layers() const
Definition component.cpp:98
class CRenderTools * RenderTools() const
Definition component.cpp:53
class IStorage * Storage() const
Definition component.cpp:38
class IHttp * Http() const
Definition component.cpp:138
class IConfigManager * ConfigManager() const
Definition component.cpp:63
class IInput * Input() const
Definition component.cpp:33
virtual ~CComponentInterfaces()=default
class CUi * Ui() const
Definition component.cpp:43
virtual void OnInterfacesInit(CGameClient *pClient)
Definition component.cpp:7
class IDemoRecorder * DemoRecorder(int Recorder) const
Definition component.cpp:83
class IFavorites * Favorites() const
Definition component.cpp:88
class IEngine * Engine() const
Definition component.cpp:18
class IConsole * Console() const
Definition component.cpp:73
class ITextRender * TextRender() const
Definition component.cpp:28
class ISound * Sound() const
Definition component.cpp:48
float LocalTime() const
Definition component.cpp:124
class IClient * Client() const
Definition component.cpp:133
class IGraphics * Graphics() const
Definition component.cpp:23
class IDemoPlayer * DemoPlayer() const
Definition component.cpp:78
class CRenderMap * RenderMap() const
Definition component.cpp:58
Definition component.h:165
virtual void OnStateChange(int NewState, int OldState)
Definition component.h:183
virtual void OnMapLoad()
Definition component.h:261
virtual int Sizeof() const =0
virtual void OnWindowResize()
Definition component.h:222
virtual void OnShutdown()
Definition component.h:205
virtual void OnInit()
Definition component.h:197
virtual bool OnInput(const IInput::CEvent &Event)
Definition component.h:292
virtual void OnMessage(int Msg, void *pRawMsg)
Definition component.h:272
virtual void OnReset()
Definition component.h:215
virtual void OnConsoleInit()
Definition component.h:190
virtual bool OnTouchState(const std::vector< IInput::CTouchFingerState > &vTouchFingerStates)
Definition component.h:304
virtual void OnRelease()
Definition component.h:254
virtual void OnNewSnapshot()
Definition component.h:247
virtual bool OnCursorMove(float x, float y, IInput::ECursorType CursorType)
Definition component.h:283
virtual void OnUpdate()
Definition component.h:231
virtual ~CComponent()=default
virtual void OnRender()
Definition component.h:240
Definition config.h:25
Definition gameclient.h:132
Definition layers.h:13
Definition render_map.h:55
Definition render.h:215
Definition ui.h:297
Definition client.h:39
Definition config.h:9
Definition console.h:18
Definition demo.h:61
Definition demo.h:105
Definition engine.h:15
Definition favorites.h:14
Definition graphics.h:188
Definition http.h:12
Definition input.h:22
Definition input.h:18
ECursorType
Definition input.h:37
Definition kernel.h:34
Definition serverbrowser.h:267
Definition sound.h:12
Definition storage.h:21
Definition textrender.h:280
Definition updater.h:7
Definition vmath.h:15