🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Managers 생성

21.05.24 09:01 작성 조회수 156

0

(@Scene)오브젝트 CursorController.cs의 Start 함수에서 Managers.Resource.Load 호출 시 Managers의 Init 함수가 호출되면서 @Managers오브젝트가 Hierachy에 생성이 되야 된다고 생각을 했는데 안되는거보니 생각이 틀린듯한데

어떤 부분이 틀렸는지 간단하게 답글을 달아주시면 감사하겠습니다

답변 1

답변을 작성해보세요.

1


제 예상으로는 위 코드가 아예 실행이 되지 않고 있는 상황으로 보입니다.
로그를 찍어보거나 breakpoint를 걸어서 Managers의 Init()이 호출되는지 확인 바랍니다.


강의 코드에서는 최소한 한 번 초기화 하도록
위 부분에다가 Init();을 한 번씩 넣어놨을꺼에요.

정상훈님의 프로필

정상훈

질문자

2021.05.24

말씀하신대로 Init() 자체가 왜 인지 호출이 안되던 상황이라 

말씀하신 부분 Resource 프로퍼티 get부분에 Init()을 각각 넣었더니 해결은 됬는데 

Resource나 Canvas 호출 시 return 부분에서 m_instance 호출시 Instance의 get{Init(); return m_instance;}이 호출되는 상황이니 따로 Init()가 필요없다고 생각하는데 왜 이런 상황이 발생하는지 모르겠네요

결과적으로 중복 호출하게 되는셈이 아닌지 궁금합니다

말씀하신 코드 다운로드 받아봐도 get{ return instance.resourceManager;} 이런식으로 되있어서요

m_instance는 static 멤버 변수라서
m_instance를 사용한다고 별도로 Instance를 호출하지 않습니다.
따라서 사전에 한 번 어디선가 Instance를 호출해줘야 합니다.

채널톡 아이콘