SpringJam2026/Assets/Scripts/State/Game/StartGameState.cs

31 lines
894 B
C#

using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace State.Game
{
public class StartGameState : MainGameState
{
public override void OnEnter(Machine machine)
{
base.OnEnter(machine);
StateMachine.StartCoroutine(LoadGame());
}
private IEnumerator LoadGame()
{
var oldCam = Camera.main;
var handle = SceneManager.LoadSceneAsync("Game", LoadSceneMode.Additive);
if (handle != null)
{
while (!handle.isDone)
{
yield return null;
}
SceneManager.SetActiveScene(SceneManager.GetSceneByName("Game"));
oldCam?.gameObject.SetActive(false);
MainStateMachine.ChangeState(new GameRunningState());
}
}
}
}