1 | #ifndef GAME_CLIENT_COMPONENTS_MENU_BACKGROUND_H |
2 | #define |
3 | |
4 | #include <game/client/components/background.h> |
5 | #include <game/client/components/camera.h> |
6 | |
7 | #include <array> |
8 | #include <chrono> |
9 | #include <string> |
10 | #include <vector> |
11 | |
12 | class : public CBackgroundEngineMap |
13 | { |
14 | MACRO_INTERFACE("menu_enginemap" ) |
15 | }; |
16 | |
17 | // themes |
18 | class CTheme |
19 | { |
20 | public: |
21 | CTheme() {} |
22 | CTheme(const char *pName, bool HasDay, bool HasNight) : |
23 | m_Name(pName), m_HasDay(HasDay), m_HasNight(HasNight) {} |
24 | |
25 | std::string m_Name; |
26 | bool m_HasDay; |
27 | bool m_HasNight; |
28 | IGraphics::CTextureHandle m_IconTexture; |
29 | bool operator<(const CTheme &Other) const { return m_Name < Other.m_Name; } |
30 | }; |
31 | |
32 | class : public CBackground |
33 | { |
34 | std::chrono::nanoseconds {0}; |
35 | |
36 | protected: |
37 | bool () override { return false; } |
38 | |
39 | public: |
40 | enum |
41 | { |
42 | = 0, |
43 | , |
44 | , |
45 | , |
46 | , |
47 | , |
48 | , |
49 | , |
50 | , |
51 | , |
52 | , |
53 | , |
54 | , |
55 | , |
56 | , |
57 | , |
58 | , |
59 | , |
60 | , |
61 | , |
62 | , |
63 | , |
64 | , |
65 | , |
66 | , |
67 | , |
68 | |
69 | , |
70 | |
71 | = (POS_BROWSER_CUSTOM4 - POS_BROWSER_CUSTOM0) + 1, |
72 | = (POS_SETTINGS_RESERVED1 - POS_SETTINGS_RESERVED0) + 1, |
73 | = (POS_RESERVED2 - POS_RESERVED0) + 1, |
74 | }; |
75 | |
76 | enum |
77 | { |
78 | = 3, |
79 | }; |
80 | |
81 | CCamera ; |
82 | |
83 | CBackgroundEngineMap *() override; |
84 | |
85 | vec2 ; |
86 | std::array<vec2, NUM_POS> ; |
87 | int ; |
88 | vec2 ; |
89 | bool ; |
90 | float ; |
91 | |
92 | bool ; |
93 | |
94 | void (); |
95 | |
96 | void (CTheme &Theme); |
97 | static int (const char *pName, int IsDir, int DirType, void *pUser); |
98 | |
99 | std::vector<CTheme> ; |
100 | |
101 | (); |
102 | () override {} |
103 | virtual int () const override { return sizeof(*this); } |
104 | |
105 | void () override; |
106 | void () override; |
107 | void () override; |
108 | |
109 | void (bool HasDayHint = true, bool HasNightHint = true); |
110 | |
111 | bool (); |
112 | |
113 | class CCamera *() override; |
114 | |
115 | void (int PositionNumber); |
116 | |
117 | std::vector<CTheme> &(); |
118 | }; |
119 | |
120 | std::array<vec2, CMenuBackground::NUM_POS> (); |
121 | |
122 | #endif |
123 | |