2024/10 4

[Unity] NullCheck의 익힘 정도를 굉장히 중요시 여기기에...

저는 평소에 NullCheck는 매우 중요하게 생각했습니다.. 하지만 일일이 요런 식으로 이븐 하지 못한 코드를 계속 사용하기에는 코드를 짜는 시간이 매우 아까웠습니다.그렇기에 저는 아래의 코드를 만들어 넀습니다.using UnityEngine;using System;public static class Util{ public static bool NullCheck(T Value) { if (Value == null) { Type type = typeof(T); Debug.LogError($"{type.ToString()} Is Null"); return false; } return tr..

개발 2024.10.20

[키우기 게임 1일차] 키우기 게임 만들기 시작

현제 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 : MonoBeha..

개발 2024.10.11

[Unity] 스마트한 GetCompoenet 만들기

나는 생각했다. Fun 하고 Cool하며 Sexy하게 GetCompoenet를 해오는 방법을...그리고 생각해 냈다. GetCompoenet를 사용한다는 건 애초에 그 객체에 저 Compoenet가 붙어 있다는 것을 가정한다.그런데 만약 객체에 컴포넌트가 붙어있지 않다면 다시 붙이는 수고를 해야 한다. 그렇기에 생각해 냈다.엄청난 방법을 컴포넌트가 없으면 컴포넌트를 붙이고 가져오는 것이다.  코드는 매우 간단하다. public static T GetOrAddCompoenet(GameObject go) where T : UnityEngine.Component { if(go == null) return null; T compoent = go.GetCompon..

개발 2024.10.04

[Unity] 객체 초기화 상태 관리

게임을 만들다 보면 객체를 초기화하는 함수를 작성할 때가 있습니다. 하지만 가끔 객체가 초기화가 여러번 호출될 때가 존재합니다. 그것을 보안하기위해 요즘에는 아래의 코드를 사용합니다.using UnityEngine;public class InitBase : MonoBehaviour{ private bool _init = false; //초기화 확인 public virtual bool Init() //초기화 함수 { if (_init) //초기화가 됬다면 return false; //false 반환 _init = true; // 초기화 완료 return true; // true 반환 } private void Awake()..

개발 2024.10.01
반응형