Exemplo n.º 1
0
Arquivo: Message.cs Projeto: 7474/SRC
        // フォームを閉じる
        private void frmMessage_FormClosed(object eventSender, FormClosedEventArgs eventArgs)
        {
            short ret;

            // SRCを終了するか確認
            ret = (short)Interaction.MsgBox("SRCを終了しますか?", (MsgBoxStyle)((int)MsgBoxStyle.OkCancel + (int)MsgBoxStyle.Question), "終了");
            switch (ret)
            {
            case 1:
            {
                // SRCを終了
                Hide();
                SRC.TerminateSRC();
                break;
            }

            case 2:
            {
                // 終了をキャンセル
                // UPGRADE_ISSUE: Event パラメータ Cancel はアップグレードされませんでした。 詳細については、'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="FB723E3C-1C06-4D2B-B083-E6CD0D334DA8"' をクリックしてください。
                Cancel = 1;
                break;
            }
            }
        }
Exemplo n.º 2
0
        private void AddAdditionalPilotIfNotExist(string uname, Units.Unit u)
        {
            var ud = SRC.UDList.Item(uname);

            if (ud.IsFeatureAvailable("追加パイロット"))
            {
                var fd = ud.Feature("追加パイロット");
                if (!SRC.PList.IsDefined(fd.Data))
                {
                    if (!SRC.PDList.IsDefined(fd.Data))
                    {
                        GUI.ErrorMessage(uname + "の追加パイロット「" + fd.Data + "」のデータが見つかりません");
                        SRC.TerminateSRC();
                    }

                    SRC.PList.Add(fd.Data, u.MainPilot().Level, u.Party0, gid: "");
                }
            }
        }
Exemplo n.º 3
0
Arquivo: Main.cs Projeto: 7474/SRC
        // フォームを閉じる
        private void frmMain_FormClosed(object eventSender, FormClosedEventArgs eventArgs)
        {
            short ret;
            var   IsErrorMessageVisible = default(bool);

            // エラーメッセージのダイアログは一番上に重ねられるため消去する必要がある
            if (My.MyProject.Forms.m_frmErrorMessage is object)
            {
                IsErrorMessageVisible = My.MyProject.Forms.frmErrorMessage.Visible;
            }

            if (IsErrorMessageVisible)
            {
                My.MyProject.Forms.frmErrorMessage.Hide();
            }

            // SRCの終了を確認
            ret = (short)Interaction.MsgBox("SRCを終了しますか?", (MsgBoxStyle)((int)MsgBoxStyle.OkCancel + (int)MsgBoxStyle.Question), "終了");
            switch (ret)
            {
            case 1:
            {
                // SRCを終了
                SRC.TerminateSRC();
                break;
            }

            case 2:
            {
                // 終了をキャンセル
                // UPGRADE_ISSUE: Event パラメータ Cancel はアップグレードされませんでした。 詳細については、'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="FB723E3C-1C06-4D2B-B083-E6CD0D334DA8"' をクリックしてください。
                Cancel = 1;
                break;
            }
            }

            // エラーメッセージを表示
            if (IsErrorMessageVisible)
            {
                My.MyProject.Forms.frmErrorMessage.Show();
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        // メッセージデータをファイルからロード
        public void Load(ref string fname)
        {
            short       FileNumber;
            short       ret;
            int         line_num;
            var         line_buf = default(string);
            MessageData md;
            var         is_effect = default(bool);
            string      sname, msg;
            string      data_name;
            string      err_msg;

            // 特殊効果データor戦闘アニメデータか?
            if (Strings.InStr(Strings.LCase(fname), "effect.txt") > 0 | Strings.InStr(Strings.LCase(fname), "animation.txt") > 0)
            {
                is_effect = true;
            }
            ;
#error Cannot convert OnErrorGoToStatementSyntax - see comment for details

            /* Cannot convert OnErrorGoToStatementSyntax, CONVERSION ERROR: Conversion for OnErrorGoToLabelStatement not implemented, please report this issue in 'On Error GoTo ErrorHandler' at character 2904
             *
             *
             * Input:
             *
             *      On Error GoTo ErrorHandler
             *
             */
            FileNumber = (short)FileSystem.FreeFile();
            FileSystem.FileOpen(FileNumber, fname, OpenMode.Input, OpenAccess.Read);
            line_num = 0;
            while (true)
            {
                data_name = "";
                do
                {
                    if (FileSystem.EOF((int)FileNumber))
                    {
                        FileSystem.FileClose((int)FileNumber);
                        return;
                    }

                    GeneralLib.GetLine(ref FileNumber, ref line_buf, ref line_num);
                }while (Strings.Len(line_buf) == 0);
                if (Strings.InStr(line_buf, ",") > 0)
                {
                    err_msg = "名称の設定が抜けています。";
                    ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                    /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 3656
                     *
                     *
                     * Input:
                     *              Error(0)
                     *
                     */
                }

                data_name = line_buf;
                if (Strings.InStr(data_name, " ") > 0)
                {
                    err_msg = "名称に半角スペースは使用出来ません。";
                    ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                    /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 3827
                     *
                     *
                     * Input:
                     *              Error(0)
                     *
                     */
                }

                if (Strings.InStr(data_name, "(") > 0 | Strings.InStr(data_name, ")") > 0)
                {
                    err_msg = "名称に全角括弧は使用出来ません。";
                    ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                    /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 4027
                     *
                     *
                     * Input:
                     *              Error(0)
                     *
                     */
                }

                if (Strings.InStr(data_name, "\"") > 0)
                {
                    err_msg = "名称に\"は使用出来ません。";
                    ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                    /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 4160
                     *
                     *
                     * Input:
                     *              Error(0)
                     *
                     */
                }

                // 重複して定義されたデータの場合
                object argIndex3 = (object)data_name;
                if (IsDefined(ref argIndex3))
                {
                    if (!is_effect)
                    {
                        // パイロットメッセージの場合は後から定義されたものを優先
                        object argIndex1 = (object)data_name;
                        Delete(ref argIndex1);
                        md = Add(ref data_name);
                    }
                    else
                    {
                        // 特殊効果データの場合は既存のものに追加
                        object argIndex2 = (object)data_name;
                        md = Item(ref argIndex2);
                    }
                }
                else
                {
                    md = Add(ref data_name);
                }

                GeneralLib.GetLine(ref FileNumber, ref line_buf, ref line_num);
                while (Strings.Len(line_buf) > 0)
                {
                    ret = (short)Strings.InStr(line_buf, ",");
                    if ((int)ret < 2)
                    {
                        ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                        /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 4751
                         *
                         *
                         * Input:
                         *                      Error(0)
                         *
                         */
                    }

                    sname = Strings.Left(line_buf, (int)ret - 1);
                    msg   = Strings.Trim(Strings.Mid(line_buf, (int)ret + 1));
                    if (Strings.Len(sname) == 0)
                    {
                        err_msg = "シチュエーションの指定が抜けています。";
                        ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                        /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 5091
                         *
                         *
                         * Input:
                         *                      Error(0)
                         *
                         */
                    }

                    md.AddMessage(ref sname, ref msg);
                    if (FileSystem.EOF((int)FileNumber))
                    {
                        FileSystem.FileClose((int)FileNumber);
                        return;
                    }

                    GeneralLib.GetLine(ref FileNumber, ref line_buf, ref line_num);
                }
            }

ErrorHandler:
            ;

            // エラー処理
            if (line_num == 0)
            {
                string argmsg = fname + "が開けません。";
                GUI.ErrorMessage(ref argmsg);
            }
            else
            {
                FileSystem.FileClose((int)FileNumber);
                string argmsg1 = "";
                GUI.DataErrorMessage(ref argmsg1, ref fname, (short)line_num, ref line_buf, ref data_name);
            }

            SRC.TerminateSRC();
        }
Exemplo n.º 6
0
        // データファイル fname からデータをロード
        public void Load(ref string fname)
        {
            short      FileNumber;
            short      i, ret;
            int        line_num;
            var        line_buf = default(string);
            string     pilot_list;
            Dialog     d;
            DialogData dd;
            string     err_msg;
            string     pname, msg;

            ;
#error Cannot convert OnErrorGoToStatementSyntax - see comment for details

            /* Cannot convert OnErrorGoToStatementSyntax, CONVERSION ERROR: Conversion for OnErrorGoToLabelStatement not implemented, please report this issue in 'On Error GoTo ErrorHandler' at character 2594
             *
             *
             * Input:
             *
             *      On Error GoTo ErrorHandler
             *
             */
            FileNumber = (short)FileSystem.FreeFile();
            FileSystem.FileOpen(FileNumber, fname, OpenMode.Input, OpenAccess.Read);
            line_num = 0;
            while (true)
            {
                do
                {
                    if (FileSystem.EOF((int)FileNumber))
                    {
                        FileSystem.FileClose((int)FileNumber);
                        return;
                    }

                    GeneralLib.GetLine(ref FileNumber, ref line_buf, ref line_num);
                }while (Strings.Len(line_buf) == 0);

                // UPGRADE_NOTE: オブジェクト dd をガベージ コレクトするまでこのオブジェクトを破棄することはできません。 詳細については、'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6E35BFF6-CD74-4B09-9689-3E1A43DF8969"' をクリックしてください。
                dd = null;

                // パイロット名一覧
                if ((int)GeneralLib.LLength(ref line_buf) == 0)
                {
                    ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                    /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 3503
                     *
                     *
                     * Input:
                     *              Error(0)
                     *
                     */
                }

                pilot_list = "";
                var loopTo = GeneralLib.LLength(ref line_buf);
                for (i = (short)1; i <= loopTo; i++)
                {
                    pilot_list = pilot_list + " " + GeneralLib.LIndex(ref line_buf, i);
                }
                pilot_list = Strings.Trim(pilot_list);
                object argIndex2 = (object)pilot_list;
                if (IsDefined(ref argIndex2))
                {
                    object argIndex1 = (object)pilot_list;
                    Delete(ref argIndex1);
                }

                dd = Add(ref pilot_list);
                GeneralLib.GetLine(ref FileNumber, ref line_buf, ref line_num);
                while (Strings.Len(line_buf) > 0)
                {
                    // シチューション
                    d = dd.AddDialog(ref line_buf);
                    while (true)
                    {
                        if (FileSystem.EOF((int)FileNumber))
                        {
                            FileSystem.FileClose((int)FileNumber);
                            return;
                        }

                        GeneralLib.GetLine(ref FileNumber, ref line_buf, ref line_num);

                        // 話者
                        ret = (short)Strings.InStr(line_buf, ",");
                        if ((int)ret == 0)
                        {
                            break;
                        }

                        pname = Strings.Left(line_buf, (int)ret - 1);

                        // 指定した話者のデータが存在するかチェック。
                        // ただし合体技のパートナーは場合は他の作品のパイロットであることも
                        // あるので話者チェックを行わない。
                        if (Strings.Left(pname, 1) != "@")
                        {
                            bool localIsDefined()
                            {
                                object argIndex1 = (object)pname; var ret = SRC.PDList.IsDefined(ref argIndex1); return(ret);
                            }

                            bool localIsDefined1()
                            {
                                object argIndex1 = (object)pname; var ret = SRC.NPDList.IsDefined(ref argIndex1); return(ret);
                            }

                            if (!localIsDefined() & !localIsDefined1() & pname != "システム")
                            {
                                err_msg = "パイロット「" + pname + "」が定義されていません。";
                                ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                                /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 4922
                                 *
                                 *
                                 * Input:
                                 *                          Error(0)
                                 *
                                 */
                            }
                        }

                        // メッセージ
                        if (Strings.Len(line_buf) == (int)ret)
                        {
                            err_msg = "メッセージが定義されていません。";
                            ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                            /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 5092
                             *
                             *
                             * Input:
                             *                      Error(0)
                             *
                             */
                        }

                        msg = Strings.Trim(Strings.Mid(line_buf, (int)ret + 1));
                        d.AddMessage(ref pname, ref msg);
                    }
                }
            }

ErrorHandler:
            ;
            if (line_num == 0)
            {
                string argmsg = fname + "が開けません。";
                GUI.ErrorMessage(ref argmsg);
            }
            else
            {
                FileSystem.FileClose((int)FileNumber);
                if (dd is null)
                {
                    string argdname = "";
                    GUI.DataErrorMessage(ref err_msg, ref fname, (short)line_num, ref line_buf, ref argdname);
                }
                else
                {
                    GUI.DataErrorMessage(ref err_msg, ref fname, (short)line_num, ref line_buf, ref dd.Name);
                }
            }

            SRC.TerminateSRC();
        }
Exemplo n.º 7
0
Arquivo: QuitCmd.cs Projeto: 7474/SRC
 protected override int ExecInternal()
 {
     SRC.TerminateSRC();
     return(-1);
 }
Exemplo n.º 8
0
        // データファイル fname からデータをロード
        public void Load(ref string fname)
        {
            short         FileNumber;
            int           line_num;
            var           line_buf = default(string);
            AliasDataType ad;
            string        data_name;
            string        err_msg;

            ;
#error Cannot convert OnErrorGoToStatementSyntax - see comment for details

            /* Cannot convert OnErrorGoToStatementSyntax, CONVERSION ERROR: Conversion for OnErrorGoToLabelStatement not implemented, please report this issue in 'On Error GoTo ErrorHandler' at character 2322
             *
             *
             * Input:
             *
             *      On Error GoTo ErrorHandler
             *
             */
            FileNumber = (short)FileSystem.FreeFile();
            FileSystem.FileOpen(FileNumber, fname, OpenMode.Input, OpenAccess.Read);
            line_num = 0;
            while (true)
            {
                data_name = "";
                do
                {
                    if (FileSystem.EOF((int)FileNumber))
                    {
                        FileSystem.FileClose((int)FileNumber);
                        return;
                    }

                    GeneralLib.GetLine(ref FileNumber, ref line_buf, ref line_num);
                }while (Strings.Len(line_buf) == 0);
                if (Strings.InStr(line_buf, ",") > 0)
                {
                    err_msg = "名称の設定が抜けています。";
                    ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                    /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 3074
                     *
                     *
                     * Input:
                     *              Error(0)
                     *
                     */
                }

                data_name = line_buf;
                if (Strings.InStr(data_name, " ") > 0)
                {
                    err_msg = "名称に半角スペースは使用出来ません。";
                    ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                    /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 3245
                     *
                     *
                     * Input:
                     *              Error(0)
                     *
                     */
                }

                if (Strings.InStr(data_name, "(") > 0 | Strings.InStr(data_name, ")") > 0)
                {
                    err_msg = "名称に全角括弧は使用出来ません。";
                    ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                    /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 3445
                     *
                     *
                     * Input:
                     *              Error(0)
                     *
                     */
                }

                if (Strings.InStr(data_name, "\"") > 0)
                {
                    err_msg = "名称に\"は使用出来ません。";
                    ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                    /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 3578
                     *
                     *
                     * Input:
                     *              Error(0)
                     *
                     */
                }

                object argIndex2 = (object)data_name;
                if (IsDefined(ref argIndex2))
                {
                    // すでに定義されているエリアスのデータであれば置き換える
                    object argIndex1 = (object)data_name;
                    Delete(ref argIndex1);
                }

                ad = Add(ref data_name);
                while (true)
                {
                    if (FileSystem.EOF((int)FileNumber))
                    {
                        FileSystem.FileClose((int)FileNumber);
                        return;
                    }

                    GeneralLib.GetLine(ref FileNumber, ref line_buf, ref line_num);
                    if (Strings.Len(line_buf) == 0)
                    {
                        break;
                    }

                    ad.AddAlias(line_buf);
                }

                if ((int)ad.Count == 0)
                {
                    err_msg = "エリアス対象のデータが定義されていません。";
                    ;
#error Cannot convert ErrorStatementSyntax - see comment for details

                    /* Cannot convert ErrorStatementSyntax, CONVERSION ERROR: Conversion for ErrorStatement not implemented, please report this issue in 'Error(0)' at character 4239
                     *
                     *
                     * Input:
                     *                  Error(0)
                     *
                     */
                }
            }

ErrorHandler:
            ;

            // エラー処理
            if (line_num == 0)
            {
                string argmsg = fname + "が開けません。";
                GUI.ErrorMessage(ref argmsg);
            }
            else
            {
                FileSystem.FileClose((int)FileNumber);
                GUI.DataErrorMessage(ref err_msg, ref fname, (short)line_num, ref line_buf, ref data_name);
            }

            SRC.TerminateSRC();
        }
Exemplo n.º 9
0
        // データファイル fname からデータをロード
        public void Load(ref string fname)
        {
            short            FileNumber;
            int              line_num;
            var              line_buf = default(string);
            BattleConfigData cd;
            string           data_name;
            string           err_msg;

            ;
#error Cannot convert OnErrorGoToStatementSyntax - see comment for details

            /* Cannot convert OnErrorGoToStatementSyntax, CONVERSION ERROR: Conversion for OnErrorGoToLabelStatement not implemented, please report this issue in 'On Error GoTo ErrorHandler' at character 2386
             *
             *
             * Input:
             *
             *      On Error GoTo ErrorHandler
             *
             */
            FileNumber = (short)FileSystem.FreeFile();
            FileSystem.FileOpen(FileNumber, fname, OpenMode.Input, OpenAccess.Read);
            line_num = 0;
            while (true)
            {
                data_name = "";
                do
                {
                    if (FileSystem.EOF(FileNumber))
                    {
                        FileSystem.FileClose((int)FileNumber);
                        return;
                    }

                    GeneralLib.GetLine(ref FileNumber, ref line_buf, ref line_num);
                }while (Strings.Len(line_buf) == 0);
                data_name = line_buf;
                object argIndex2 = data_name;
                if (IsDefined(ref argIndex2))
                {
                    // すでに定義されているエリアスのデータであれば置き換える
                    object argIndex1 = data_name;
                    Delete(ref argIndex1);
                }

                cd = Add(ref data_name);
                while (true)
                {
                    if (FileSystem.EOF(FileNumber))
                    {
                        FileSystem.FileClose((int)FileNumber);
                        return;
                    }

                    GeneralLib.GetLine(ref FileNumber, ref line_buf, ref line_num);
                    if (Strings.Len(line_buf) == 0)
                    {
                        break;
                    }

                    cd.ConfigCalc = line_buf;
                }
            }

ErrorHandler:
            ;

            // エラー処理
            if (line_num == 0)
            {
                string argmsg = fname + "が開けません。";
                GUI.ErrorMessage(ref argmsg);
            }
            else
            {
                FileSystem.FileClose((int)FileNumber);
                GUI.DataErrorMessage(ref err_msg, ref fname, (short)line_num, ref line_buf, ref data_name);
            }

            SRC.TerminateSRC();
        }