Managers의 Start() 함수에 대해서 질문드립니다.
284
작성한 질문수 3
아래 비슷한 질문을 먼저 읽어봤는데, 선생님의 답변
Managers를 Component로 만들었는데,
Scene에 배치된 GameObject에 기생(?)하고 있어야
해당 Component의 Start, Update가 호출됩니다.
을 보고 어느정도 이해가 되었습니다. 그런데 씬에 배치된 @Scene에는 컴포넌트로 Managers스크립트가 아닌 GameScene 스크립트가 들어가 있습니다. 그래서 저는 GameScene 스크립트 파일 코드 중, Managers.UI.ShowSceneUI<UI_Inven>(); 이 부분에서 Managers의 인스턴스를 처음으로 생성하는것으로 이해하고 이 지점에서 브레이킹 포인트를 잡고디버깅을 해보았는데,
이 구문이 실행되기 전에 이미 s_instance에 @Manager가 생성돼있었습니다. 즉 Managers의 start함수에서 init이 먼저 실행되었다는건데, 이때 매니저스는 어느 게임오브젝트에서도 기생하고 있지 않은데 언제 start함수가 실행되서 @Managers가 생성된 것인지 원리를 모르겠습니다..
답변 1
0
그렇다면 s_instance 를 채우는 부분에 breakpoint를 걸고 다시 실행해보시기 바랍니다.
0
Managers의 Init함수에 중단점을 잡고 다시 해보니 호출스택에서 BaseScene의 init이 실행될때 그 안에서 @EvntSystem을 Instantiate하는 Managers.Resource.Instantiate를 타고 들어와서 실행되는 것을 확인할 수 있었습니다. 감사합니다 !!
그런데 선생님 또 하나만 질문을 드리자면 결국에 Managers의 Start는 실행되지 않는건가요..?
좀 기본적인 질문을 묻는것 같아 죄송하네요.. 아직 처음 강의를 보는거라 열심히 따라하면서 보고있지만, ui부분은 코드를 따라치기 벅차고 전체적인 실행흐름을 파악하려고 하면 의문이 가득 생기네요.. 아직 처음이라 그런것일까요?
0
의문이 생길 때는 코드를 눈으로 이해하려고 하기 보단,
지속적으로 breakpoint를 걸고 멈춰보면서 확인하는게 좋습니다.
Managers의 Start도 로그를 찍어보면 물론 실행됩니다!
다만 타이밍이 우리가 원하는 타이밍보다 조금 늦게 실행될 수는 있으니
Managers.를 사용할 때 확인해서 아직 초기화 된 적이 없다면,
강제로 초기화를 해주고 있는 것이죠.
매니저 관련 질문이 있습니다.
0
2
1
비쥬얼 스튜디오에서 unity연결이 없습니다.
0
48
2
UI 기능 관련 질문이 있습니다!
0
48
2
픽셀 좌표 스크린 좌표
0
35
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
85
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
87
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
87
1
Input 적용과 관련하여 질문 있습니다.
0
76
1
디버그 불가.. Unity에 연결 불가
0
85
1
달리기 애니메이션 에러
0
94
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
67
1
GetKey 오류
0
114
2
에셋을 어디에 올려두신지 알 수 있나요?
0
111
1
재귀호출? 오류나는데 왜 이래요 ?
0
170
6
Animation blending 파라미터 계산
0
71
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
100
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
89
2
질문있습니다
0
144
2
아 이거 소스코드 같은거 없나요?
0
144
3
질문 드립니다. string.IsNullOrEmpty(name)
0
89
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
137
2
유니티6 NavMesh 안되는분들
1
178
1
Unity6 Unity-Chan Material 마젠타 문제 해결법
7
537
1
GetComponent<Poolable> 질문드립니다.
0
104
2





