전제 조건
- 첫번째 Scene에서 생성되어 게임이 실행되는 동안 계속 소유하고 있는 무언가가 있어야 함
- 현재 쓰고 있는 구조에서는 App이라는 스크립트가 게임 시작부터 끝까지 존재
- 각 Scene마다 소유하고 있는 스크립트가 존재해야 함
- 현재 쓰고 있는 구조에서는 _Ruler(상속)라는 스크립트가 존재
- 예) Ruler_Logo, Ruler_Lobby 등
방법
- (예외 처리 1) 첫번째 Scene으로 갈 지 안 갈 지를 판단
- isGoToApp:Bool 라는 Inspector 상에서 보이는 변수를 _Ruler가 소유 중
- 해당 isGoToApp이 True면 밑의 내용을 실행, False면 return
- (예외 처리 2)
- False일 때 App을 아예 생성해서 모든 작업들(데이터 로드 등)을 우선 진행한 후 이 Scene에 남아 있게 할 수도 있음
- 이 Scene에서는 로드가 전부 될 때까지 지연 처리
- 다만 그 경우 여러모로 각 씬 + 협업하는 사람이 합(데이터 로드는 무조건 한 곳)을 맞춰야 함
- _Ruler가 Awake될 때 App이라는 스크립트가 현재 화면 내에 존재하는 지 확인
- App이 없다면 바로 0번째 Scene을 로드
- 완료
생각해볼 것
- 저런 처리(스크립트 존재) 없이 유니티 상에서 시작 시에 현재 Scene을 판단해서 어떤 항목의 ON/OFF에 따라 첫번째(0) Scene으로 갈 수 있지 않을까?
RIsN