13GX_CORE_NAMESPACE_BEGIN()
18class GxToolScript : public GxToolResourceEditBase
31 enum class BLOCK_TEXTURE
56 GX_RTTI_STRUCT(GxFunctionCreate)
65 GxFunctionCreate(
void) : _pName(nullptr), _pHelp(nullptr)
69 _pArgumentNames[i] =
nullptr;
70 _pArgumentHelps[i] =
nullptr;
102 static const u32 SPLITTER_VERTICAL_COUNT = 4;
103 class GxGuiPropertyTableEventFunction;
104 class GxGuiPropertyTableDynamicFunction;
105 class GxGuiPropertyTableDynamicVariable;
106 class GxGuiPropertyTableBlock;
115 GxToolScript(
void );
118 b32 initialize(
void )
override;
120 void cleanup(
void)
override;
122 void setResource(
GxResBase* pResource)
override;
125 void initializeScript(
void);
127 void resetFormPropertyScript(
void);
136 b32 close(
void)
override;
138 void changeTab(u32 scriptIndex,
b32 isCreateTab);
143 void update(
void )
override;
146 void eventCloseTab(
void* pOneTab);
148 void openGuiAddFunction(
void);
150 void addFunction(
void);
152 void cancelAddFunction(
void);
154 void addVariable(
void);
156 void checkRemoveFunction(u32 index);
158 constexpr void cancelRemoveFunction(
void) {}
160 void removeFunction(u32 index);
162 void checkRemoveVariable(u32 index);
164 constexpr void cancelRemoveVariable(
void) {}
166 void removeVariable(u32 index);
175 GX_FORCE_INLINE
static GxResTexture* getBlockTexture(BLOCK_TEXTURE blockTexture) {
return _pBlockTextures[
static_cast<u32
>(blockTexture)]; }
177 constexpr void setUnit(
GxUnitBase* pUnit) { _pUnit = pUnit; }
179 constexpr void setStage(
GxStageBase* pStage) { _pStage = pStage; }
187 static GxResTexture* _pBlockTextures[
static_cast<u32
>(BLOCK_TEXTURE::MAX)];
188 GxGuiSplitter* _pSplitterVertical[SPLITTER_VERTICAL_COUNT];
189 GxGuiSplitter* _pSplitterHorizontal;
190 GxGuiTab* _pTabScript;
191 GxGuiFormProperty* _pFormPropertyScript;
192 GxGuiPropertyTableEventFunction* _pPropertyTableEventFunction;
193 GxGuiPropertyTableDynamicFunction* _pPropertyTableDynamicFunction;
194 GxGuiPropertyTableDynamicVariable* _pPropertyTableDynamicVariable;
195 GxGuiPropertyTableBlock* _pFormPropertyBlock;
198 GxFunctionCreate _functionCreate;
209class GxToolScript::GxGuiPropertyTableEventFunction :
public GxGuiPropertyTable
216 GX_RTTI_CLASS(GxGuiPropertyTableEventFunction, GxGuiPropertyTable)
227 GxGuiPropertyTableEventFunction(
const GxProperty& property,
GxTypedObject* pObject, u32 index = 0,
b32 useFilter =
false, TYPE type = TYPE::HORIZON,
b32 useIndex =
false )
228 : Super(property, pObject, index, useFilter, type, useIndex) {}
231 GxGuiPropertyTableEventFunction(
void) {}
240 void onClick(
const GxPoint2& , u32 )
override;
248class GxToolScript::GxGuiPropertyTableDynamicFunction :
public GxGuiPropertyTable
255 GX_RTTI_CLASS(GxGuiPropertyTableDynamicFunction, GxGuiPropertyTable)
266 GxGuiPropertyTableDynamicFunction(
const GxProperty& property,
GxTypedObject* pObject, u32 index = 0,
b32 useFilter =
false, TYPE type = TYPE::HORIZON,
b32 useIndex =
false )
267 : Super(property, pObject, index, useFilter, type, useIndex) {}
270 GxGuiPropertyTableDynamicFunction(
void) {}
279 void update(
void)
override;
281 void onClick(
const GxPoint2& , u32 )
override;
283 void onMouseUp(
const GxPoint2& position, u32 button)
override;
291class GxToolScript::GxGuiPropertyTableDynamicVariable :
public GxGuiPropertyTable
298 GX_RTTI_CLASS(GxGuiPropertyTableDynamicVariable, GxGuiPropertyTable)
309 GxGuiPropertyTableDynamicVariable(
const GxProperty& property,
GxTypedObject* pObject, u32 index = 0,
b32 useFilter =
false, TYPE type = TYPE::HORIZON,
b32 useIndex =
false )
310 : Super(property, pObject, index, useFilter, type, useIndex) {}
313 GxGuiPropertyTableDynamicVariable(
void) {}
322 void update(
void)
override;
324 void onMouseUp(
const GxPoint2& position, u32 button)
override;
332class GxToolScript::GxGuiPropertyTableBlock :
public GxGuiPropertyTable
339 GX_RTTI_CLASS(GxGuiPropertyTableBlock, GxGuiPropertyTable)
350 GxGuiPropertyTableBlock(
const GxProperty& property,
GxTypedObject* pObject, u32 index = 0,
b32 useFilter =
false, TYPE type = TYPE::HORIZON,
b32 useIndex =
false )
351 : Super(property, pObject, index, useFilter, type, useIndex) {}
354 GxGuiPropertyTableBlock(
void) {}
363 void update(
void)
override;
368GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
void GxTypedObject
その他
Definition GxDefine.h:213
配列クラス
Definition GxArrayClassBase.h:18
型情報
Definition GxFunction.h:48
static const u32 ARGUMENT_MAX
引数の最大数
Definition GxFunction.h:234
プロパティクラス
Definition GxProperty.h:48
リソース基底クラス
Definition GxResBase.h:23
動的関数クラス
Definition GxResScript.h:49
テクスチャリソース
Definition GxResTexture.h:23
実行時型情報クラス
Definition GxRtti.h:154
標準ブロッククラス
Definition GxScript.h:231
スクリプトクラス
Definition GxScript.h:19
Definition GxStageBase.h:20
ユニット基礎クラス
Definition GxUnitBase.h:45
座標
Definition GxStruct.h:867
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173