diff --git a/OpenTaiko/src/Stages/07.Game/CStage演奏画面共通.cs b/OpenTaiko/src/Stages/07.Game/CStage演奏画面共通.cs index 6ec35cde..0d5090c4 100644 --- a/OpenTaiko/src/Stages/07.Game/CStage演奏画面共通.cs +++ b/OpenTaiko/src/Stages/07.Game/CStage演奏画面共通.cs @@ -692,7 +692,7 @@ namespace OpenTaiko { public CAct演奏ステージ失敗 actStageFailed; protected CAct演奏スクロール速度 act譜面スクロール速度; protected CActImplRoll actRoll; - protected CActImplBalloon actBalloon; + public CActImplBalloon actBalloon; public CActImplCharacter actChara; protected CActImplRollEffect actRollChara; protected CActImplComboBalloon actComboBalloon; diff --git a/OpenTaiko/src/Stages/07.Game/Taiko/CActImplBalloon.cs b/OpenTaiko/src/Stages/07.Game/Taiko/CActImplBalloon.cs index c67dee5f..f78ff179 100644 --- a/OpenTaiko/src/Stages/07.Game/Taiko/CActImplBalloon.cs +++ b/OpenTaiko/src/Stages/07.Game/Taiko/CActImplBalloon.cs @@ -48,9 +48,18 @@ namespace OpenTaiko { return base.Draw(); } - public void KusuIn() => KusudamaScript.KusuIn(); - public void KusuBroke() => KusudamaScript.KusuBroke(); - public void KusuMiss() => KusudamaScript.KusuMiss(); + public void KusuIn() { + KusudamaScript.KusuIn(); + KusudamaIsActive = true; + } + public void KusuBroke() { + KusudamaScript.KusuBroke(); + KusudamaIsActive = false; + } + public void KusuMiss() { + KusudamaScript.KusuMiss(); + KusudamaIsActive = false; + } public enum EBalloonType { BALLOON, @@ -58,11 +67,15 @@ namespace OpenTaiko { FUSEROLL } + public bool KusudamaIsActive { get; private set; } = false; + public void tDrawKusudama() { if (!OpenTaiko.stage演奏ドラム画面.bPAUSE) { KusudamaScript.Update(); } - KusudamaScript.Draw(); + if (!(OpenTaiko.stage演奏ドラム画面.bPAUSE && OpenTaiko.ConfigIni.bTokkunMode)) { + KusudamaScript.Draw(); + } } public int On進行描画(int n連打ノルマ, int n連打数, int player, EBalloonType btype) { @@ -141,7 +154,8 @@ namespace OpenTaiko { if (TJAPlayer3.Tx.Kusudama != null) TJAPlayer3.Tx.Kusudama.t2D描画(0, 0); */ - this.tKusudamaNumber(n連打数); + if (!(OpenTaiko.stage演奏ドラム画面.bPAUSE && OpenTaiko.ConfigIni.bTokkunMode)) + this.tKusudamaNumber(n連打数); } //CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, n連打数.ToString() ); diff --git a/OpenTaiko/src/Stages/07.Game/Taiko/CActImplTrainingMode.cs b/OpenTaiko/src/Stages/07.Game/Taiko/CActImplTrainingMode.cs index e15ac84c..a5bc550c 100644 --- a/OpenTaiko/src/Stages/07.Game/Taiko/CActImplTrainingMode.cs +++ b/OpenTaiko/src/Stages/07.Game/Taiko/CActImplTrainingMode.cs @@ -344,6 +344,7 @@ namespace OpenTaiko { OpenTaiko.stage演奏ドラム画面.bPAUSE = true; OpenTaiko.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure; this.bTrainingPAUSE = true; + if (OpenTaiko.ConfigIni.bTokkunMode && OpenTaiko.stage演奏ドラム画面.actBalloon.KusudamaIsActive) OpenTaiko.stage演奏ドラム画面.actBalloon.KusuMiss(); this.tMatchWithTheChartDisplayPosition(false); } @@ -364,10 +365,11 @@ namespace OpenTaiko { int n少し戻ってから演奏開始Chip = OpenTaiko.stage演奏ドラム画面.n現在のトップChip; - + OpenTaiko.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = 0; OpenTaiko.stage演奏ドラム画面.t数値の初期化(true, true); OpenTaiko.stage演奏ドラム画面.Activate(); + if (OpenTaiko.ConfigIni.bTokkunMode && OpenTaiko.stage演奏ドラム画面.actBalloon.KusudamaIsActive) OpenTaiko.stage演奏ドラム画面.actBalloon.KusuMiss(); for (int i = 0; i < dTX.listChip.Count; i++) { @@ -461,7 +463,7 @@ namespace OpenTaiko { private long nスクロール後ms; private long n最終演奏位置ms; - private bool bTrainingPAUSE; + public bool bTrainingPAUSE { get; private set; } private bool bCurrentlyScrolling; private CCounter ctScrollCounter;