Exemple #1
0
        private static void ExecuteOpenDialog(object sender, ExecutedRelayEventArgs e)
        {
            var element = e.Parameter as GLEvaluationElement;

            if (element == null)
            {
                throw new ArgumentNullException("element");
            }

            try
            {
                var dialog = new GLEvaluationElementSettingDialog(element);
                dialog.SetCenterMouse();

                // 親コントロールを取得します。
                var glcontainer = element.GLContainer;
                var parent      = (glcontainer != null ? glcontainer.ParentForm : null);

                // 親を指定して評価値用のダイアログを開きます。
                dialog.ShowDialog(parent);
            }
            catch (Exception ex)
            {
                Util.ThrowIfFatal(ex);
                Log.ErrorException(ex,
                                   "評価値ダイアログの表示に失敗しました;;");
            }
        }
        private static void ExecuteRedoContinue(object sender, ExecutedRelayEventArgs e)
        {
            var element = e.Parameter as GLShogiElement;

            if (element == null)
            {
                throw new ArgumentNullException("element");
            }

            try
            {
                var autoPlay = new DefaultAutoPlay(
                    element.BoardModel, true, AutoPlayType.Redo)
                {
                    IsUseEffect = false,
                };

                //TODO element.StartAutoPlay(autoPlay);
            }
            catch (Exception ex)
            {
                Util.ThrowIfFatal(ex);
                DialogUtil.ShowError(
                    "局面を連続して進めることに失敗しました ( ̄ω ̄;)");
            }
        }
        private static void ExecuteUndo(object sender, ExecutedRelayEventArgs e)
        {
            var element = e.Parameter as GLShogiElement;

            if (element == null)
            {
                throw new ArgumentNullException("element");
            }

            try
            {
                element.BoardModel.Undo();
            }
            catch (Exception ex)
            {
                Util.ThrowIfFatal(ex);
                DialogUtil.ShowError(ex,
                                     "指し手をⅰ手戻すことができませんでした ( ̄ω ̄;)");
            }
        }
        private static void ExecuteGotoLastState(object sender, ExecutedRelayEventArgs e)
        {
            var element = e.Parameter as GLShogiElement;

            if (element == null)
            {
                throw new ArgumentNullException("element");
            }

            try
            {
                element.Board.RedoAll();
            }
            catch (Exception ex)
            {
                Util.ThrowIfFatal(ex);
                DialogUtil.ShowError(
                    "局面を最終局面にできませんでした ( ̄ω ̄;)");
            }
        }