feat: 스테이지 씬 진입 시 로직 구현
This commit is contained in:
@@ -11,11 +11,32 @@ namespace TON
|
||||
|
||||
public override IEnumerator OnStart()
|
||||
{
|
||||
// Ingame 씬을 비동기로 로드한다.
|
||||
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync("Ingame", LoadSceneMode.Single);
|
||||
string stageId = PlayerPrefs.GetString("StageId", null);
|
||||
Assert.IsNotNull(stageId, "StageScene:: 스테이지 진입 실패!");
|
||||
|
||||
// 선택한 스테이지에 맞는 씬을 로드한다
|
||||
AsyncOperation asyncLoad = null;
|
||||
switch (stageId)
|
||||
{
|
||||
case "STG001":
|
||||
asyncLoad = SceneManager.LoadSceneAsync("Stage 1", LoadSceneMode.Single);
|
||||
break;
|
||||
case "STG002":
|
||||
asyncLoad = SceneManager.LoadSceneAsync("Stage 2", LoadSceneMode.Single);
|
||||
break;
|
||||
case "STG003":
|
||||
asyncLoad = SceneManager.LoadSceneAsync("Stage 3", LoadSceneMode.Single);
|
||||
break;
|
||||
case "STG004":
|
||||
asyncLoad = SceneManager.LoadSceneAsync("Stage 4", LoadSceneMode.Single);
|
||||
break;
|
||||
default:
|
||||
Assert.IsTrue(false, "StageScene:: 스테이지 진입 실패!");
|
||||
break;
|
||||
}
|
||||
|
||||
// 로드가 완료될 때 까지 yield return null 을 하면서 기다린다
|
||||
while (!asyncLoad.isDone)
|
||||
while (asyncLoad != null && !asyncLoad.isDone)
|
||||
{
|
||||
yield return null;
|
||||
}
|
||||
@@ -27,9 +48,6 @@ namespace TON
|
||||
// 선택된 캐릭터에 맞는 오브젝트를 생성하거나 적용하는 코드 작성
|
||||
PlayerSpawner.SpawnPlayerCharacter();
|
||||
|
||||
// 진입한 스테이지 아이디를 불러온다
|
||||
string stageId = PlayerPrefs.GetString("StageId", null);
|
||||
Assert.IsNotNull(stageId, "StageScene:: 스테이지 진입 실패!");
|
||||
StageManager.Singleton.StartStage(stageId);
|
||||
}
|
||||
public override IEnumerator OnEnd()
|
||||
|
||||
Reference in New Issue
Block a user