강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

송유승님의 프로필 이미지
송유승

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Singleton 패턴

void start() 호출 이유

작성

·

272

0

Managers mg = Managers.Instance; 

player.cs 파일에서 이 부분을 중단점으로 잡고 디버그를 해서
한줄씩 계속 진행을 해봤었는데 
mg 가 값을 받고 난 뒤
Player.Start() 구문을 빠져나간 뒤 다시 Manager.Start()로 
들어가더군요.

Player.Start()는 제가 이해하기로는 unity  ui 상에서
Player라는 컴포넌트가 있으니까 실행이 되는 걸로
이해했습니다.

그런데 Manager.Start()는 왜 다시 또 실행이 되는 건가요?

제 나름대로는 Init()에서 Manager 컴포넌트를 만들어서라고 추측 하긴 했습니다만 그렇다면 만든 지점에서
Start로 넘어가야 하는게 아닌가 해서 이해가 안됩니다.

답변 2

0

송유승님의 프로필 이미지
송유승
질문자

감사합니다!

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

https://docs.unity3d.com/Manual/ExecutionOrder.html

당장 오브젝트를 만들었다고 바로 Start가 호출되는게 아니고,
게임 씬에 오브젝트가 배치되고 난 다음에 유니티가 호출을 해주게 됩니다.
오브젝트가 여러개가 있다면 Start 호출 순서는 또 달라질 수 있습니다.

송유승님의 프로필 이미지
송유승

작성한 질문수

질문하기