-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
using UnityEngine.EventSystems; 음....
22.09.16 21:10 작성 조회수 246
0
안녕하세요. 좋은 강의 너무 감사합니다.
강의 보면서 궁금하게 있어서 찾아보고 이리 저리 해봐도
이해가 잘 안되는 문법이 있어서 질문 드립니다.
이전 UI 연습에서 사용했던
UI_Button.cs에서는
public void OnButtonClicked(PointerEventData data)
에서 PointerEventData 를 사용하기 위해
using UnityEngine.EventSystems;
선언해주었는데
이번에 만든 UI_Inven_Item.cs에서는
ItemIcon을 바인딩하고 이벤트를 람다로 연결할때는
Get<GameObject>((int)GameObjexts.ItemIcon).AddUIEvent((PointerEventData) => { Debug.Log($"아이템 클릭! {_name}");});
using UnityEngine.EventSystems;를
선언안해주도 되더라고요..
이리 저리 시도해보고 알아보는데 왜 그런지 잘 모르겠습니다.. 차이가 있다면 UI_Inven_Item은 AddUIEvent가
확장 메소드에서 호출이 되고 UI_Button에서는 직접 호출이 되는데.. 잘 모르겠습니다.
어느곳에서는 PointerEventData를 사용하기 위해 using EventSystems를 선언해줘야하고 어느부분에서는 안해주도되고 많이 많이 궁금한니다. ㅠ
답변을 작성해보세요.
0
Rookiss
지식공유자2022.09.22
이 부분에서 직접적으로 PointerEventData 타입을 직접 사용하는게 아니라,
람다식으로 '간접적'으로 사용하는 경우라서 그렇지만
정확히 왜? 그런지 이유까진 저도 모르겠네요.
답변 1