예제 #1
0
        // クイックセーブコマンド
        private void QuickSaveCommand()
        {
            GUI.LockGUI();

            // マウスカーソルを砂時計に
            GUI.ChangeStatus(GuiStatus.WaitCursor);

            // 中断データをセーブ
            SRC.DumpData(GUI.OpenQuikSaveStream(FileAccess.Write), SRCSaveKind.Quik);
            GUI.UnlockGUI();

            // マウスカーソルを元に戻す
            GUI.ChangeStatus(GuiStatus.Default);
        }
예제 #2
0
        // プレイを中断し、中断用データをセーブする
        private void DumpCommand()
        {
            // プレイを中断するか確認
            var suspendRes = GUI.Confirm("プレイを中断しますか?", "中断", GuiConfirmOption.OkCancel | GuiConfirmOption.Question);

            if (suspendRes != GuiDialogResult.Ok)
            {
                return;
            }

            // 中断データをセーブするファイル名を決定
            var fname = Path.GetFileNameWithoutExtension(SRC.ScenarioFileName) + "を中断.srcq";

            // XXX Streamを取った結果ファイル目が消え失せてしまった
            using (var saveStream = GUI.SelectSaveStream(SRCSaveKind.Suspend, fname))
            {
                if (saveStream == null)
                {
                    // キャンセル
                    return;
                }

                // マウスカーソルを砂時計に
                GUI.ChangeStatus(GuiStatus.WaitCursor);
                GUI.LockGUI();

                // 中断データをセーブ
                SRC.DumpData(saveStream, SRCSaveKind.Suspend);
            }
            // マウスカーソルを元に戻す
            GUI.ChangeStatus(GuiStatus.Default);
            GUI.MainFormHide();

            // ゲームを終了
            SRC.ExitGame();
        }