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 enum class EProofBorder
14 {
15 OFF,
16 INGAME,
17 MENU,
18 };
19 class CState
20 {
21 public:
22 EProofBorder m_ProofBorders;
23 int m_CurrentMenuProofIndex;
24
25 std::vector<vec2> m_vMenuBackgroundPositions;
26 std::vector<std::vector<int>> m_vvMenuBackgroundCollisions;
27
28 void Reset();
29 };
30
31 void OnInit(CEditor *pEditor) override;
32 void OnMapLoad() override;
33 void RenderScreenSizes();
34
35 bool IsEnabled() const;
36 bool IsModeMenu() const;
37 bool IsModeIngame() const;
38 void Toggle();
39 void SetModeMenu();
40 void SetModeIngame();
41 int CurrentMenuProofIndex() const;
42 void SetCurrentMenuProofIndex(int MenuProofIndex);
43 const std::vector<vec2> &MenuBackgroundPositions() const;
44 vec2 CurrentMenuBackgroundPosition() const;
45 const char *MenuBackgroundPositionName(int MenuProofIndex) const;
46 const std::vector<int> &MenuBackgroundCollisions(int MenuProofIndex) const;
47 void InitMenuBackgroundPositions();
48
49private:
50 std::vector<const char *> m_vpMenuBackgroundPositionNames;
51
52 void InitMenuBackgroundPositionNames();
53};
54
55#endif
56