코딩 시작한지 을마 안된 뉴비인데 Object Missing 때문에 Null Ref 나는 에러를 해결을 못하는 중임

코딩 ㅈ 고수들님 헬프 좀 ㅜㅜ


지금 이것저것 해보고 있는데 너무 막 하고 있는 거 같은데 방향 좀 봐줘,,


1. Game Manager 싱글톤으로 사용

2. Game Manager 에서 특정 버튼으로 UI를 끄고 키고 있음

3. Game Manager에 public 변수 선언해서, 인스펙터에서 씬에 있는 UI Object 할당함


4. 낙사 하면 현재 씬 다시 로드함

5. 로드하게되면 싱글톤인 Game Manager는 안사라짐

6. 근데, 물고있던 UI Object는 사라짐. 그리고 새 씬의 UI 오브젝트가 따로 생성됨

7. 그래서 Game Manager에서 Null Ref 에러남


8. UI를 Prefab으로  만들어서 null 이면 인스턴시에시트 해서 사용하게 함

9. 근데 UI Prefab 안에서도, 사용하는 변수들 중에 씬 위에 있는 오브젝트를 물고있는 것들이 있어서 프리펩화가 잘 안됨.

10. 변수들 public 에서 private로 변경하고, 인스턴시에시트할 때  FindFirstObjectByType<모시기모시기>(), parentTransform.Find("모시기모시기") 사용해서 씬에서 찾게 만듬

11. 이렇게 하는게 맞나 싶음



[Game Manager.cs]

a15714ab041eb360be3335625683746f0153452cd6a4eb890b9df62c37a1c326aa5aaedcce327bd962f8ea19dec469b4f9d1b7eaae9b




[UI : ViewFinder.cs]

a15714ab041eb360be3335625683746f0153452cd6a4eb890b9df62c37a1c326aa5aaedccb3e7bd962f8ea19dec469b4907cd936a32e





추가로 하나 더 궁금한건

Game Manager에서 인스턴시에시트 하고나서

이후에 ToggleViewFinder 매서드 사용하는데 Unassigned Reference 에러 발생할까


인스턴시에시트하면 Start에서 Find로 찾는 tileGridUI 할당하는데

왜 unassigned 에러 발생하는거임?


인스턴시에시트가 바로 오브젝트 만들어서 초기화하는게 아니라

오브젝트 만들거라고 생각만 해두고서

Update 로직 마저 다돌고서 다음 프레임에 오브젝트 만드는 건가?