// リスタートコマンド private void RestartCommand() { int ret; // リスタートを行うか確認 var suspendRes = GUI.Confirm("リスタートしますか?", "リスタート", GuiConfirmOption.OkCancel | GuiConfirmOption.Question); if (suspendRes != GuiDialogResult.Ok) { return; } GUI.LockGUI(); SRC.RestoreData(Path.Combine(SRC.ScenarioPath, "_リスタート.srcq"), SRCSaveKind.Restart); GUI.UnlockGUI(); }
// クイックロードコマンド private void QuickLoadCommand() { // ロードを行うか確認 var suspendRes = GUI.Confirm("データをロードしますか?", "クイックロード", GuiConfirmOption.OkCancel | GuiConfirmOption.Question); if (suspendRes != GuiDialogResult.Ok) { return; } GUI.LockGUI(); SRC.RestoreData(GUI.OpenQuikSaveStream(FileAccess.Read), SRCSaveKind.Quik); // 画面を書き直してステータスを表示 GUI.RedrawScreen(); Status.DisplayGlobalStatus(); GUI.UnlockGUI(); }
protected override int ExecInternal() { GUI.LockGUI(); SRC.GUIStatus.ClearUnitStatus(); Sound.StopBGM(); if (SRC.FileSystem.FileExists(SRC.LastSaveDataFileName)) { // セーブしたファイルが存在すればそれをロード SRC.RestoreData(SRC.LastSaveDataFileName, SRCSaveKind.Quik); } else { // セーブファイルが見つからなければ強制終了 GUI.ErrorMessage("セーブデータが見つかりません"); SRC.TerminateSRC(); } // TODO 詰まないように乱数系列をリセット //// 詰まないように乱数系列をリセット //GeneralLib.RndSeed = GeneralLib.RndSeed + 1; //GeneralLib.RndReset(); // 再開イベントによるマップ画像の書き換え処理を行う Event.HandleEvent("再開"); Map.IsMapDirty = false; // 画面を書き直してステータスを表示 GUI.RedrawScreen(); SRC.GUIStatus.DisplayGlobalStatus(); GUI.MainFormShow(); // 操作可能にする Commands.CommandState = "ユニット選択"; GUI.UnlockGUI(); SRC.IsScenarioFinished = true; return(-1); }