OROCHI
 
Loading...
Searching...
No Matches
GxToolUnitPad.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13#if GX_DEVELOP
14GX_CHARACTER_NAMESPACE_BEGIN()
15
16//===========================================================================
18//===========================================================================
19class GxToolUnitPad : public GxToolBase
20{
21 //-------------------------------------------------------------
23 //-------------------------------------------------------------
25public:
26 GX_RTTI_CLASS_NAME_ICON(GxToolUnitPad, GxToolBase, "パッド切り替え設定", GxRtti::ICON_TYPE::CHARACTER)
27 // GxClassBaseReference継承クラス用禁止宣言
29
30
31 class GxGuiPropertyTableCustom : public GxGuiPropertyTable
32 {
33 //-------------------------------------------------------------
35 //-------------------------------------------------------------
37 public:
38 // RTTI定義
39 GX_RTTI_CLASS(GxGuiPropertyTableCustom, GxGuiPropertyTable)
40 // 基底継承クラス用禁止宣言
41 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxGuiPropertyTableCustom)
42
43
44 //-----------------------------------------------------------
46 //-----------------------------------------------------------
48
50 GxGuiPropertyTableCustom(void) : _pSelectTableObjectList(nullptr){}
52 GxGuiPropertyTableCustom(const GxProperty& property, GxTypedObject *pObject, u32 index = 0);
54 void cleanup(void) override;
55
57 //-----------------------------------------------------------
59 //-----------------------------------------------------------
61
63 void onClick(const GxPoint2& position, u32 button) override;
65 void setPopupMenu(const GxPoint2& position);
67 void changePadCallback(GxSysInput::DEVICE padNumber);
68
70 //-----------------------------------------------------------
72 //-----------------------------------------------------------
74
76 constexpr GxArrayClassBase* getSelectTableObjectList(void) const { return _pSelectTableObjectList; }
77
79 //-----------------------------------------------------------
81 //-----------------------------------------------------------
83 private:
84 GxArrayClassBase* _pSelectTableObjectList;
85
87 };
88
90 class GxTableObject : public GxClassBase
91 {
92 //-------------------------------------------------------------
94 //-------------------------------------------------------------
96 public:
97 // RTTI定義
98 GX_RTTI_CLASS(GxTableObject, GxClassBase)
99 // 基底継承クラス用禁止宣言
100 GX_PROHIBIT_CLASS_BASE(GxTableObject)
101
102
103 //-----------------------------------------------------------
105 //-----------------------------------------------------------
107
109 GxTableObject(void) : _pParent(nullptr), _pUnit(nullptr), _unitListName(nullptr), _unitName(nullptr){}
111 GxTableObject(GxToolUnitPad* pParent, GxUnitCharacterBase* pUnit);
113 ~GxTableObject(void) override{}
114
116 //-----------------------------------------------------------
118 //-----------------------------------------------------------
120
122 constexpr GxSysInput::DEVICE getPadNumber(void) const { return _padNumber; }
124 constexpr void setPadNumber(GxSysInput::DEVICE number){ _padNumber = number; }
126 constexpr GxUnitCharacterBase* getUnit(void) const { return _pUnit; }
128 constexpr void setUnit(GxUnitCharacterBase* pUnit){ _pUnit = pUnit; }
129
131 //-----------------------------------------------------------
133 //-----------------------------------------------------------
135 private:
136 GxToolUnitPad* _pParent;
137 GxUnitCharacterBase* _pUnit;
138 GxSysInput::DEVICE _padNumber;
139 GX_CSTR _unitListName;
140 GX_CSTR _unitName;
141
143 };
144
146 //-----------------------------------------------------------
148 //-----------------------------------------------------------
150
152 GxToolUnitPad(void);
154 void cleanup(void) override;
155
157 //-----------------------------------------------------------
159 //-----------------------------------------------------------
161
163 void update(void) override;
164
166 void setMenuBar(void) override;
168 void onSize(const GxSize& size) override;
169
170private:
172 b32 initialize(void) override;
174 void createTableObject(GxUnitCharacterBase* pCharacter);
176 void releaseTableObject(GxTableObject* pTableObject);
177
179 //-----------------------------------------------------------
181 //-----------------------------------------------------------
183public:
185 constexpr GxListClassBase* getTableObjectList(void) const { return _pTableObjectList; }
187 GX_FORCE_INLINE void setControlOne(b32 flag){ _controlOneFlag = flag; }
188
190 //-----------------------------------------------------------
192 //-----------------------------------------------------------
194private:
195 GxGuiPropertyTableCustom* _pPropertyTable;
196 GxListClassBase* _pTableObjectList;
197 b32 _controlOneFlag;
198
200};
201
202GX_CHARACTER_NAMESPACE_END()
203#endif // GX_DEVELOP
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
void GxTypedObject
その他
Definition GxDefine.h:213
配列クラス
Definition GxArrayClassBase.h:18
オブジェクト基底クラス
Definition GxBase.h:88
GxClassBase用連結リストクラス
Definition GxListClassBase.h:18
プロパティクラス
Definition GxProperty.h:48
@ CHARACTER
CHARACTER.
DEVICE
デバイス定義
Definition GxSysInput.h:229
キャラクター基礎ユニット
Definition GxUnitCharacterBase.h:20
座標
Definition GxStruct.h:867
サイズ
Definition GxStruct.h:730
32bitブーリアン
Definition GxDefine.h:173