OROCHI
 
Loading...
Searching...
No Matches
GxSaveData.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12GX_UTILITY_NAMESPACE_BEGIN()
13
14//===========================================================================
16//===========================================================================
17class GxSaveData : public GxClassBase
18{
19 //-----------------------------------------------------------
21 //-----------------------------------------------------------
23public:
24 // RTTI定義
25 GX_RTTI_CLASS(GxSaveData, GxClassBase)
26 // GxClassBase継承クラス用禁止宣言
28
29
30 //-----------------------------------------------------------
32 //-----------------------------------------------------------
34
36 GxSaveData(void);
37
39 //-----------------------------------------------------------
41 //-----------------------------------------------------------
43protected:
45 static b32 isExist(GX_CSTR filename);
47 b32 save(GX_CSTR filename);
49 b32 load(GX_CSTR filename);
51 virtual void updateVersion(u32 newVersion) { _version = newVersion; }
52private:
53#if defined(_PS4) || defined(_PS5)
55 static b32 mount(GX_CSTR path, GxNativeSaveDataMountResult& mountResult, const GxNativeSaveDataMountMode mode
56#if defined(_PS5)
57 , const GxNativeSaveDataTransactionId transactionId = 0
58#endif //_PS5
59 );
61 static b32 unmount(GxNativeSaveDataMountPoint* pMountPoint);
62#elif defined(_NX64)
64 static b32 mount(GX_CSTR filename);
66 static void unmount(GX_CSTR filename);
67#elif defined(_XBOX_XS)
69 static b32 mount(GxNativeSaveDataContainerHandle& pContainerHandle, GX_CSTR filename, b32 isWrite = false, GxNativeSaveDataUpdateHandle* ppUpdateHandle = nullptr);
71 static void unmount(GxNativeSaveDataContainerHandle pContainerHandle, GxNativeSaveDataUpdateHandle pUpdateHandle = nullptr);
72#endif //_XBOX_XS
73
75 //-------------------------------------------------------------
77 //-------------------------------------------------------------
79public:
81 constexpr void setVersion(u32 version) { _version = version; }
82#if defined(_WINDOWS)
84 GX_FORCE_INLINE static GX_CSTR getPath(void) { return _path.getString(); }
86 GX_FORCE_INLINE static void setPath(GX_CSTR path) { _path = path; }
87#elif defined(_PS4) || defined(_PS5)
89 GX_FORCE_INLINE void setTitle(GX_CSTR title) { _title = title; }
91 GX_FORCE_INLINE void setSubTitle(GX_CSTR subTitle) { _subTitle = subTitle; }
93 GX_FORCE_INLINE void setDetail(GX_CSTR detail) { _detail = detail; }
95 constexpr void setIcon(GxRenderTexture* pIcon) { _pIcon = pIcon; }
96#endif //_PS4 || _PS5
97
99 //-------------------------------------------------------------
101 //-------------------------------------------------------------
103protected:
105#if defined(_WINDOWS)
106 static GxString _path;
107#elif defined(_PS4) || defined(_PS5)
108 GxString _title;
109 GxString _subTitle;
110 GxString _detail;
111 GxRenderTexture* _pIcon;
112#endif //_PS4 || _PS5
113
115};
116
117//===========================================================================
119//===========================================================================
121{
122 //-----------------------------------------------------------
124 //-----------------------------------------------------------
126public:
127 // RTTI定義
128 GX_RTTI_CLASS(GxSaveDataSystem, GxSaveData)
129 // GxClassBase継承クラス用禁止宣言
131private:
132 static GX_CSTR FILE_NAME;
133
135 //-----------------------------------------------------------
137 //-----------------------------------------------------------
139public:
142
144 //-----------------------------------------------------------
146 //-----------------------------------------------------------
148public:
150 static b32 isExist(void);
152 b32 save(void);
154 b32 load(void);
155
157};
158
159//===========================================================================
161//===========================================================================
163{
164 //-----------------------------------------------------------
166 //-----------------------------------------------------------
168public:
169 // RTTI定義
170 GX_RTTI_CLASS(GxSaveDataGame, GxSaveData)
171 // GxClassBase継承クラス用禁止宣言
173private:
174 static GX_CSTR FILE_NAME;
175
177 //-----------------------------------------------------------
179 //-----------------------------------------------------------
181public:
184
186 //-----------------------------------------------------------
188 //-----------------------------------------------------------
190public:
192 static b32 isExist(u32 index);
194 b32 save(u32 index);
196 b32 load(u32 index);
197
199};
200
201GX_UTILITY_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
オブジェクト基底クラス
Definition GxBase.h:88
テクスチャクラス
Definition GxRenderTexture.h:19
ゲームセーブデータクラス
Definition GxSaveData.h:163
GxSaveDataGame(void)
デフォルトコンストラクタ
Definition GxSaveData.h:183
b32 load(u32 index)
読み込み
Definition GxSaveData.cpp:777
static b32 isExist(u32 index)
存在チェック
Definition GxSaveData.cpp:753
b32 save(u32 index)
保存
Definition GxSaveData.cpp:765
セーブデータクラス
Definition GxSaveData.h:18
virtual void updateVersion(u32 newVersion)
バージョン更新
Definition GxSaveData.h:51
u32 _version
バージョン番号
Definition GxSaveData.h:104
constexpr void setVersion(u32 version)
バージョン番号を設定
Definition GxSaveData.h:81
システムセーブデータクラス
Definition GxSaveData.h:121
b32 save(void)
保存
Definition GxSaveData.cpp:726
GxSaveDataSystem(void)
デフォルトコンストラクタ
Definition GxSaveData.h:141
b32 load(void)
読み込み
Definition GxSaveData.cpp:735
static b32 isExist(void)
存在チェック
Definition GxSaveData.cpp:717
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173