OROCHI
 
Loading...
Searching...
No Matches
GxResToolConfig.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13GX_CORE_NAMESPACE_BEGIN()
14
15#if GX_DEVELOP
16//===========================================================================
18//===========================================================================
19class GxResToolConfig : public GxResBase
20{
21 //-----------------------------------------------------------
23 //-----------------------------------------------------------
25public:
26 GX_RTTI_RESOURCE(GxResToolConfig, GxResBase);
27 // ClassBaseReference継承クラス用禁止宣言
29
30 // インナークラス:設定データ
31 class GxConfigData;
32
34 //-----------------------------------------------------------
36 //-----------------------------------------------------------
38
40 GxResToolConfig(void);
41
43 //-----------------------------------------------------------
45 //-----------------------------------------------------------
47
49 constexpr void setConfigData( GxConfigData* pData ) { _pConfigData = pData; }
50
52 //-----------------------------------------------------------
54 //-----------------------------------------------------------
56protected:
61 GX_FORCE_INLINE virtual b32 load(GxStream& stream, u32 /*dataSize*/) { return loadXml(stream); }
62
66 GX_FORCE_INLINE virtual b32 save(GxStream& stream) { return saveXml(stream, GX_RTTI); }
67
69 //-----------------------------------------------------------
71 //-----------------------------------------------------------
73public:
74 GxConfigData* _pConfigData;
75
77};
78
79//===========================================================================
82//===========================================================================
83class GxResToolConfig::GxConfigData : public GxClassBase
84{
85 //-------------------------------------------------------------
87 //-------------------------------------------------------------
89public:
90 // RTTI定義
91 GX_RTTI_ABSTRACT_CLASS( GxConfigData, GxClassBase )
92 // ClassBase継承クラス用禁止宣言
93 GX_PROHIBIT_CLASS_BASE( GxConfigData )
94 // new, delete定義
95 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
96
97 static const GX_CSTR FOLDER_PATH;
98
100 //-------------------------------------------------------------
102 //-------------------------------------------------------------
104
106 GxConfigData(void);
108 ~GxConfigData( void );
109
111 //-------------------------------------------------------------
113 //-------------------------------------------------------------
115
117 GX_FORCE_INLINE void setFileNamme( GX_CSTR name ) { _fileName = name; }
119 constexpr GX_CSTR getFileName( void ) const { return _fileName.getString(); }
121 GX_CSTR getFilePath( void );
122
124 //-------------------------------------------------------------
126 //-------------------------------------------------------------
128private:
129 GxString _fileName;
130
132};
133
134#endif // GX_DEVELOP
135
136GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
#define GX_RTTI_RESOURCE(__THIS__, __BASE__)
リソースクラス型情報宣言
Definition GxRttiResource.h:102
オブジェクト基底クラス
Definition GxBase.h:88
リソース基底クラス
Definition GxResBase.h:23
b32 load(GxStream &stream, u32 size)
ロード
Definition GxResBase.h:394
ストリーム基礎クラス
Definition GxStream.h:20
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173