// // Silly me for wanting to make the code neat, forgot this was Udon :)

// using System.Collections;
// using System.Collections.Generic;
// using UdonSharp;
// using UnityEngine;

// public class GameStartSequence : TimeSequence
// {
//     GameStateManager gameStateManager;
//     StatusDisplay statusDisplay;

//     public GameStartSequence(GameStateManager gameStateManager, StatusDisplay statusDisplay) : base(DeltaToAbsolute(new float[]
//         {0, 0.016f, 2.2f, 0.032f, 0.032f, 1.92f, 0.032f}
//         ))
//     {
//         this.gameStateManager = gameStateManager;
//         this.statusDisplay = statusDisplay;
//     }

    
//     protected override void SequenceStep(int sequneceProgress)
//     {
//         switch (SequenceProgress)
//         {
//             case 0:
//                 // Prepare new game, hide everything except score bar
//                 gameStateManager.SetFrozen(true);
//                 gameStateManager.StartNewGame();
//                 gameStateManager.SetPelletsVisible(false);
//                 gameStateManager.SetMazeVisible(false);
//                 gameStateManager.SetGhostsVisible(false);
//                 gameStateManager.SetPacManVisible(false);
//                 statusDisplay.SetExtraLivesDisplayVisible(false);
//                 statusDisplay.SetLevelDisplayVisible(false);
//                 break;
//             case 1:
//                 // Show maze, lives indicator, level indicator, player 1 and ready text
//                 gameStateManager.SetPelletsVisible(true);
//                 gameStateManager.SetMazeVisible(true);
//                 statusDisplay.SetExtraLivesDisplayVisible(true);
//                 statusDisplay.SetLevelDisplayVisible(true);
//                 statusDisplay.SetPlayer1TextVisible(true);
//                 statusDisplay.SetReadyTextVisible(true);
//                 break;
//             case 2:
//                 // Subtract a life
//                 gameStateManager.DecrementLives();
//                 break;
//             case 3:
//                 // Remove Player 1 text
//                 statusDisplay.SetPlayer1TextVisible(false);
//                 break;
//             case 4:
//                 // Show ghosts and pacman
//                 gameStateManager.SetGhostsVisible(true);
//                 gameStateManager.SetPacManVisible(true);
//                 break;
//             case 5:
//                 // Remove ready text
//                 statusDisplay.SetReadyTextVisible(true);
//                 break;
//             case 6:
//                 // Start game, end sequence
//                 gameStateManager.SetFrozen(false);
//                 break;
//         }
//     }
// }
