• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Bind 함수에 대한 질문입니다

23.03.27 16:45 작성 조회수 232

0

Bind<T>를 하게 되면 해당 T 타입에 대하여 UI_Base에 있는 _objects에 저장이 되는 걸로 이해했는데, 그럴 경우 같은 Type을 서로 다른 코드에서 각자 부르게 되면 중복되어 사라지거나, 충돌이 일어나지는 않는 지 궁금합니다.

예를 들어 UI_Button에서도 Init() 함수에서 Bind<GameObject>를 하고, UI_Inven에서도 Init() 함수에서 Bind<GameObject>를 하는데 이럴 경우 _objects에 이미 GameObject type에 대한 정보가 들어있는데 같은 type을 또 한번 bind하게 되는 게 아닌가요?

왜 아무 문제가 없는 건지, 아니면 제가 C# 문법에 대해 잘못 생각하고 있는 건지 궁금합니다..ㅜㅜ

감사합니다

답변 1

답변을 작성해보세요.

0

동일한 객체에 대해서 두 번 Bind<GameObject>를 하면 말씀하신 문제가 발생하지만
애당초 각기 다른 객체가 하는 각각 하는 것은 아무런 문제가 없습니다.
왜냐하면 각자의 _objects Dictionary를 들고 있기 때문이죠.
말씀하신 문제가 발생하려면
objects를 static으로 해야 합니다.

밍시님의 프로필

밍시

질문자

2023.03.28

_objects Dictionary는 UI_Base에 있는 거여도 static이 아니면 상속하는 자식들(UI_Button, UI_Inven)을 가지고 있는 객체에 따라 각자 소유하고 있다는 말씀이실가요?