인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

밍시님의 프로필 이미지
밍시

작성한 질문수

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

인벤토리 실습 #2

Bind 함수에 대한 질문입니다

작성

·

336

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

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

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

밍시님의 프로필 이미지
밍시
질문자

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

밍시님의 프로필 이미지
밍시

작성한 질문수

질문하기