Separated time sequence finish
This commit is contained in:
@@ -134,14 +134,14 @@ namespace Marro.PacManUdon
|
||||
|
||||
private void StartAttractMode()
|
||||
{
|
||||
#if RECORDING_DEMO
|
||||
// #if RECORDING_DEMO
|
||||
// recorder.gameObject.SetActive(true);
|
||||
StartTimeSequence(PacManTimeSequence.AttractScreenIntroduction);
|
||||
#else
|
||||
SetGameState(PacManGameState.AttractMode);
|
||||
HideEverything();
|
||||
demo.gameObject.SetActive(true);
|
||||
#endif
|
||||
// #else
|
||||
// SetGameState(PacManGameState.AttractMode);
|
||||
// HideEverything();
|
||||
// demo.gameObject.SetActive(true);
|
||||
// #endif
|
||||
}
|
||||
|
||||
private void InitializeNewGame()
|
||||
@@ -499,6 +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;
|
||||
PacManTimeSequence currentTimeSequence;
|
||||
bool hasTimeSequenceQueued;
|
||||
private DataList timeSequenceQueue;
|
||||
@@ -589,11 +590,24 @@ namespace Marro.PacManUdon
|
||||
if (timeSequenceProgress >= timeSequenceKeyframeTimes.Length)
|
||||
{
|
||||
currentlyInTimeSequence = false;
|
||||
TimeSequencePrepareForFinish();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void TimeSequencePrepareForFinish()
|
||||
{
|
||||
if (Networking.IsOwner(gameObject))
|
||||
{
|
||||
TimeSequenceExecuteFinish();
|
||||
}
|
||||
else
|
||||
{
|
||||
waitingForTimeSequencefinish = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void TimeSequenceExecuteStep(int sequenceProgress)
|
||||
{
|
||||
// Debug.Log($"{gameObject} Triggered time sequence step for sequence {currentTimeSequence} with progress {sequenceProgress}");
|
||||
@@ -611,9 +625,6 @@ namespace Marro.PacManUdon
|
||||
case PacManTimeSequence.WaitForStart:
|
||||
TimeSequenceStepWaitForStart(sequenceProgress);
|
||||
break;
|
||||
case PacManTimeSequence.WaitForStartTimeout:
|
||||
TimeSequenceStepWaitForStartTimeout(sequenceProgress);
|
||||
break;
|
||||
case PacManTimeSequence.StartNewGame:
|
||||
TimeSequenceStepStartNewGame(sequenceProgress);
|
||||
break;
|
||||
@@ -644,6 +655,66 @@ namespace Marro.PacManUdon
|
||||
case PacManTimeSequence.Intermission3:
|
||||
TimeSequenceStepIntermission3(sequenceProgress);
|
||||
break;
|
||||
case PacManTimeSequence.AttractScreenWaitToRestart:
|
||||
case PacManTimeSequence.WaitForStartTimeout:
|
||||
// These only have a finished state
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void TimeSequenceExecuteFinish()
|
||||
{
|
||||
// Debug.Log($"{gameObject} Triggered time sequence step for sequence {currentTimeSequence} with progress {sequenceProgress}");
|
||||
switch (currentTimeSequence)
|
||||
{
|
||||
default:
|
||||
Debug.LogError($"{gameObject} No time sequence finish known for sequence {currentTimeSequence}");
|
||||
break;
|
||||
case PacManTimeSequence.AttractScreenIntroduction:
|
||||
TimeSequenceFinishedAttractScreenIntroduction();
|
||||
break;
|
||||
case PacManTimeSequence.AttractScreenDemo:
|
||||
TimeSequenceFinishedAttractScreenDemo();
|
||||
break;
|
||||
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;
|
||||
case PacManTimeSequence.Intermission1:
|
||||
TimeSequenceFinishedIntermission1();
|
||||
break;
|
||||
case PacManTimeSequence.Intermission2:
|
||||
TimeSequenceFinishedIntermission2();
|
||||
break;
|
||||
case PacManTimeSequence.Intermission3:
|
||||
TimeSequenceFinishedIntermission3();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -659,10 +730,10 @@ namespace Marro.PacManUdon
|
||||
5f, 0.2f, 2f, 0.91667f, 2f, 0.91667f, 2f, 0.91667f, 2f, 0.91667f });
|
||||
case PacManTimeSequence.AttractScreenDemo:
|
||||
return DeltaToAbsolute(new float[] { 0, 0.016f, 0.05f, 0.16f, 0.33f, 1.85f, 54f });
|
||||
case PacManTimeSequence.AttractScreenWaitToRestart:
|
||||
return DeltaToAbsolute(new float[] { 0, 2f });
|
||||
case PacManTimeSequence.WaitForStart:
|
||||
return DeltaToAbsolute(new float[] { 0, 0.016f });
|
||||
case PacManTimeSequence.WaitForStartTimeout:
|
||||
return DeltaToAbsolute(new float[] { 0, 5f });
|
||||
case PacManTimeSequence.StartNewGame:
|
||||
return DeltaToAbsolute(new float[] { 0, 0.016f, 2.2f, 0.032f, 0.032f, 1.92f, 0.032f });
|
||||
case PacManTimeSequence.BoardClear:
|
||||
@@ -672,7 +743,7 @@ namespace Marro.PacManUdon
|
||||
case PacManTimeSequence.GhostCaught:
|
||||
return DeltaToAbsolute(new float[] { 0, 0.91667f });
|
||||
case PacManTimeSequence.PacManCaught:
|
||||
return DeltaToAbsolute(new float[] { 0, 1, 0.35f, 2.40f, 2f });
|
||||
return DeltaToAbsolute(new float[] { 0, 1, 0.35f, 2.40f });
|
||||
case PacManTimeSequence.RestartLevel:
|
||||
return DeltaToAbsolute(new float[] { 0, 0.016f, 0.064f, 0.032f, 1.85f, 0.016f });
|
||||
case PacManTimeSequence.GameOver:
|
||||
|
||||
@@ -34,6 +34,7 @@ namespace Marro.PacManUdon
|
||||
{
|
||||
AttractScreenIntroduction,
|
||||
AttractScreenDemo,
|
||||
AttractScreenWaitToRestart,
|
||||
WaitForStart,
|
||||
WaitForStartTimeout,
|
||||
StartNewGame,
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
10
Assets/Scripts/Sequences/AttractScreenWaitToRestart.cs
Normal file
10
Assets/Scripts/Sequences/AttractScreenWaitToRestart.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace Marro.PacManUdon
|
||||
{
|
||||
public partial class GameManager
|
||||
{
|
||||
private void TimeSequenceFinishedAttractScreenWaitToRestart()
|
||||
{
|
||||
StartAttractMode();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a584f98f4d7e35146ae110c947f41176
|
||||
guid: 2b178dfcf6f9185448d2a2cdd4869abd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@@ -36,6 +36,12 @@ namespace Marro.PacManUdon
|
||||
statusDisplay.SetLevelDisplayVisible(true);
|
||||
break;
|
||||
case 6:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void TimeSequenceFinishedBoardClear()
|
||||
{
|
||||
// Call handler for what should happen next
|
||||
PacManTimeSequence nextSequence;
|
||||
switch (level)
|
||||
@@ -57,8 +63,6 @@ namespace Marro.PacManUdon
|
||||
}
|
||||
|
||||
InsertTimeSequence(nextSequence);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,13 +13,18 @@ namespace Marro.PacManUdon
|
||||
soundManager.PlayGhostEatSound();
|
||||
break;
|
||||
case 1:
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void TimeSequenceFinishedGhostCaught()
|
||||
{
|
||||
// Unfreeze and reveal pacman
|
||||
SetPacManActive(true);
|
||||
SetFrozen(false);
|
||||
ghostManager.GhostCaughtContinue();
|
||||
soundManager.SetGhostRetreat(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,9 +61,13 @@ namespace Marro.PacManUdon
|
||||
// End cutscene
|
||||
soundManager.StopAllSound();
|
||||
SetFrozen(true);
|
||||
StartTimeSequence(PacManTimeSequence.StartNewLevel);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void TimeSequenceFinishedIntermission1()
|
||||
{
|
||||
StartTimeSequence(PacManTimeSequence.StartNewLevel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
private void TimeSequenceFinishedPacManCaught()
|
||||
{
|
||||
PacManTimeSequence nextSequence;
|
||||
if (gameState == PacManGameState.AttractModeDemo)
|
||||
{
|
||||
#if RECORDING_DEMO
|
||||
// recorder.gameObject.SetActive(false);
|
||||
#endif
|
||||
InsertTimeSequence(PacManTimeSequence.AttractScreenIntroduction);
|
||||
nextSequence = PacManTimeSequence.AttractScreenWaitToRestart;
|
||||
}
|
||||
break;
|
||||
else if (extraLives > 0)
|
||||
{
|
||||
nextSequence = PacManTimeSequence.RestartLevel;
|
||||
}
|
||||
else
|
||||
{
|
||||
nextSequence = PacManTimeSequence.GameOver;
|
||||
}
|
||||
|
||||
InsertTimeSequence(nextSequence);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,13 +32,17 @@ namespace Marro.PacManUdon
|
||||
statusDisplay.SetReadyTextVisible(false);
|
||||
break;
|
||||
case 5:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void TimeSequenceFinishedRestartLevel()
|
||||
{
|
||||
// Unfreeze
|
||||
SetFrozen(false);
|
||||
soundManager.SuppressSound(false);
|
||||
soundManager.StartGhostSound();
|
||||
soundManager.UpdatePelletCount(pelletCountRemaining);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,12 +14,16 @@ namespace Marro.PacManUdon
|
||||
break;
|
||||
case 1:
|
||||
SetPressStartButtonScreenVisible(true);
|
||||
if (playerInput.active == false && hasTimeSequenceQueued == false)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void TimeSequenceFinishedWaitForStart()
|
||||
{
|
||||
if (playerInput.active == false)
|
||||
{
|
||||
StartTimeSequence(PacManTimeSequence.WaitForStartTimeout);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
namespace Marro.PacManUdon
|
||||
{
|
||||
public partial class GameManager
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -2,19 +2,12 @@ namespace Marro.PacManUdon
|
||||
{
|
||||
public partial class GameManager
|
||||
{
|
||||
private void TimeSequenceStepWaitForStartTimeout(int sequenceProgress)
|
||||
private void TimeSequenceFinishedWaitForStartTimeout()
|
||||
{
|
||||
switch (sequenceProgress)
|
||||
{
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
if (playerInput.active == false && hasTimeSequenceQueued == false)
|
||||
if (playerInput.active == false)
|
||||
{
|
||||
StartAttractMode();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user