From a251763158a9048c030427a0695b3f4e80b1d9e0 Mon Sep 17 00:00:00 2001 From: Marro64 Date: Wed, 24 Dec 2025 21:09:26 +0100 Subject: [PATCH] Fixed stuff --- Assets/Scripts/GameManager.cs | 86 ++++++++++++++----- .../Sequences/AttractScreenIntroduction.cs | 7 +- Assets/Scripts/Sequences/GhostCaught.cs | 3 +- Assets/Scripts/Sequences/Intermission2.cs | 7 +- Assets/Scripts/Sequences/Intermission3.cs | 6 ++ Assets/Scripts/Sequences/RestartLevel.cs | 2 +- Assets/Scripts/Sequences/StartNewGame.cs | 2 +- Assets/Scripts/Sequences/StartNewLevel.cs | 2 +- Assets/Scripts/Sequences/WaitForStart.cs | 2 +- 9 files changed, 84 insertions(+), 33 deletions(-) diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index 23ff9bf..2abdc9c 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -499,7 +499,7 @@ namespace Marro.PacManUdon // I'm not redoing this unless I get instantiatable classes before I wrap up this project. bool currentlyInTimeSequence; - bool waitingForTimeSequencefinish; + bool waitingForTimeSequenceFinish; PacManTimeSequence currentTimeSequence; bool hasTimeSequenceQueued; private DataList timeSequenceQueue; @@ -600,11 +600,15 @@ namespace Marro.PacManUdon { if (Networking.IsOwner(gameObject)) { - TimeSequenceExecuteFinish(); + TimeSequenceExecuteFinalize(); + if (!hasTimeSequenceQueued) + { + TimeSequenceExecuteFinished(); + } } else { - waitingForTimeSequencefinish = true; + waitingForTimeSequenceFinish = true; } } @@ -657,12 +661,58 @@ namespace Marro.PacManUdon break; case PacManTimeSequence.AttractScreenWaitToRestart: case PacManTimeSequence.WaitForStartTimeout: - // These only have a finished state + // These don't have steps break; } } - private void TimeSequenceExecuteFinish() + private void TimeSequenceExecuteFinalize() + { + // Debug.Log($"{gameObject} Triggered time sequence step for sequence {currentTimeSequence} with progress {sequenceProgress}"); + switch (currentTimeSequence) + { + default: + Debug.LogError($"{gameObject} No time sequence finalize known for sequence {currentTimeSequence}"); + break; + case PacManTimeSequence.AttractScreenIntroduction: + TimeSequenceFinalizeAttractScreenIntroduction(); + break; + case PacManTimeSequence.WaitForStart: + TimeSequenceFinalizeWaitForStart(); + break; + case PacManTimeSequence.WaitForStartTimeout: + TimeSequenceFinalizeWaitForStart(); + break; + case PacManTimeSequence.StartNewGame: + TimeSequenceFinalizeStartNewGame(); + break; + case PacManTimeSequence.StartNewLevel: + TimeSequenceFinalizeStartNewLevel(); + break; + case PacManTimeSequence.GhostCaught: + TimeSequenceFinalizeGhostCaught(); + break; + case PacManTimeSequence.RestartLevel: + TimeSequenceFinalizeRestartLevel(); + break; + case PacManTimeSequence.Intermission2: + TimeSequenceFinalizeIntermission2(); + break; + case PacManTimeSequence.Intermission3: + TimeSequenceFinalizeIntermission3(); + break; + case PacManTimeSequence.AttractScreenDemo: + case PacManTimeSequence.AttractScreenWaitToRestart: + case PacManTimeSequence.GameOver: + case PacManTimeSequence.Intermission1: + case PacManTimeSequence.PacManCaught: + case PacManTimeSequence.BoardClear: + // These don't have a finalize + break; + } + } + + private void TimeSequenceExecuteFinished() { // Debug.Log($"{gameObject} Triggered time sequence step for sequence {currentTimeSequence} with progress {sequenceProgress}"); switch (currentTimeSequence) @@ -679,30 +729,12 @@ namespace Marro.PacManUdon case PacManTimeSequence.AttractScreenWaitToRestart: TimeSequenceFinishedAttractScreenWaitToRestart(); break; - case PacManTimeSequence.WaitForStart: - TimeSequenceFinishedWaitForStart(); - break; - case PacManTimeSequence.WaitForStartTimeout: - TimeSequenceFinishedWaitForStart(); - break; - case PacManTimeSequence.StartNewGame: - TimeSequenceFinishedStartNewGame(); - break; case PacManTimeSequence.BoardClear: TimeSequenceFinishedBoardClear(); break; - case PacManTimeSequence.StartNewLevel: - TimeSequenceFinishedStartNewLevel(); - break; - case PacManTimeSequence.GhostCaught: - TimeSequenceFinishedGhostCaught(); - break; case PacManTimeSequence.PacManCaught: TimeSequenceFinishedPacManCaught(); break; - case PacManTimeSequence.RestartLevel: - TimeSequenceFinishedRestartLevel(); - break; case PacManTimeSequence.GameOver: TimeSequenceFinishedGameOver(); break; @@ -715,6 +747,14 @@ namespace Marro.PacManUdon case PacManTimeSequence.Intermission3: TimeSequenceFinishedIntermission3(); break; + case PacManTimeSequence.RestartLevel: + case PacManTimeSequence.StartNewLevel: + case PacManTimeSequence.GhostCaught: + case PacManTimeSequence.WaitForStart: + case PacManTimeSequence.WaitForStartTimeout: + case PacManTimeSequence.StartNewGame: + // These don't have a finished + break; } } diff --git a/Assets/Scripts/Sequences/AttractScreenIntroduction.cs b/Assets/Scripts/Sequences/AttractScreenIntroduction.cs index 461291c..0d0cafc 100644 --- a/Assets/Scripts/Sequences/AttractScreenIntroduction.cs +++ b/Assets/Scripts/Sequences/AttractScreenIntroduction.cs @@ -169,10 +169,13 @@ namespace Marro.PacManUdon } } + private void TimeSequenceFinalizeAttractScreenIntroduction() + { + attractScreen.gameObject.SetActive(false); + } + private void TimeSequenceFinishedAttractScreenIntroduction() { - // Hide elements, start demo - attractScreen.gameObject.SetActive(false); StartTimeSequence(PacManTimeSequence.AttractScreenDemo); } } diff --git a/Assets/Scripts/Sequences/GhostCaught.cs b/Assets/Scripts/Sequences/GhostCaught.cs index eac5d8b..8c18eda 100644 --- a/Assets/Scripts/Sequences/GhostCaught.cs +++ b/Assets/Scripts/Sequences/GhostCaught.cs @@ -13,12 +13,11 @@ namespace Marro.PacManUdon soundManager.PlayGhostEatSound(); break; case 1: - break; } } - private void TimeSequenceFinishedGhostCaught() + private void TimeSequenceFinalizeGhostCaught() { // Unfreeze and reveal pacman SetPacManActive(true); diff --git a/Assets/Scripts/Sequences/Intermission2.cs b/Assets/Scripts/Sequences/Intermission2.cs index 2636fbf..84f956d 100644 --- a/Assets/Scripts/Sequences/Intermission2.cs +++ b/Assets/Scripts/Sequences/Intermission2.cs @@ -79,15 +79,18 @@ namespace Marro.PacManUdon case 11: // End cutscene SetFrozen(true); - break; } } - private void TimeSequenceFinishedIntermission2() + private void TimeSequenceFinalizeIntermission2() { SetIntermissionScreenVisible(false); soundManager.StopAllSound(); + } + + private void TimeSequenceFinishedIntermission2() + { StartTimeSequence(PacManTimeSequence.StartNewLevel); } } diff --git a/Assets/Scripts/Sequences/Intermission3.cs b/Assets/Scripts/Sequences/Intermission3.cs index e9f9b7f..6aaef90 100644 --- a/Assets/Scripts/Sequences/Intermission3.cs +++ b/Assets/Scripts/Sequences/Intermission3.cs @@ -61,6 +61,12 @@ namespace Marro.PacManUdon } } + private void TimeSequenceFinalizeIntermission3() + { + soundManager.StopAllSound(); + StartTimeSequence(PacManTimeSequence.StartNewLevel); + } + private void TimeSequenceFinishedIntermission3() { soundManager.StopAllSound(); diff --git a/Assets/Scripts/Sequences/RestartLevel.cs b/Assets/Scripts/Sequences/RestartLevel.cs index 6999b85..db4373a 100644 --- a/Assets/Scripts/Sequences/RestartLevel.cs +++ b/Assets/Scripts/Sequences/RestartLevel.cs @@ -36,7 +36,7 @@ namespace Marro.PacManUdon } } - private void TimeSequenceFinishedRestartLevel() + private void TimeSequenceFinalizeRestartLevel() { // Unfreeze SetFrozen(false); diff --git a/Assets/Scripts/Sequences/StartNewGame.cs b/Assets/Scripts/Sequences/StartNewGame.cs index a2878be..82f58c7 100644 --- a/Assets/Scripts/Sequences/StartNewGame.cs +++ b/Assets/Scripts/Sequences/StartNewGame.cs @@ -65,7 +65,7 @@ namespace Marro.PacManUdon } } - private void TimeSequenceFinishedStartNewGame() + private void TimeSequenceFinalizeStartNewGame() { // Start game, end sequence soundManager.StartGhostSound(); diff --git a/Assets/Scripts/Sequences/StartNewLevel.cs b/Assets/Scripts/Sequences/StartNewLevel.cs index 628b454..eda2bcf 100644 --- a/Assets/Scripts/Sequences/StartNewLevel.cs +++ b/Assets/Scripts/Sequences/StartNewLevel.cs @@ -35,7 +35,7 @@ namespace Marro.PacManUdon } } - private void TimeSequenceFinishedStartNewLevel() + private void TimeSequenceFinalizeStartNewLevel() { // Unfreeze SetFrozen(false); diff --git a/Assets/Scripts/Sequences/WaitForStart.cs b/Assets/Scripts/Sequences/WaitForStart.cs index 35111ca..bfcb7e9 100644 --- a/Assets/Scripts/Sequences/WaitForStart.cs +++ b/Assets/Scripts/Sequences/WaitForStart.cs @@ -18,7 +18,7 @@ namespace Marro.PacManUdon } } - private void TimeSequenceFinishedWaitForStart() + private void TimeSequenceFinalizeWaitForStart() { if (playerInput.active == false) {