>セーブ位置が Selection の途中であった場合、同じ選択肢が再度表示されてしまう挙動を確認しました。
これは、先ほどの説明にあったこの状態です。全てというのは、キャラの位置や色に限らずセーブデータの対象になっている全てのオブジェクトです。
>これはパラメーターに限った話ではなく、たとえばキャラクターの位置や色など、全てにおいて同じことが起きます。
セーブデータを即時更新したセーブデータであっても、再開時にはページの冒頭からコマンドを実行しなおすので、
コマンドのあるページ内でそのメソッドを呼ぶと、重複して実行されて正常に動作しないコマンドは全て正常に動作しないと思います。
即時更新のプログラムを呼ぶなら、何もコマンドがないページで使用するしかないと思います。
>もし、パラメーターのみを更新し、セーブ時に正しく保存できる仕組みや機能、またはそのための実装例をご提供いただけるようでしたら、大変ありがたく存じます。
承知しました。プログラムを
更新したので添付のパッケージファイルをインポートしてください。
(unitypackageの使い方などの詳細はこちらをご確認ください)
セーブデータ用のクラスにWriteParamというパラメーターのバッファのみを即時上書き更新するメソッドを追加しました。
次のようにして使用してみてください。
public class Sample : MonoBehaviour
{
public AdvEngine advEngine;
public void UpdateAutoSaveParamOnly()
{
advEngine.SaveManager.AutoSaveData.WriteParam(advEngine.Param);
}
}
パラメーター以外のセーブデータは通常通りになります。
ただし、実行したページ内にParamコマンドなどパラメーター操作コマンドがある場合、
セーブ前の流れ
・Paramコマンド実行
・WriteParamメソッドによってパラメーターのみセーブデータに上書き
・セーブファイル書き込み
ロード後の流れ
・セーブファイルをロード
・セーブデータからParamコマンド実行後のパラメーターの内容が読み込まれる
・ページの冒頭からコマンド再開されていく
・Paramコマンドが再び実行される
となり、Paramコマンドが実質重複して実行されるので注意してください。
2026年1月13日火曜日 20:44:04 UTC+9 菲特茶 FateTea: