Class: TonGameData

ゲームの実行中データ(HP, 所持金, フラグなど)を管理するクラスです。
このクラスのインスタンスは自動的にシリアライズ(JSON化)され、セーブデータとして保存されます。

Relationship with TonSaveLoadMenu

TonGameData はリポジトリ(データコンテナ)としての役割を持ち、TonSaveLoadMenu によって操作されます。

Properties

標準で以下のプロパティを持っていますが、必要に応じて自由に拡張してください。

ここに定義すべき変数とは?
「ゲームを中断して再開したときに保持しておきたい情報」はすべてここに定義します。

Helper Methods

フラグや変数を安全かつ簡単に操作するためのメソッド群です。

void SetFlag(string flagName)

指定した名前のフラグをONにします。

void RemoveFlag(string flagName)

指定した名前のフラグをOFF(削除)にします。

bool CheckFlag(string flagName)

指定した名前のフラグがONになっているかを確認します。

void SetVar(string name, int val)

指定した名前の変数を設定します。

int GetVar(string name)

指定した名前の変数の値を取得します。設定されていない場合は 0 を返します。

Methods (Hooks)

void BeforeSave()

セーブ実行直前に呼ばれます。現在のプレイヤー座標をプロパティに反映するなど、保存前の準備処理を記述します。

void AfterLoad()

ロード完了直後(インスタンス差し替え後)に呼ばれます。シーンの遷移やプレイヤーの再配置など、復元処理を記述します。

Attributes

保存したくない一時的な変数には [JsonIgnore] 属性を付与してください。

[JsonIgnore]
public int BattleTempParam { get; set; }

Sample Code

// データの更新
Ton.Data.HP -= 10;
Ton.Data.SetFlag("BossDefeated");

// ロード後の復帰処理(TonGameData.cs内)
public void AfterLoad()
{
    // シーン遷移
    if (!string.IsNullOrEmpty(CurrentSceneName))
    {
         // シーン復元ロジック...
    }
}