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