1#ifndef GAME_EDITOR_EDITOR_OBJECT_H
2#define GAME_EDITOR_EDITOR_OBJECT_H
3
4class CEditor;
5class CEditorMap;
6class IInput;
7class IClient;
8class CConfig;
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 CEditorMap *Map();
32 const CEditorMap *Map() const;
33 IInput *Input();
34 const IInput *Input() const;
35 IClient *Client();
36 const IClient *Client() const;
37 CConfig *Config();
38 const CConfig *Config() 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