OROCHI
 
Loading...
Searching...
No Matches
GxResEffectEffekseer.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12#if PLATFORM_EFFEKSEER_SUPPORT
13
14GX_EFFECT_NAMESPACE_BEGIN()
15
16//===========================================================================
18//===========================================================================
19class GxResEffectEffekseer : public GxResEffectBase
20{
21 //-----------------------------------------------------------
23 //-----------------------------------------------------------
25public:
26 // RTTI宣言
27 GX_RTTI_RESOURCE(GxResEffectEffekseer, GxResEffectBase)
28 // ClassBaseReference継承クラス用禁止宣言
29 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxResEffectEffekseer)
30
31
32 //-------------------------------------------------------------
34 //-------------------------------------------------------------
36
38 GxResEffectEffekseer(void);
40 void cleanup(void) override;
41
43 //-------------------------------------------------------------
45 //-------------------------------------------------------------
47
49 virtual void clear(void);
51 void createData(void);
53 constexpr void* getData(void) const { return _pReadBuffer; }
54protected:
55#if GX_DEVELOP
57 GxRtti* getUnitRtti(void) override;
58#endif //GX_DEVELOP
59
60private:
62 b32 load(GxStream& stream, u32 dataSize);
64 b32 save(GxStream& stream);
65
67 //-------------------------------------------------------------
69 //-------------------------------------------------------------
71protected:
72 void* _pReadBuffer;
73
75};
76
77#if GX_DEVELOP
78//===========================================================================
80//===========================================================================
81class GxResEffectEfk : public GxResEffectEffekseer
82{
83 //-----------------------------------------------------------
85 //-----------------------------------------------------------
87public:
88 // RTTI宣言
89 GX_RTTI_RESOURCE(GxResEffectEfk, GxResEffectEffekseer)
90 // ClassBaseReference継承クラス用禁止宣言
92
93
94 //-----------------------------------------------------------
96 //-----------------------------------------------------------
98
100 GxResEffectEfk(void){}
101
103 //-----------------------------------------------------------
105 //-----------------------------------------------------------
107
109 GX_FORCE_INLINE b32 finalize(void){ return true; }
110
111protected:
113 b32 load(GxStream& stream, u32 dataSize);
115 b32 save(GxStream& stream);
116
118};
119#endif //GX_DEVELOP
120
121//===========================================================================
123//===========================================================================
124class GxResModelEffekseer : public GxResBase
125{
126 //-----------------------------------------------------------
128 //-----------------------------------------------------------
130public:
131 // RTTI宣言
132 GX_RTTI_RESOURCE(GxResModelEffekseer, GxResBase)
133 // ClassBaseReference継承クラス用禁止宣言
134 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxResModelEffekseer)
135
136
137 //-------------------------------------------------------------
139 //-------------------------------------------------------------
141
143 GxResModelEffekseer(void);
145 void cleanup(void) override;
146
148 //-------------------------------------------------------------
150 //-------------------------------------------------------------
152
154 GX_FORCE_INLINE virtual void clear(void) { GX_SAFE_FREE_MEMORY(_pReadBuffer); }
156 constexpr void* getData(void) const { return _pReadBuffer; }
157
158private:
160 b32 load(GxStream& stream, u32 dataSize);
162 b32 save(GxStream& stream);
163
165 //-------------------------------------------------------------
167 //-------------------------------------------------------------
169protected:
170 void* _pReadBuffer;
171
173};
174
175#if GX_DEVELOP
176//===========================================================================
178//===========================================================================
179class GxResModelEfk : public GxResModelEffekseer
180{
181 //-----------------------------------------------------------
183 //-----------------------------------------------------------
185public:
186 // RTTI宣言
187 GX_RTTI_RESOURCE(GxResModelEfk, GxResModelEffekseer)
188 // ClassBaseReference継承クラス用禁止宣言
190
191
192 //-----------------------------------------------------------
194 //-----------------------------------------------------------
196
198 GxResModelEfk(void) {}
199
201 //-----------------------------------------------------------
203 //-----------------------------------------------------------
205
207 GX_FORCE_INLINE b32 finalize(void) { return true; }
208
209protected:
211 b32 load(GxStream& stream, u32 dataSize);
213 GX_FORCE_INLINE b32 save(GxStream& stream) { return GxResBase::saveXml(stream, GxResModelEfk::GX_RTTI); }
214
216};
217#endif //GX_DEVELOP
218
219GX_EFFECT_NAMESPACE_END()
220
221#endif //PLATFORM_EFFEKSEER_SUPPORT
#define GX_SAFE_FREE_MEMORY(pAddress)
Definition GxAllocator.h:594
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_RTTI_RESOURCE(__THIS__, __BASE__)
リソースクラス型情報宣言
Definition GxRttiResource.h:102
リソース基底クラス
Definition GxResBase.h:23
void cleanup(void) override
解放
Definition GxResBase.cpp:74
b32 load(GxStream &stream, u32 size)
ロード
Definition GxResBase.h:394
エフェクトリソース基礎クラス
Definition GxResEffectBase.h:18
実行時型情報クラス
Definition GxRtti.h:154
ストリーム基礎クラス
Definition GxStream.h:20
32bitブーリアン
Definition GxDefine.h:173