Separated time sequence finish

This commit is contained in:
2025-12-24 19:09:49 +01:00
parent 43ee68dc44
commit 8e9936274f
19 changed files with 224 additions and 114 deletions

View File

@@ -338,13 +338,14 @@ namespace Marro.PacManUdon
// Unfreeze
SetFrozen(false);
break;
// case 6:
// if (!hasTimeSequenceQueued)
// {
// StartTimeSequence(PacManTimeSequence.AttractScreenWaitForStart);
// }
// break;
case 6:
break;
}
}
private void TimeSequenceFinishedAttractScreenDemo()
{
StartTimeSequence(PacManTimeSequence.AttractScreenWaitToRestart);
}
}
}

View File

@@ -165,15 +165,15 @@ namespace Marro.PacManUdon
case 26:
ghostManager.Ghosts[3].ReturnHome();
ghostManager.Ghosts[3].SetActive(false);
// Hide elements, start demo
attractScreen.gameObject.SetActive(false);
if (!hasTimeSequenceQueued)
{
StartTimeSequence(PacManTimeSequence.AttractScreenDemo);
}
break;
}
}
private void TimeSequenceFinishedAttractScreenIntroduction()
{
// Hide elements, start demo
attractScreen.gameObject.SetActive(false);
StartTimeSequence(PacManTimeSequence.AttractScreenDemo);
}
}
}

View File

@@ -0,0 +1,10 @@
namespace Marro.PacManUdon
{
public partial class GameManager
{
private void TimeSequenceFinishedAttractScreenWaitToRestart()
{
StartAttractMode();
}
}
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: a584f98f4d7e35146ae110c947f41176
guid: 2b178dfcf6f9185448d2a2cdd4869abd
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@@ -36,29 +36,33 @@ namespace Marro.PacManUdon
statusDisplay.SetLevelDisplayVisible(true);
break;
case 6:
// Call handler for what should happen next
PacManTimeSequence nextSequence;
switch (level)
{
case 2:
nextSequence = PacManTimeSequence.Intermission1;
break;
case 5:
nextSequence = PacManTimeSequence.Intermission2;
break;
case 9:
case 13:
case 17:
nextSequence = PacManTimeSequence.Intermission3;
break;
default:
nextSequence = PacManTimeSequence.StartNewLevel;
break;
}
InsertTimeSequence(nextSequence);
break;
}
}
private void TimeSequenceFinishedBoardClear()
{
// Call handler for what should happen next
PacManTimeSequence nextSequence;
switch (level)
{
case 2:
nextSequence = PacManTimeSequence.Intermission1;
break;
case 5:
nextSequence = PacManTimeSequence.Intermission2;
break;
case 9:
case 13:
case 17:
nextSequence = PacManTimeSequence.Intermission3;
break;
default:
nextSequence = PacManTimeSequence.StartNewLevel;
break;
}
InsertTimeSequence(nextSequence);
}
}
}

View File

@@ -12,11 +12,15 @@ namespace Marro.PacManUdon
pelletManager.FreezePowerPelletsBlink(true);
break;
case 1:
// Stop text blinking, transition to attract screen
statusDisplay.SetLabel1UPTextBlinking(false);
StartAttractMode();
break;
}
}
private void TimeSequenceFinishedGameOver()
{
// Stop text blinking, transition to attract screen
statusDisplay.SetLabel1UPTextBlinking(false);
StartAttractMode();
}
}
}

View File

@@ -13,13 +13,18 @@ namespace Marro.PacManUdon
soundManager.PlayGhostEatSound();
break;
case 1:
// Unfreeze and reveal pacman
SetPacManActive(true);
SetFrozen(false);
ghostManager.GhostCaughtContinue();
soundManager.SetGhostRetreat(true);
break;
}
}
private void TimeSequenceFinishedGhostCaught()
{
// Unfreeze and reveal pacman
SetPacManActive(true);
SetFrozen(false);
ghostManager.GhostCaughtContinue();
soundManager.SetGhostRetreat(true);
}
}
}

View File

@@ -61,9 +61,13 @@ namespace Marro.PacManUdon
// End cutscene
soundManager.StopAllSound();
SetFrozen(true);
StartTimeSequence(PacManTimeSequence.StartNewLevel);
break;
}
}
private void TimeSequenceFinishedIntermission1()
{
StartTimeSequence(PacManTimeSequence.StartNewLevel);
}
}
}

View File

@@ -78,12 +78,17 @@ namespace Marro.PacManUdon
break;
case 11:
// End cutscene
SetIntermissionScreenVisible(false);
soundManager.StopAllSound();
SetFrozen(true);
StartTimeSequence(PacManTimeSequence.StartNewLevel);
break;
}
}
private void TimeSequenceFinishedIntermission2()
{
SetIntermissionScreenVisible(false);
soundManager.StopAllSound();
StartTimeSequence(PacManTimeSequence.StartNewLevel);
}
}
}

View File

@@ -56,11 +56,15 @@ namespace Marro.PacManUdon
break;
case 5:
// End cutscene
soundManager.StopAllSound();
SetFrozen(true);
StartTimeSequence(PacManTimeSequence.StartNewLevel);
break;
}
}
private void TimeSequenceFinishedIntermission3()
{
soundManager.StopAllSound();
StartTimeSequence(PacManTimeSequence.StartNewLevel);
}
}
}

View File

@@ -2,7 +2,7 @@ namespace Marro.PacManUdon
{
public partial class GameManager
{
private void TimeSequenceStepPacManCaught(int sequenceProgress)
private void TimeSequenceStepPacManCaught(int sequenceProgress)
{
switch (sequenceProgress)
{
@@ -23,28 +23,27 @@ namespace Marro.PacManUdon
case 3:
// Hide pacman, start next state
SetPacManActive(false);
if (gameState == PacManGameState.AttractModeDemo)
{
break;
}
if (extraLives > 0)
{
InsertTimeSequence(PacManTimeSequence.RestartLevel);
break;
}
InsertTimeSequence(PacManTimeSequence.GameOver);
break;
case 4:
if (gameState == PacManGameState.AttractModeDemo)
{
#if RECORDING_DEMO
// recorder.gameObject.SetActive(false);
#endif
InsertTimeSequence(PacManTimeSequence.AttractScreenIntroduction);
}
break;
}
}
private void TimeSequenceFinishedPacManCaught()
{
PacManTimeSequence nextSequence;
if (gameState == PacManGameState.AttractModeDemo)
{
nextSequence = PacManTimeSequence.AttractScreenWaitToRestart;
}
else if (extraLives > 0)
{
nextSequence = PacManTimeSequence.RestartLevel;
}
else
{
nextSequence = PacManTimeSequence.GameOver;
}
InsertTimeSequence(nextSequence);
}
}
}

View File

@@ -32,13 +32,17 @@ namespace Marro.PacManUdon
statusDisplay.SetReadyTextVisible(false);
break;
case 5:
// Unfreeze
SetFrozen(false);
soundManager.SuppressSound(false);
soundManager.StartGhostSound();
soundManager.UpdatePelletCount(pelletCountRemaining);
break;
}
}
private void TimeSequenceFinishedRestartLevel()
{
// Unfreeze
SetFrozen(false);
soundManager.SuppressSound(false);
soundManager.StartGhostSound();
soundManager.UpdatePelletCount(pelletCountRemaining);
}
}
}

View File

@@ -61,11 +61,15 @@ namespace Marro.PacManUdon
statusDisplay.SetReadyTextVisible(false);
break;
case 6:
// Start game, end sequence
soundManager.StartGhostSound();
SetFrozen(false);
break;
}
}
private void TimeSequenceFinishedStartNewGame()
{
// Start game, end sequence
soundManager.StartGhostSound();
SetFrozen(false);
}
}
}

View File

@@ -31,11 +31,15 @@ namespace Marro.PacManUdon
statusDisplay.SetReadyTextVisible(false);
break;
case 4:
// Unfreeze
SetFrozen(false);
soundManager.StartGhostSound();
break;
}
}
private void TimeSequenceFinishedStartNewLevel()
{
// Unfreeze
SetFrozen(false);
soundManager.StartGhostSound();
}
}
}

View File

@@ -14,12 +14,16 @@ namespace Marro.PacManUdon
break;
case 1:
SetPressStartButtonScreenVisible(true);
if (playerInput.active == false && hasTimeSequenceQueued == false)
{
StartTimeSequence(PacManTimeSequence.WaitForStartTimeout);
}
break;
}
}
private void TimeSequenceFinishedWaitForStart()
{
if (playerInput.active == false)
{
StartTimeSequence(PacManTimeSequence.WaitForStartTimeout);
}
}
}
}

View File

@@ -1,7 +0,0 @@
namespace Marro.PacManUdon
{
public partial class GameManager
{
}
}

View File

@@ -2,18 +2,11 @@ namespace Marro.PacManUdon
{
public partial class GameManager
{
private void TimeSequenceStepWaitForStartTimeout(int sequenceProgress)
private void TimeSequenceFinishedWaitForStartTimeout()
{
switch (sequenceProgress)
if (playerInput.active == false)
{
case 0:
break;
case 1:
if (playerInput.active == false && hasTimeSequenceQueued == false)
{
StartAttractMode();
}
break;
StartAttractMode();
}
}
}