현제 18세 인 필자는 학교에서 남는 시간들을 이용해 키우기 게임을 만들고자 한다.
만드는 이유는 간단하다 한 번쯤 만들어 보고 싶었기 때문이다.
게임의 UI의 레이아웃은 [캣 히어로]라는 게임을 참고하였다.
사용한 UI는 아래의 UI이다.
현재 19.99달러이지만 번들로 구매하여 싸게 구할 수 있었다.
1일 차에는 UI와 플레이어가 움직이는 것을 구현하였다.
일단 리소스 관리는 Addressables로 관리를 하였고
UI_Base 및 UI_EventHandler 를 제작하였다. 아래는 UI_EventHandler 코드이다.
using System;
using UnityEngine;
using UnityEngine.EventSystems;
public class UI_EventHandler :
MonoBehaviour,
IPointerDownHandler,
IPointerClickHandler,
IPointerEnterHandler,
IPointerUpHandler,
IPointerMoveHandler,
IPointerExitHandler
{
public event Action<PointerEventData> OnClickHandler = null;
public event Action<PointerEventData> OnDownHandler = null;
public event Action<PointerEventData> OnUpHandler = null;
public event Action<PointerEventData> OnEnterHandler = null;
public event Action<PointerEventData> OnDragHandler = null;
public event Action<PointerEventData> OnExitHandler = null;
public void OnPointerClick(PointerEventData eventData)=>
OnClickHandler.Invoke(eventData);
public void OnPointerDown(PointerEventData eventData)=>
OnDownHandler.Invoke(eventData);
public void OnPointerEnter(PointerEventData eventData)=>
OnEnterHandler.Invoke(eventData);
public void OnPointerExit(PointerEventData eventData) =>
OnExitHandler.Invoke(eventData);
public void OnPointerMove(PointerEventData eventData) =>
OnDragHandler.Invoke(eventData);
public void OnPointerUp(PointerEventData eventData) =>
OnUpHandler.Invoke(eventData);
}
UI에서 자주 사용하는 이벤트 등을 코드에 한번에 넣어 놓았고 UI_Base에서 가져와서 사용 할 수 있게 만들어 놓았다.
자주하는 프로젝트가 아니기에 자주 올리지는 못 할 것 같다.
'개발' 카테고리의 다른 글
[Unity] NullCheck의 익힘 정도를 굉장히 중요시 여기기에... (1) | 2024.10.20 |
---|---|
[Unity] 스마트한 GetCompoenet 만들기 (0) | 2024.10.04 |
[Unity] 객체 초기화 상태 관리 (5) | 2024.10.01 |
C++ 큐 (0) | 2024.04.23 |
C++ 템플릿 (0) | 2024.04.19 |