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:
17 virtual void OnInterfacesInit(CGameClient *pClient);
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 int Sizeof() const = 0;
171
178 virtual void OnStateChange(int NewState, int OldState)
179 {
180 }
181
185 virtual void OnConsoleInit()
186 {
187 }
188
192 virtual void OnInit()
193 {
194 }
195
200 virtual void OnShutdown()
201 {
202 }
203
210 virtual void OnReset()
211 {
212 }
213
217 virtual void OnWindowResize()
218 {
219 }
220
226 virtual void OnUpdate()
227 {
228 }
229
235 virtual void OnRender()
236 {
237 }
238
242 virtual void OnNewSnapshot()
243 {
244 }
245
249 virtual void OnRelease()
250 {
251 }
252
256 virtual void OnMapLoad()
257 {
258 }
259
267 virtual void OnMessage(int Msg, void *pRawMsg)
268 {
269 }
270
278 virtual bool OnCursorMove(float x, float y, IInput::ECursorType CursorType)
279 {
280 return false;
281 }
282
287 virtual bool OnInput(const IInput::CEvent &Event)
288 {
289 return false;
290 }
291
299 virtual bool OnTouchState(const std::vector<IInput::CTouchFingerState> &vTouchFingerStates)
300 {
301 return false;
302 }
303};
304
305#endif
Definition collision.h:35
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:178
virtual void OnMapLoad()
Definition component.h:256
virtual int Sizeof() const =0
virtual void OnWindowResize()
Definition component.h:217
virtual void OnShutdown()
Definition component.h:200
virtual void OnInit()
Definition component.h:192
virtual bool OnInput(const IInput::CEvent &Event)
Definition component.h:287
virtual void OnMessage(int Msg, void *pRawMsg)
Definition component.h:267
virtual void OnReset()
Definition component.h:210
virtual void OnConsoleInit()
Definition component.h:185
virtual bool OnTouchState(const std::vector< IInput::CTouchFingerState > &vTouchFingerStates)
Definition component.h:299
virtual void OnRelease()
Definition component.h:249
virtual void OnNewSnapshot()
Definition component.h:242
virtual bool OnCursorMove(float x, float y, IInput::ECursorType CursorType)
Definition component.h:278
virtual void OnUpdate()
Definition component.h:226
virtual void OnRender()
Definition component.h:235
Definition config.h:30
Definition gameclient.h:137
Definition layers.h:13
Definition render_map.h:56
Definition render.h:211
Definition ui.h:304
Definition client.h:39
Definition config.h:9
Definition console.h:20
Definition demo.h:64
Definition demo.h:107
Definition engine.h:15
Definition favorites.h:15
Definition graphics.h:189
Definition http.h:13
Definition input.h:22
Definition input.h:18
ECursorType
Definition input.h:42
Definition kernel.h:34
Definition serverbrowser.h:270
Definition sound.h:12
Definition storage.h:21
Definition textrender.h:291
Definition updater.h:7