Unity Engine/Unity UI

UI_Manager #1 팝업창을 열어보자. UIManager 스크립트를 생성하고 UI_Popup도 만들어 base를 상속 시켰다. public class UIManager { private int _order = 0; //스택 구조를 사용한다. Stack _popupStack = new Stack(); // == 이름, string name == 프리팹 이름, T == 스크립트 public T ShowPopupUI(string name = null) where T : UI_Popup { if (string.IsNullOrEmpty(name)) name = typeof(T).Name; GameObject go = Managers.Resource.Instantiate($"UI/Popup/{name}"); ..
지난번에 이벤트를 작성을했다. 이벤트를 하나하나 추가하지않고 깔끔하게 바꾸는 방법을 알아보자. UI_EventHandler evt = go.GetComponent(); evt.onDragHnalder += ((PointerEventData data) => { evt.gameObject.transform.position = data.position; }); 부분을 복사해서 UI_Base로 넘어간다. public static void AddUIEvent() { UI_EventHandler evt = go.GetComponent(); evt.onDragHnalder += ((PointerEventData data) => { evt.gameObject.transform.position = data.positio..
PointerEventData: 이벤트 시스템에서 포인터 이벤트(마우스, 터치)등을 처리할 때 사용한다. 포인트 위치추적(커서),이벤트 타입 식별, 대상 식별, 드래그 앤 드롭, 클릭 횟수 및 버튼 종류 등의 입력 정보를 알수있게 된다. 이벤트 방식을 쓰려면 당연하게도 Callback을 이용해야한다. UI_EventHandler를 생성하고, 기존 UI에 Image를 추가해준다. 그렇다면 생성된 이미지를 드래그해서 옮겨보도록하자. 드래그 첫 클릭때 발생하는 IBeginDragHandler, 드래그시에 발동되는 IDragHander 인터페이스를 추가하고 transform.position을 이벤트데이터(현재 마우스 위치)로 이동시키도록 해보자. 가볍게 인터페이스로 구현한고 transfrom.position을 ..
지난번에 바인딩을 하였다. 이제는 바인딩 한 값을 가져와보도록 하려고 한다. 또, UI에 GameObject를 불러오는 법과, Button에서 전부 컨트롤할수 없으므로 스크립트를 나눠 상속 받게 할 것이다. public class UI_Button : MonoBehaviour { Dictionary _objects = new Dictionary private void Start() { Bind(typeof(Buttons)); Bind(typeof(Texts)); } private void Bind(Type type) wherer T : UnityEngine.Object { string[] names = Enum.GetNames(type)//enum string 변환 UnityEngine.Object[] ..
드래그 앤 드롭을 사용하지않고, 이름으로 찾아서 매핑해주자. UI_Button (Canvas) -PointButton (Button) -PointText (BtnText) -ScoreText (text) 먼저 enum으로 타입을 정해준다. enum Buttons { PointButton } enum Texts { PointText, ScoreText } public class UI_Button : MonoBehaviour { private void Start() { Bind(typeof(Buttons)); Bind(typeof(Texts)); } private void Bind(Type type) { //리플렉션을 위한 Type } } ================================= 제너릭 ..
Muru
'Unity Engine/Unity UI' 카테고리의 글 목록