OROCHI
 
Loading...
Searching...
No Matches
GxResHitFlagPreset.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
13
14//===========================================================================
16//===========================================================================
18{
19 //-----------------------------------------------------------
21 //-----------------------------------------------------------
23public:
24 // RTTI宣言
25 GX_RTTI_RESOURCE_NAME(GxResHitFlagPreset, GxResBase, "ヒットフラグ設定リソース");
26 // GxClassBaseReference継承クラス用禁止宣言
28
30
32 //-----------------------------------------------------------
34 //-----------------------------------------------------------
36
38 GxResHitFlagPreset( void );
39
41 void cleanup( void ) override;
42
43protected:
45 b32 load(GxStream& in, u32 dataSize);
46#if GX_DEVELOP
48 b32 save(GxStream&);
49#endif // GX_DEVELOP
50
52 //-----------------------------------------------------------
54 //-----------------------------------------------------------
56public:
58 u32 getObjectCount(void);
59
61 GxResHitFlagPresetData* getObjectData(u32 index);
62
64 GxResHitFlagPresetData* getObjectData(GX_CSTR presetName);
65
67 GX_FORCE_INLINE GxArrayClassBase& getArrayObjectData(void) { return _arrayObjectData; }
68
70 void createEnumHitFlagPreset(void);
71
73 constexpr GX_ENUM* getPresetEnumArray(void) const { return _pHitFlagEnumArray; }
74
76 const GX_ENUM* getPresetEnumArray(GX_CSTR presetName);
77
79 //-----------------------------------------------------------
81 //-----------------------------------------------------------
83protected:
86
88};
89
90//===========================================================================
91// GxResHitFlagPreset::GxResHitFlagPresetData
92//===========================================================================
93// 前方宣言
95{
96 //-----------------------------------------------------------
98 //-----------------------------------------------------------
100public:
101 // RTTI宣言
102 GX_RTTI_CLASS_NAME(GxResHitFlagPresetData, GxClassBase, "ヒットフラグデータ");
103
104#if GX_DEVELOP
106 static constexpr u32 _flagCount = GxMath::VALUE_32;
107#endif // GX_DEVELOP
108
110 //-----------------------------------------------------------
112 //-----------------------------------------------------------
114
120 ~GxResHitFlagPresetData(void) override;
121
123 //-----------------------------------------------------------
125 //-----------------------------------------------------------
127public:
128#if GX_DEVELOP
130 static GxGuiBase* createGui(GxProperty& property, GxTypedObject* pOwner, const GxRtti& rtti, u32 index = 0);
131#endif // GX_DEVELOP
132
134 //-----------------------------------------------------------
136 //-----------------------------------------------------------
138
140 constexpr u32 getHitFlag(void) const { return _hitFlag; }
142 GX_FORCE_INLINE GxString getPresetName(void) const { return _presetName; }
143#if GX_DEVELOP
144 static constexpr void setFlagList( GX_FLAG* pFlagList ){ _pFlagList = pFlagList; }
145#endif // GX_DEVELOP
146
148 //-----------------------------------------------------------
150 //-----------------------------------------------------------
152public:
155#if GX_DEVELOP
156 static GX_FLAG* _pFlagList;
157#endif // GX_DEVELOP
158
160};
161
162#if GX_DEVELOP
163//===========================================================================
165//===========================================================================
166class GxResHitFlagPresetXml : public GxResHitFlagPreset
167{
168 //-----------------------------------------------------------
170 //-----------------------------------------------------------
172public:
173 // RTTI宣言
174 GX_RTTI_RESOURCE(GxResHitFlagPresetXml, GxResHitFlagPreset);
175 // GxClassBaseReference継承クラス用禁止宣言
176 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxResHitFlagPresetXml);
177
179 //-----------------------------------------------------------
181 //-----------------------------------------------------------
183
185 GxResHitFlagPresetXml(void) {}
186
188 //-----------------------------------------------------------
190 //-----------------------------------------------------------
192
193#if GX_EDITOR
195 void getToolRtti( GxArray& arrayTool ) const override;
196#endif //GX_EDITOR
197
199 b32 finalize(void) { return true; }
200
201protected:
203 GX_FORCE_INLINE b32 load(GxStream& in, u32 /*dataSize*/) { return GxResBase::loadXml(in); }
205 GX_FORCE_INLINE b32 save(GxStream& out){ return GxResBase::saveXml(out, GxResHitFlagPresetXml::GX_RTTI); }
206
208 //-----------------------------------------------------------
210 //-----------------------------------------------------------
212protected:
213 u32 _version;
214
216};
217
218#endif // GX_DEVELOP
219
220GX_PHYSICS_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
void GxTypedObject
その他
Definition GxDefine.h:213
#define GX_PHYSICS_NAMESPACE_BEGIN()
ネームスペースマクロ
Definition GxPhysics.h:28
#define GX_RTTI_RESOURCE(__THIS__, __BASE__)
リソースクラス型情報宣言
Definition GxRttiResource.h:102
配列クラス
Definition GxArrayClassBase.h:18
配列クラス
Definition GxArray.h:18
オブジェクト基底クラス
Definition GxBase.h:88
static constexpr u32 VALUE_32
32
Definition GxMath.h:124
プロパティクラス
Definition GxProperty.h:48
リソース基底クラス
Definition GxResBase.h:23
Definition GxResHitFlagPreset.h:95
GX_FORCE_INLINE GxString getPresetName(void) const
プリセット名を取得
Definition GxResHitFlagPreset.h:142
u32 _hitFlag
ヒットフラグ値
Definition GxResHitFlagPreset.h:154
constexpr u32 getHitFlag(void) const
ヒットフラグ値を取得
Definition GxResHitFlagPreset.h:140
GxString _presetName
プリセット名
Definition GxResHitFlagPreset.h:153
GxResHitFlagPresetData(void)
デフォルトコンストラクタ
Definition GxResHitFlagPreset.cpp:185
~GxResHitFlagPresetData(void) override
デストラクタ
Definition GxResHitFlagPreset.cpp:203
ヒットフラグのプリセットリソースクラス
Definition GxResHitFlagPreset.h:18
GX_ENUM * _pHitFlagEnumArray
プリセットのENUM配列
Definition GxResHitFlagPreset.h:85
GxArrayClassBase _arrayObjectData
プリセットデータ格納配列
Definition GxResHitFlagPreset.h:84
constexpr GX_ENUM * getPresetEnumArray(void) const
プリセットのENUMを取得
Definition GxResHitFlagPreset.h:73
b32 load(GxStream &in, u32 dataSize)
リソースのロード
Definition GxResHitFlagPreset.cpp:60
GX_FORCE_INLINE GxArrayClassBase & getArrayObjectData(void)
プリセットデータ配列を取得
Definition GxResHitFlagPreset.h:67
実行時型情報クラス
Definition GxRtti.h:154
ストリーム基礎クラス
Definition GxStream.h:20
GUI用
Definition GxDefine.h:194
GUI用フラグ型
Definition GxDefine.h:203
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173