1#ifndef GAME_EDITOR_PROOF_MODE_H
2#define GAME_EDITOR_PROOF_MODE_H
3
4#include "component.h"
5
6#include <base/vmath.h>
7
8#include <vector>
9
10class CProofMode : public CEditorComponent
11{
12public:
13 void OnInit(CEditor *pEditor) override;
14 void OnReset() override;
15 void OnMapLoad() override;
16 void RenderScreenSizes();
17
18 bool IsEnabled() const;
19 bool IsModeMenu() const;
20 bool IsModeIngame() const;
21 void Toggle();
22 void SetModeMenu();
23 void SetModeIngame();
24 int CurrentMenuProofIndex() const;
25 void SetCurrentMenuProofIndex(int MenuProofIndex);
26 const std::vector<vec2> &MenuBackgroundPositions() const;
27 vec2 CurrentMenuBackgroundPosition() const;
28 const char *MenuBackgroundPositionName(int MenuProofIndex) const;
29 const std::vector<int> &MenuBackgroundCollisions(int MenuProofIndex) const;
30 void InitMenuBackgroundPositions();
31
32private:
33 enum class EProofBorder
34 {
35 OFF,
36 INGAME,
37 MENU,
38 };
39 EProofBorder m_ProofBorders;
40
41 int m_CurrentMenuProofIndex;
42 std::vector<vec2> m_vMenuBackgroundPositions;
43 std::vector<const char *> m_vpMenuBackgroundPositionNames;
44 std::vector<std::vector<int>> m_vvMenuBackgroundCollisions;
45
46 void InitMenuBackgroundPositionNames();
47};
48
49#endif
50