349 lines
13 KiB
C#
349 lines
13 KiB
C#
using UnityEngine;
|
|
|
|
namespace Marro.PacManUdon
|
|
{
|
|
public partial class GameManager
|
|
{
|
|
private void TimeSequenceStepAttractScreenDemo(int sequenceProgress)
|
|
{
|
|
switch (sequenceProgress)
|
|
{
|
|
case 0:
|
|
PrepareForCutscene();
|
|
|
|
SetGameState(PacManGameState.AttractModeDemo);
|
|
break;
|
|
case 1:
|
|
InitializeLevel();
|
|
SetMazeVisible(true);
|
|
SetLevel(1);
|
|
break;
|
|
case 2:
|
|
// Setup ghosts
|
|
ghostManager.Ghosts[0].SetPredefinedPath(new Direction[]{ // Blinky
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Zero,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Zero,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Zero,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Zero,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
// Goes through tunnel
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
// Gets eaten
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
});
|
|
|
|
ghostManager.Ghosts[1].SetPredefinedPath(new Direction[]{ // Pinky
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Zero,
|
|
Direction.Zero,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
// Pellet starts
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
// Pellet ends
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
// Pellet starts
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Zero,
|
|
Direction.Left,
|
|
// Caught
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
// Home
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Zero,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
// Power pellet active
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Down
|
|
});
|
|
|
|
ghostManager.Ghosts[2].SetPredefinedPath(new Direction[]{ // Inky
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
// Pellet starts
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
// Caught
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Left
|
|
});
|
|
|
|
ghostManager.Ghosts[3].SetPredefinedPath(new Direction[]{ // Clyde
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Zero,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Right
|
|
});
|
|
|
|
pacMan.SetPredefinedPath(new Direction[]{
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Zero,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Zero,
|
|
Direction.Zero,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Zero,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
Direction.Zero,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Zero,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Up,
|
|
Direction.Right,
|
|
Direction.Up,
|
|
Direction.Left,
|
|
Direction.Zero,
|
|
Direction.Zero,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
Direction.Down,
|
|
Direction.Left,
|
|
Direction.Down,
|
|
Direction.Right,
|
|
});
|
|
|
|
break;
|
|
case 3:
|
|
SetPelletsActive(true);
|
|
collisionManager.RestoreAllPellets();
|
|
statusDisplay.SetGameOverTextVisible(true);
|
|
break;
|
|
case 4:
|
|
// Show pacman, show ghosts
|
|
SetPacManActive(true);
|
|
SetGhostsActive(true);
|
|
break;
|
|
case 5:
|
|
// Unfreeze
|
|
SetFrozen(false);
|
|
break;
|
|
case 6:
|
|
break;
|
|
}
|
|
}
|
|
|
|
private void TimeSequenceFinishedAttractScreenDemo()
|
|
{
|
|
StartTimeSequence(PacManTimeSequence.AttractScreenWaitToRestart);
|
|
}
|
|
}
|
|
}
|