• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

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를 선언해줘야하고 어느부분에서는 안해주도되고 많이 많이 궁금한니다. ㅠ

 

 

 

답변 1

답변을 작성해보세요.

0

image
이 부분에서 직접적으로 PointerEventData 타입을 직접 사용하는게 아니라,
람다식으로 '간접적'으로 사용하는 경우라서 그렇지만
정확히 왜? 그런지 이유까진 저도 모르겠네요.