13GX_CORE_NAMESPACE_BEGIN()
16class GxToolResourceEditBase;
76 REGISTERED_NON_REPLACED,
91 void cleanup(
void)
override;
93 s32 release(
void)
override;
102 void createCallback(
void* pUser);
124 static b32 isModified(
GxStream& stream, u64 lastWriteTime, GX_CSTR resourcePath);
126 virtual u64 getSaveLastWriteTime(
void)
const;
135 static void registerCustomProperty(
void);
145 static u32 customPropertyGetSerializedBinarySize(GxProperty& property, GxTypedObject* pOwner, u32 index);
147 static void* customPropertySerializeBinary(
GxProperty& property,
GxTypedObject* pOwner, u32 index,
void* pData);
149 static const void* customPropertyDeserializeBinary(
GxProperty& property,
GxTypedObject* pOwner, u32 index,
const void* pData);
156 static void* serializeResourcePath(u8* pSerialize, GX_CSTR path, u32 length);
158 static const void* deserializeResourcePath(GX_STR path, u32 length,
const u8* pSerialized);
167 constexpr u64
getId(
void)
const {
return _id; }
169 GX_FORCE_INLINE
void setPath(GX_CSTR path) { _path = path; }
171 constexpr GX_CSTR
getPath(
void)
const {
return _path.getString(); }
175 constexpr u32
getSize(
void)
const {
return _size; }
184 (_asyncState == ASYNC_STATE::CANCEL_REQUAST); }
193 GX_CSTR getExtensionFinalized(
void)
const;
196 constexpr u32 getMagicNumber(void) const { return getRtti().getMagicNumber(); }
207 static void getReferencedResourceGuidList(
const GxRttiResource& rttiResource, GX_CSTR path,
GxArray& referencedGuidList);
213 constexpr void setId(u64
id) { _id = id; }
215 constexpr void setFileSize(u32 fileSize) { _fileSize = fileSize; }
217 constexpr void setSize(u32 size) { _size = size; }
242 GX_FORCE_INLINE
virtual void getToolRtti(
GxArray& )
const {}
244 GX_FORCE_INLINE
virtual GxRtti* getUnitRtti(
void ){
return nullptr; }
249 void getPropertyAttribute(
void* pValue)
const;
252 void getPropertyExtension(
void* pValue)
const;
254 void getPropertyRttiName(
void* pValue)
const;
267 ASYNC_STATE _asyncState;
268 ASYNC_PRIORITY _asyncPriority;
273 void* _pDataFromSystem;
313 GX_MEMSET(_padding, 0,
sizeof(_padding));
320 GX_MEMSET(_padding, 0,
sizeof(_padding));
353 constexpr u32
getVersion(u32 hierarcy = 0)
const {
return _version[hierarcy]; }
369 u32 _versionSavedNum;
396 GX_ASSERT(
false,
"load() method need override!!");
417GX_FORCE_INLINE
b32 GxResBase::loadXml(
GxStream& stream)
420 return serializer.deserializeXml(stream,
this,
getRtti());
428GX_FORCE_INLINE
b32 GxResBase::loadJson(
GxStream& stream)
431 return serializer.deserializeJson(stream,
this,
getRtti());
443 GX_ASSERT(
false,
"load() method need override!!");
469 return serializer.serializeXml(stream,
this, rttiResource, isDifference);
484 return serializer.serializeJson(stream,
this, rttiResource, isCompress, useRtti);
492GX_FORCE_INLINE
b32 GxResBase::finalize(
void)
505GX_FORCE_INLINE
b32 GxResBase::isModified(
GxStream& , u64 , GX_CSTR )
514GX_FORCE_INLINE u64 GxResBase::getSaveLastWriteTime(
void)
const
524GX_FORCE_INLINE
void GxResBase::getPropertyAttribute(
void* pValue)
const
534GX_FORCE_INLINE
void GxResBase::getPropertyExtension(
void* pValue)
const
536 *
reinterpret_cast<GX_CSTR*
>(pValue) =
getRtti().getExtension();
543GX_FORCE_INLINE
void GxResBase::getPropertyRttiName(
void* pValue)
const
545 *
reinterpret_cast<GX_CSTR*
>(pValue) =
getRtti().getName();
549GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_SET_CLASS_BASE_REFERENCE(__DST__, __SRC__)
オブジェクト設定(参照カウンタを使用する場合)
Definition GxBase.h:318
void GxTypedObject
その他
Definition GxDefine.h:213
u32 GX_HANDLE
ハンドル
Definition GxDefine.h:214
配列クラス
Definition GxArrayClassBase.h:18
配列クラス
Definition GxArray.h:18
参照オブジェクト基底クラス
Definition GxBase.h:122
virtual GxRtti & getRtti(void) const =0
Rttiの取得
static constexpr u32 VALUE_2
2
Definition GxMath.h:120
static constexpr u32 VALUE_256
256
Definition GxMath.h:127
static constexpr u32 VALUE_8
8
Definition GxMath.h:122
ALIGNMENT
メモリアライメント定義
Definition GxMemory.h:51
@ _128
128byteアライメント
Definition GxMemory.h:57
constexpr TYPE getType(void) const
種類を取得
Definition GxProperty.h:320
プロパティクラス
Definition GxProperty.h:48
const GxFunction & getFunction(void) const
関数を取得
Definition GxProperty.h:1025
リソース基底クラス
Definition GxResBase.h:23
constexpr GX_CSTR getOriginalPath(void) const
オリジナルパス取得
Definition GxResBase.h:202
GX_FORCE_INLINE b32 isUsable(void) const
使用可能判定
Definition GxResBase.h:188
GX_FORCE_INLINE b32 isAsyncState(ASYNC_STATE asyncState) const
非同期ステート判定
Definition GxResBase.h:181
GX_FORCE_INLINE void setResourceBaseAttribute(RESOURCE_BASE_ATTRIBUTE attribute, b32 enable)
リソース属性設定
Definition GxResBase.h:235
constexpr GX_CSTR getExtension(void) const
拡張子取得
Definition GxResBase.h:190
ASYNC_STATE
非同期ロード状態
Definition GxResBase.h:43
constexpr void setAsyncPriority(ASYNC_PRIORITY asyncPriority)
非同期優先度設定
Definition GxResBase.h:223
constexpr void setAsyncState(ASYNC_STATE asyncState)
非同期ステート設定
Definition GxResBase.h:221
GX_FORCE_INLINE void setUsable(b32 flag)
使用可能設定
Definition GxResBase.h:229
virtual GX_FORCE_INLINE void callback(void)
Definition GxResBase.h:132
constexpr void setId(u64 id)
ID設定
Definition GxResBase.h:213
constexpr void setFileSize(u32 fileSize)
ファイルサイズ設定
Definition GxResBase.h:215
GX_FORCE_INLINE b32 isAsyncStateWorking(void) const
非同期動作中判定
Definition GxResBase.h:183
static const u32 RESOURCE_VERSION
リソースバージョン定義
Definition GxResBase.h:61
GX_FORCE_INLINE void setPath(GX_CSTR path)
パス設定
Definition GxResBase.h:169
GX_FORCE_INLINE b32 isResourceBaseAttribute(RESOURCE_BASE_ATTRIBUTE attribute) const
リソース属性判定
Definition GxResBase.h:204
b32 loadBinary(GxStream &stream)
バイナリリソースのロード
Definition GxResBase.h:405
constexpr GX_HANDLE getAsyncHandle(void) const
非同期読込みハンドル取得
Definition GxResBase.h:225
constexpr void setAsyncHandle(GX_HANDLE handle)
非同期読込みハンドル設定
Definition GxResBase.h:227
b32 load(GxStream &stream, u32 size)
ロード
Definition GxResBase.h:394
constexpr void setSize(u32 size)
サイズ設定
Definition GxResBase.h:217
constexpr GxResBase * getConfig(void) const
コンフィグ取得
Definition GxResBase.h:177
constexpr u32 getSize(void) const
サイズ取得
Definition GxResBase.h:175
ASYNC_PRIORITY
非同期ロード優先
Definition GxResBase.h:55
constexpr u32 getFileSize(void) const
ファイルサイズ取得
Definition GxResBase.h:173
constexpr void * getDataFromSystem(void)
システム受け渡しデータを取得
Definition GxResBase.h:233
void createCallback(void *pUser)
生成時コールバック
Definition GxResBase.h:381
constexpr u64 getId(void) const
ID取得
Definition GxResBase.h:167
constexpr ASYNC_STATE getAsyncState(void) const
非同期ステート取得
Definition GxResBase.h:179
constexpr GX_CSTR getPath(void) const
パス取得
Definition GxResBase.h:171
GX_FORCE_INLINE GxZlib & getZlib(void)
Zlib取得
Definition GxResBase.h:231
GX_FORCE_INLINE void setOriginalPath(GX_CSTR path)
オリジナルパス設定
Definition GxResBase.h:200
RESOURCE_BASE_ATTRIBUTE
基底リソース属性定義
Definition GxResBase.h:72
GX_FORCE_INLINE void setConfig(GxResBase *pConfig)
コンフィグ設定
Definition GxResBase.h:219
constexpr ASYNC_PRIORITY getAsyncPriority(void) const
非同期優先度取得
Definition GxResBase.h:186
constexpr u32 getVersion(void) const
バージョン取得
Definition GxResBase.h:198
実行時型情報クラス
Definition GxRtti.h:154
constexpr u32 getAttribute(void) const
属性を取得
Definition GxRtti.h:380
リソース実行時型情報クラス
Definition GxRttiResource.h:188
COMPRESS_TYPE
圧縮タイプ定義
Definition GxRttiResource.h:205
シリアライザ
Definition GxSerializer.h:133
b32 deserializeBinary(GxStream &stream, GxTypedObject *pObject, const GxRtti &rtti)
デシリアライズ:バイナリ形式
Definition GxSerializer.cpp:739
b32 serializeBinary(GxStream &stream, GxTypedObject *pObject, const GxRtti &rtti, b32 isDifference=false)
シリアライズ:バイナリ形式
Definition GxSerializer.cpp:641
ストリーム基礎クラス
Definition GxStream.h:20
リソース非同期読み込み要求管理基本クラス
Definition GxSysResource.h:413
リソースコールバック管理クラス
Definition GxSysResource.h:353
リソース管理システムクラス
Definition GxSysResource.h:1092
GxZlib圧縮・展開処理クラス
Definition GxZlib.h:19
インデックス指定型フラグ
Definition GxStruct.h:1294
Definition GxSysResource.h:25
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173