[UE4][C++]Save関連の機能メモ

関連リンク

FMemoryWriter, FMemoryReaderについて

// FMemoryWriter と FMemoryReader は、それぞれ// TArray<uint8> を渡すctorを持つ。以下のような使い方ができる。class BinaryRecorder { TArray<uint8> RawData;
// LoadとSaveで共用。 // 共用なので、バイナリ読み書きの順番を意識せずに済むのがうれしい。 void LoadSave(FArchive& Ar, int32& Num) const { // ArがFMemoryWriterなら書き込み、FMemoryReaderなら読み込みになる Ar << Num; // 他に記録したいものがあればArに積んでいく。 }
void Save(int32 Num) { FMemoryWriter writer(this->RawData); this->LoadSave(writer, Num); // Numが書き込まれる }
int32 Load() const { int32 Ret = 0; FMemoryReader reader(this->RawData); this->LoadSave(reader, Ret); // retに読み込まれる return Ret; }};
    • 例えば、USaveGameを派生して上記のような拡張をすれば、バイナリで記録できるので、.savファイルを多少は難読化できるだろう。

        • とりあえず圧縮バイナリで保存しておけば、サイズも小さくなるしカジュアルなチートも抑止できるしで一石二鳥になりそうだ。

以上