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; } }
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; } }
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; } }
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; } }