コード例 #1
0
        private void Canvas_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (!isMouseRightClicked)
            {
                Vector blockPos;
                switch (StageEditorOperator.paletteMode)
                {
                case PaletteMode.Player:

                    StageEditorOperator.imgEditorPlayer.Opacity = 1;

                    Canvas.SetLeft(StageEditorOperator.imgEditorPlayer, StageEditorOperator.memoryPlayerStartPos.X);
                    Canvas.SetTop(StageEditorOperator.imgEditorPlayer, StageEditorOperator.memoryPlayerStartPos.Y);

                    StageEditorOperator.paletteMode         = PaletteMode.None;
                    StageEditorWindow.ctlGridMain.IsEnabled = true;
                    stageEditor.Focus();
                    break;

                case PaletteMode.Block:

                    blockPos = SystemOperator.FromCodeToBlocks(e.GetPosition(mainCanvas));
                    StageEditorOperator.EditRemoveBlockOnMainCanvas(blockPos);

                    break;

                case PaletteMode.Object:
                    blockPos = SystemOperator.FromCodeToBlocks(e.GetPosition(mainCanvas));
                    StageEditorOperator.EditRemoveObjectOnMainCanvas(blockPos);
                    break;

                case PaletteMode.Enemy:
                    blockPos = SystemOperator.FromCodeToBlocks(e.GetPosition(mainCanvas));
                    StageEditorOperator.EditRemoveEnemyOnMainCanvas(blockPos);
                    break;

                case PaletteMode.Item:
                    blockPos = SystemOperator.FromCodeToBlocks(e.GetPosition(mainCanvas));
                    StageEditorOperator.EditRemoveItemOnMainCanvas(blockPos);
                    break;
                }

                isMouseRightClicked = true;
            }
        }
コード例 #2
0
        private void Canvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (!isMouseLeftClicked)
            {
                Vector blockPos;

                switch (StageEditorOperator.paletteMode)
                {
                case PaletteMode.Player:

                    StageEditorOperator.EditorPlayerStartPosDecision();
                    break;

                case PaletteMode.Block:

                    blockPos = SystemOperator.FromCodeToBlocks(e.GetPosition(mainCanvas));
                    StageEditorOperator.EditSetupBlockOnMainCanvas(blockPos);

                    break;

                case PaletteMode.Object:

                    blockPos = SystemOperator.FromCodeToBlocks(e.GetPosition(mainCanvas));
                    StageEditorOperator.EditSetupObjectOnMainCanvas(blockPos);

                    break;

                case PaletteMode.Enemy:
                    blockPos = SystemOperator.FromCodeToBlocks(e.GetPosition(mainCanvas));
                    StageEditorOperator.EditSetupEnemyOnMainCanvas(blockPos);
                    break;

                case PaletteMode.Item:
                    blockPos = SystemOperator.FromCodeToBlocks(e.GetPosition(mainCanvas));
                    StageEditorOperator.EditSetupItemOnMainCanvas(blockPos);
                    break;
                }


                isMouseLeftClicked = true;
            }
        }
コード例 #3
0
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            if (lsvStageOrder.SelectedIndex >= 0 && StageOrder.lstStageOrder.Count >= 2)
            {
                MessageBoxResult result =
                    MessageBox.Show("ステージ [ " + StageOrder.lstStageOrder[lsvStageOrder.SelectedIndex].name + " ]を削除します。\nよろしいですか?", "ステージの削除",
                                    MessageBoxButton.YesNo, MessageBoxImage.Warning);

                btnDelete.IsEnabled = false;


                if (result == MessageBoxResult.Yes)
                {
                    if (File.Exists("Assets/json/stage/" + StageOrder.lstStageOrder[lsvStageOrder.SelectedIndex].stageFileName))
                    {
                        File.Delete("Assets/json/stage/" + StageOrder.lstStageOrder[lsvStageOrder.SelectedIndex].stageFileName);
                    }

                    if (File.Exists("Assets/json/event/" + StageOrder.lstStageOrder[lsvStageOrder.SelectedIndex].eventFileName))
                    {
                        File.Delete("Assets/json/event/" + StageOrder.lstStageOrder[lsvStageOrder.SelectedIndex].eventFileName);
                    }

                    StageOrder.lstStageOrder.RemoveAt(lsvStageOrder.SelectedIndex);
                    StageOrder.OrderListWriting(StageOrder.lstStageOrder);

                    ListViewStageOrderUpdate();

                    //StageEditorDataReset
                    StageManager.stageNum = 0;
                    MainWindow.stageEditor.StageLoad();
                    MainWindow.stageEditor.StageEditorDataSetting();
                    StageEditorOperator.EditorPlayerPaletteSetting();
                }

                btnDelete.IsEnabled = true;
            }
        }
コード例 #4
0
        public static void GameTransitionController(Canvas canvas, Canvas caLife, Canvas caMana)
        {
            switch (gameTransition)
            {
            case GameTransitionType.Title:

                if (!endSplashLogo)
                {
                    splashLogoPhase = 4;
                    switch (splashLogoPhase)
                    {
                    case 0:

                        if (splashWaitTotal < 1000)
                        {
                            splashWaitTotal += MainWindow.elapsedTime;
                        }
                        else
                        {
                            splashLogoPhase++;
                            splashWaitTotal = 0;
                        }
                        break;

                    case 1:
                        if (screenFadeTotal < 1)
                        {
                            double temp = (double)MainWindow.elapsedTime / 2000;
                            screenFadeTotal += Math.Round(temp, 2);

                            ImageData.imgTitle[0].Opacity = screenFadeTotal;
                        }
                        else
                        {
                            ImageData.imgTitle[0].Opacity = 1;
                            splashLogoPhase++;
                        }
                        break;

                    case 2:

                        if (splashWaitTotal < 2000)
                        {
                            splashWaitTotal += MainWindow.elapsedTime;
                        }
                        else
                        {
                            splashLogoPhase++;
                            splashWaitTotal = 0;
                        }
                        break;

                    case 3:
                        if (screenFadeTotal > 0)
                        {
                            double temp = (double)MainWindow.elapsedTime / 2000;
                            screenFadeTotal -= Math.Round(temp, 2);

                            ImageData.imgTitle[0].Opacity = screenFadeTotal;
                        }
                        else
                        {
                            ImageData.imgTitle[0].Opacity = 0;
                            splashLogoPhase++;
                        }
                        break;

                    case 4:
                        if (splashWaitTotal < 1000)
                        {
                            splashWaitTotal += MainWindow.elapsedTime;
                        }
                        else
                        {
                            endSplashLogo   = true;
                            screenFadeTotal = 0;

                            Sound.SoundBgmSelector(BgmName.Opening);
                            Sound.bgm.Play();

                            MainWindow.TitleOpen(canvas);
                        }
                        break;
                    }
                }
                else
                {
                    MainWindow.countTime += MainWindow.elapsedTime;

                    if (MainWindow.countTime >= 1000)
                    {
                        MainWindow.titleStrSwitch = !MainWindow.titleStrSwitch;
                        MainWindow.countTime      = 0;

                        if (!MainWindow.titleStrSwitch)
                        {
                            ImageData.imgTitle[1].Visibility = Visibility.Hidden;
                        }
                        else
                        {
                            ImageData.imgTitle[1].Visibility = Visibility.Visible;
                        }
                    }
                }

                break;

            case GameTransitionType.StageInit:

                StageInit.InitBlockData();
                StageDataSetting.SetData();

                StageInit.StageBlockSet(canvas);
                StageManager.StageObjectsSetting(canvas);

                MainWindow.lblMode.Content = "ゲームモード:ステージ開始";
                gameTransition             = GameTransitionType.StageStart;

                break;

            case GameTransitionType.StageStart:

                if (!eventStart)
                {
                    duringTransition = true;

                    StageEvent.InitEvent();
                    eventCount = 0;
                    eventStart = true;
                }

                break;

            case GameTransitionType.StageDuring:

                if (StageManager.StageClearCheck())
                {
                    gameTransition             = GameTransitionType.StageEnd;
                    MainWindow.lblMode.Content = "ゲームモード:ステージ終了";
                }
                else
                {
                    if (growthEnemy)
                    {
                        SpawnEnemy.SpawnSelect(canvas, "");
                        growthEnemy = false;
                    }
                }

                break;

            case GameTransitionType.StageEnd:

                if (!eventStart)
                {
                    duringTransition = true;
                    eventStart       = true;
                }

                break;

            case GameTransitionType.StageNext:

                if (!stageTestPlay)
                {
                    StageManager.stageNum++;
                    if (StageManager.stageNum >= StageOrder.lstStageOrder.Count)
                    {
                        MainWindow.timerFrameUpdate.Stop();

                        MessageBox.Show("すべてのステージが終わりました。ゲームを終了します。", "ゲームの終了", MessageBoxButton.OK, MessageBoxImage.Information);

                        Application.Current.Shutdown();
                    }

                    StageInit.StageBlockRemove(canvas);
                    StageInit.StageObjectsRemove(canvas);
                    StageInit.StageEnemyRemove(canvas);
                    growthEnemy = false;
                    StageInit.StageItemRemove(canvas);
                    MainWindow.canScreenFade.Visibility = Visibility.Hidden;

                    StageManager.lstClearCondition.Clear();
                    StageManager.clearFlag = false;

                    MainWindow.lblMode.Content = "ゲームモード:ステージ準備";
                    gameTransition             = GameTransitionType.StageInit;
                }
                else
                {
                    MainWindow.timerFrameUpdate.Stop();
                    gameTransition         = GameTransitionType.EditMode;
                    stageTestPlay          = false;
                    StageManager.clearFlag = false;
                    MainWindow.canScreenFade.Visibility = Visibility.Hidden;

                    MainWindow.stageEditor.StageLoad();

                    MainWindow.stageEditor.StageEditorDataSetting();
                    StageEditorOperator.EditorPlayerPaletteSetting();

                    MainWindow.stageEditor.tbcEditSelect.IsEnabled       = true;
                    MainWindow.stageEditor.btnStageNumDecrease.IsEnabled = true;
                    MainWindow.stageEditor.btnStageNumIncrease.IsEnabled = true;
                    MainWindow.stageEditor.btnStageOrder.IsEnabled       = true;
                    MainWindow.stageEditor.btnStageTestPlay.IsEnabled    = true;
                    MainWindow.stageEditor.btnEventWindowOpen.IsEnabled  = true;
                }

                break;

            case GameTransitionType.EditMode:

                break;
            }
        }