ロードボタンを作り、オートセーブされた続きに飛ばしたい


お世話になります。
Selectionでロードボタンを作り、SendMessage等を使用し、オートセーブされたところから再開出来るようにしたいのですが、SendMessageからどこを呼べばよいのかわからないため、教えていただけませんでしょうか?
よろしくお願いいたします。
 

5 回答

スタッフ 2015年11月29日

SendMessageの先はこんな感じです。


 //オートロード
 void AutoLoad(AdvCommandSendMessage command)
 {
     Debug.Log("AutoLoad");
     StartCoroutine(CoAutoLoadSub());
 }

 IEnumerator CoAutoLoadSub()
 {
     //終了処理
     engine.ScenarioPlayer.ReserveEndScenario();
     //終了処理は1フレームかかるので遅らせる
     yield return 0;

     //オートセーブデータをロード
     engine.SaveManager.ReadAutoSaveData();

     if (engine.SaveManager.AutoSaveData == null || string.IsNullOrEmpty(engine.SaveManager.AutoSaveData.CurrentSenarioLabel))
      {
          //オートセーブデータのロード失敗
          Debug.LogError("AutoLoad is not yet load");
      }
      else
      {
          //オートセーブデータでゲーム開始
          engine.OpenLoadGame(engine.SaveManager.AutoSaveData);
      }
 }
#1

匿名 2015年11月29日

お世話になります。
ありがとうございます。
非常に近いところまで出来ましたが、このプログラムですとTitle画面が表示され、Titleの下(裏)でロードされています。(上記プログラムを通すとTitle画面が表示され、InspectorでTitle画面を非表示にすると、ロードされたゲーム画面になります。)
動的にTitle画面を非表示にするにはどうしたらよいでしょうか?
よろしくお願いいたします。

#2

スタッフ 2015年11月29日

さきほど、実験していて同じことがおきましたが、「オートセーブされてる箇所がシナリオ終了直前」などの場合にそうなるかもしれません。
つまり、ロード後すぐにゲームが終了してしまよう状態になっているのかと。
ゲームの途中でされたオートセーブデータで試してみてください。
 

#3

匿名 2015年11月29日

お世話になります。
ゲームの途中でされたオートセーブで上記現象になっています。
 
よろしくお願いします。

#4

匿名 2015年11月30日

お世話になります。
自己解決しました。
 
 

//オートセーブデータでゲーム開始
         engine.OpenLoadGame(engine.SaveManager.AutoSaveData);
の下にTitle画面をクローズするようにしましたらできました。

 
ありがとうございました。

#5

この質問に答える


« »