OROCHI
 
Loading...
Searching...
No Matches
GxToolUnitManagerFlock.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12#if GX_DEVELOP
13GX_CHARACTER_NAMESPACE_BEGIN()
14
15//===========================================================================
17//===========================================================================
18class GxToolUnitManagerFlock : public GxToolUnitManager
19{
20 //-------------------------------------------------------------
22 //-------------------------------------------------------------
24public:
25 class GxGuiFormListFlock;
26 class GxGuiFormBodyFlock;
27 class GxGuiNameFlock;
28 class GxGuiUnitBoxFlock;
29
30 // RTTI定義
31 GX_RTTI_CLASS_NAME_ICON( GxToolUnitManagerFlock, GxToolUnitManager, "群集ユニット管理", GxRtti::ICON_TYPE::CHARACTER )
32 // ClassBaseReference継承クラス用禁止宣言
33 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxToolUnitManagerFlock)
34
35
36 //-------------------------------------------------------------
38 //-------------------------------------------------------------
40
42 GxToolUnitManagerFlock(void);
44 b32 initialize(void) override;
45
47 //-------------------------------------------------------------
49 //-------------------------------------------------------------
51protected:
53 void createMenuTableFormBodyExtra( GxPropertyTable& table, GxGuiFormBody* pCaller ) const override;
54
56 //-------------------------------------------------------------
58 //-------------------------------------------------------------
60private:
61 GxGuiFormListFlock* _pFormFlock;
62
64};
65
66//===========================================================================
68//===========================================================================
69class GxToolUnitManagerFlock::GxGuiFormListFlock : public GxGuiFormListBase
70{
71 //-------------------------------------------------------------
73 //-------------------------------------------------------------
75public:
76 // RTTI定義
77 GX_RTTI_CLASS(GxGuiFormListFlock, GxGuiFormListBase)
78
79
80 //-------------------------------------------------------------
82 //-------------------------------------------------------------
84
86 GxGuiFormListFlock(void){}
88 GxGuiFormListFlock(GxToolUnitManager* pTool);
89
91 //-------------------------------------------------------------
93 //-------------------------------------------------------------
95
97 GxGuiUnitBox* allocateGuiUnitBox(GxGuiFormBody* pFormBody) override;
99 GxGuiName* allocateGuiName(u32 index, GxToolUnitManager* pTool) override;
101 void addList( u32 index ) override;
103 void deleteList( u32 index ) override;
104
106 void createUnit(u32 listNumber, const GxRtti& rtti) override;
108 GxSysUnit::GxListUnit* getUnitList(u32 listNumber) override;
110 void changeList(GxUnitBase* pUnit, u32 newListNumber) override;
111
113};
114
115//===========================================================================
117//===========================================================================
118class GxToolUnitManagerFlock::GxGuiNameFlock : public GxToolUnitManager::GxGuiName
119{
120 //-------------------------------------------------------------
122 //-------------------------------------------------------------
124public:
125 // RTTI定義
126 GX_RTTI_CLASS( GxToolUnitManagerFlock::GxGuiNameFlock, GxToolUnitManager::GxGuiName )
127 // ClassBaseReference継承クラス用禁止宣言
128 GX_PROHIBIT_CLASS_BASE_REFERENCE( GxGuiNameFlock )
129
130
131 //-------------------------------------------------------------
133 //-------------------------------------------------------------
135
137 GxGuiNameFlock( const u32 listNumber, GxGuiFormListBase* pForm, GxToolUnitManager* pTool ) : GxGuiName(listNumber, pForm, pTool){}
138
139private:
141 GxGuiNameFlock( void ) : GxGuiName(0, nullptr, nullptr){}
142
144 //-------------------------------------------------------------
146 //-------------------------------------------------------------
148protected:
150 void onDoubleClick( const GxPoint2& position, u32 button ) override;
151
153};
154
155//===========================================================================
158//===========================================================================
159class GxToolUnitManagerFlock::GxGuiUnitBoxFlock : public GxToolUnitManager::GxGuiUnitBox
160{
161 //-------------------------------------------------------------
163 //-------------------------------------------------------------
165public:
166 // RTTI定義
167 GX_RTTI_CLASS(GxToolUnitManagerFlock::GxGuiUnitBoxFlock, GxToolUnitManager::GxGuiUnitBox)
168 // ClassBaseReference継承クラス用禁止宣言
169 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxGuiUnitBoxFlock)
170
171
172 //-------------------------------------------------------------
174 //-------------------------------------------------------------
176
178 GxGuiUnitBoxFlock(void){}
180 GxGuiUnitBoxFlock(GxGuiFormBody* pFormBody) : GxGuiUnitBox(pFormBody){}
181
183 //-------------------------------------------------------------
185 //-------------------------------------------------------------
187public:
189 void onDraw(void) override;
190
192};
193
194GX_CHARACTER_NAMESPACE_END()
195#endif // GX_DEVELOP
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
プロパティテーブルクラス
Definition GxProperty.h:1641
実行時型情報クラス
Definition GxRtti.h:154
@ CHARACTER
CHARACTER.
ユニット連結リストクラス
Definition GxSysUnit.h:348
ユニット基礎クラス
Definition GxUnitBase.h:45
座標
Definition GxStruct.h:867
32bitブーリアン
Definition GxDefine.h:173