OROCHI
 
Loading...
Searching...
No Matches
GxResPlayLogProject.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12#if GX_DEVELOP
13GX_UTILITY_NAMESPACE_BEGIN()
14//===========================================================================
16//===========================================================================
17class GxResPlayLogProject : public GxResBase
18{
19 //-----------------------------------------------------------
21 //-----------------------------------------------------------
23public:
24 // RTTI 宣言
25 GX_RTTI_RESOURCE_NAME(GxResPlayLogProject, GxResBase, "プレイログプロジェクトリソース");
26 // GxClassBaseReference 継承クラス用禁止宣言
27 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxResPlayLogProject);
28
30 class GxStage : public GxClassBase
31 {
32 //-----------------------------------------------------------
34 //-----------------------------------------------------------
36 public:
37 friend class GxResPlayLogProject;
38
39 // RTTI定義
40 GX_RTTI_CLASS(GxResPlayLogProject::GxStage, GxClassBase)
41
42
43 //-----------------------------------------------------------
45 //-----------------------------------------------------------
47
49 GxStage(void) : _floor(1) {}
51 ~GxStage(void) override {}
52
54 //-----------------------------------------------------------
56 //-----------------------------------------------------------
58
59 GxString _stageName;
60 s32 _floor;
61 GxString _imagePath;
62 GxPoint2 _center;
63 GxSize _size;
64 AXIS _cameraAxis;
65
67 };
68
70 //-----------------------------------------------------------
72 //-----------------------------------------------------------
74
76 GxResPlayLogProject(void);
77
79 //-----------------------------------------------------------
81 //-----------------------------------------------------------
83
85 void cleanup(void) override;
86protected:
88 b32 load(GxStream& in, u32 dataSize);
89#if GX_DEVELOP
91 b32 save(GxStream& out);
92#endif // GX_DEVELOP
93
95 //-----------------------------------------------------------
97 //-----------------------------------------------------------
99public:
101 GxStage* addStageData(void);
103 void eraseStageData(GxStage* pStage);
105 constexpr GxStage* getStageData(u32 index) const { GX_ASSERT(index < _stages.getCount(), "index over"); return static_cast<GxStage*>(_stages[index]); }
107 constexpr u32 getStageCount(void) const { return _stages.getCount(); }
108
110 //-----------------------------------------------------------
112 //-----------------------------------------------------------
114protected:
115 b32 _isLeftHand;
116 GxArrayClassBase _stages;
117
119};
120
121//===========================================================================
123//===========================================================================
124class GxResPlayLogProjectJson : public GxResPlayLogProject
125{
126 //-----------------------------------------------------------
128 //-----------------------------------------------------------
130public:
131 // RTTI宣言
132 GX_RTTI_RESOURCE(GxResPlayLogProjectJson, GxResPlayLogProject);
133 // GxClassBaseReference 継承クラス用禁止宣言
134 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxResPlayLogProjectJson);
135
137 //-----------------------------------------------------------
139 //-----------------------------------------------------------
141
143 GxResPlayLogProjectJson(void);
144
146 //-----------------------------------------------------------
148 //-----------------------------------------------------------
150
152 b32 finalized(void);
153#if GX_EDITOR
155 void getToolRtti(GxArray& arrayTool) const override;
156#endif //GX_EDITOR
157
158protected:
160 b32 load(GxStream& in, u32 dataSize);
162 b32 save(GxStream& out);
163
165};
166
167GX_UTILITY_NAMESPACE_END()
168
169#endif // GX_DEVELOP
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
AXIS
軸方向
Definition GxMath.h:37
#define GX_RTTI_RESOURCE(__THIS__, __BASE__)
リソースクラス型情報宣言
Definition GxRttiResource.h:102
配列クラス
Definition GxArrayClassBase.h:18
配列クラス
Definition GxArray.h:18
オブジェクト基底クラス
Definition GxBase.h:88
リソース基底クラス
Definition GxResBase.h:23
ストリーム基礎クラス
Definition GxStream.h:20
座標
Definition GxStruct.h:867
サイズ
Definition GxStruct.h:730
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173