OROCHI
 
Loading...
Searching...
No Matches
GxResLevel.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12GX_CORE_NAMESPACE_BEGIN()
13
14//===========================================================================
16//===========================================================================
17class GxResLevel : public GxResBase
18{
19 //-------------------------------------------------------------
21 //-------------------------------------------------------------
23public:
24#if GX_DEVELOP
25 friend class GxToolLevel;
26#endif //GX_DEVELOP
27
28 // RTTI定義
29 GX_RTTI_RESOURCE_NAME_ICON(GxResLevel, GxResBase, "レベルリソース", GxRtti::ICON_TYPE::LEVEL)
30 // GxClassBaseReference継承クラス用禁止宣言
32
33
34 //-----------------------------------------------------------
36 //-----------------------------------------------------------
38public:
40 GxResLevel( void );
42 void cleanup( void ) override;
43
45 //-----------------------------------------------------------
47 //-----------------------------------------------------------
49protected:
51 b32 load( GxStream& in, u32 dataSize );
52#if GX_DEVELOP
54 b32 save( GxStream& out );
55#endif //GX_DEVELOP
56
57public:
58#if GX_EDITOR
60 void getToolRtti( GxArray& arrayTool ) const override;
61#endif // GX_EDITOR
62
64 virtual void createUnit(void);
66 virtual void releaseAllUnit( void );
67#if GX_DEVELOP
69 void killAllUnit(void);
70#endif //GX_DEVELOP
71private:
73 void eraseAllUnit( void );
74
76 //-----------------------------------------------------------
78 //-----------------------------------------------------------
80public:
82 GX_FORCE_INLINE GxArrayClassBase* getUnitArray( void ) { return &_unitArray; }
83
85 //-----------------------------------------------------------
87 //-----------------------------------------------------------
89protected:
90 GX_CHAR* _pBuffer;
92
94
96};
97
98#if GX_DEVELOP
99//===========================================================================
101//===========================================================================
102class GxResLevelXml : public GxResLevel
103{
104 //-------------------------------------------------------------
106 //-------------------------------------------------------------
108public:
109 // RTTI定義
110 GX_RTTI_RESOURCE(GxResLevelXml, GxResLevel)
111 // GxClassBaseReference継承クラス用禁止宣言
113
114
115 //-----------------------------------------------------------
117 //-----------------------------------------------------------
119public:
121 GxResLevelXml( void ) {}
122
124 //-----------------------------------------------------------
126 //-----------------------------------------------------------
128protected:
130 GX_FORCE_INLINE b32 load(GxStream& in, u32 /*dataSize*/) { return GxResBase::loadXml(in); }
132 b32 save(GxStream& out);
134 b32 finalize(void);
135
137 void createUnit(void) override;
139 void releaseAllUnit(void) override;
140
142};
143#endif // GX_DEVELOP
144
145GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_RTTI_RESOURCE(__THIS__, __BASE__)
リソースクラス型情報宣言
Definition GxRttiResource.h:102
配列クラス
Definition GxArrayClassBase.h:18
配列クラス
Definition GxArray.h:18
リソース基底クラス
Definition GxResBase.h:23
レベルリソース
Definition GxResLevel.h:18
virtual void createUnit(void)
ユニット作成
Definition GxResLevel.cpp:109
GX_FORCE_INLINE GxArrayClassBase * getUnitArray(void)
ユニット配列取得
Definition GxResLevel.h:82
u32 _bufferSize
finalizeデータサイズ
Definition GxResLevel.h:91
GxArrayClassBase _unitArray
ユニット配列
Definition GxResLevel.h:93
b32 load(GxStream &in, u32 dataSize)
リソースのロード
Definition GxResLevel.cpp:50
virtual void releaseAllUnit(void)
ユニット全解放
Definition GxResLevel.cpp:143
GX_CHAR * _pBuffer
finalizeデータ
Definition GxResLevel.h:90
@ LEVEL
レベル
ストリーム基礎クラス
Definition GxStream.h:20
32bitブーリアン
Definition GxDefine.h:173