71 lines
2.5 KiB
C#
71 lines
2.5 KiB
C#
using UnityEngine;
|
|
|
|
namespace Marro.PacManUdon
|
|
{
|
|
public partial class GameManager
|
|
{
|
|
private void TimeSequenceStepIntermission3(int sequenceProgress)
|
|
{
|
|
var blinky = ghostManager.Ghosts[0];
|
|
|
|
switch (sequenceProgress)
|
|
{
|
|
case 0:
|
|
// Show just level display
|
|
RestartLevel();
|
|
statusDisplay.SetLevelDisplayVisible(true);
|
|
break;
|
|
case 1:
|
|
// Start animation, pacman running and blinky prepared to chase
|
|
soundManager.SuppressSound(false);
|
|
soundManager.StartIntermissionSound();
|
|
|
|
pacMan.Reset();
|
|
pacMan.SetLevel(4);
|
|
pacMan.SetPowerPellet(false); // Update speed
|
|
pacMan.SetKinematic(true);
|
|
pacMan.SetActive(true);
|
|
pacMan.SetPosition(intermissionScreenElements[0].transform.localPosition);
|
|
pacMan.SetDirection(Vector2.left);
|
|
|
|
ghostManager.Reset();
|
|
ghostManager.SetLevel(5);
|
|
ghostManager.SetKinematic(true);
|
|
ghostManager.gameObject.SetActive(true);
|
|
blinky.SetElroy(2);
|
|
blinky.SetPosition(intermissionScreenElements[1].transform.localPosition);
|
|
blinky.SetDirection(Vector2.left);
|
|
blinky.SetState(PacManGhostState.Normal);
|
|
blinky.SetSpecialLook(true);
|
|
|
|
SetFrozen(false);
|
|
break;
|
|
case 2:
|
|
// Start blinky chasing
|
|
blinky.SetActive(true);
|
|
break;
|
|
case 3:
|
|
// Reached end, freeze
|
|
pacMan.SetDirection(Vector2.zero);
|
|
blinky.SetDirection(Vector2.zero);
|
|
break;
|
|
case 4:
|
|
// Ghost runs back on screen
|
|
blinky.SetPosition(intermissionScreenElements[3].transform.localPosition);
|
|
blinky.SetDirection(Vector2.right);
|
|
break;
|
|
case 5:
|
|
// End cutscene
|
|
SetFrozen(true);
|
|
break;
|
|
}
|
|
}
|
|
|
|
private void TimeSequenceFinishedIntermission3()
|
|
{
|
|
soundManager.StopAllSound();
|
|
StartTimeSequence(PacManTimeSequence.StartNewLevel);
|
|
}
|
|
}
|
|
}
|