1#ifndef GAME_EDITOR_EDITOR_OBJECT_H
2#define GAME_EDITOR_EDITOR_OBJECT_H
3
4class CEditor;
5class IInput;
6class IClient;
7class CConfig;
8class IConsole;
9class IEngine;
10class IGraphics;
11class ISound;
12class ITextRender;
13class IStorage;
14class CUi;
15class CRenderTools;
16class CRenderMap;
17
18class CEditorObject
19{
20public:
21 virtual ~CEditorObject() = default;
22
23 /**
24 * Initialize the interface pointers.
25 * Needs to be the first function that is called.
26 */
27 virtual void OnInit(CEditor *pEditor);
28
29 CEditor *Editor();
30 const CEditor *Editor() const;
31 IInput *Input();
32 const IInput *Input() const;
33 IClient *Client();
34 const IClient *Client() const;
35 CConfig *Config();
36 const CConfig *Config() const;
37 IConsole *Console();
38 const IConsole *Console() const;
39 IEngine *Engine();
40 const IEngine *Engine() const;
41 IGraphics *Graphics();
42 const IGraphics *Graphics() const;
43 ISound *Sound();
44 const ISound *Sound() const;
45 ITextRender *TextRender();
46 const ITextRender *TextRender() const;
47 IStorage *Storage();
48 const IStorage *Storage() const;
49 CUi *Ui();
50 const CUi *Ui() const;
51 CRenderMap *RenderMap();
52 const CRenderMap *RenderMap() const;
53
54private:
55 CEditor *m_pEditor;
56};
57
58#endif
59