나는 생각했다.
Fun 하고 Cool하며 Sexy하게 GetCompoenet를 해오는 방법을...
그리고 생각해 냈다.
GetCompoenet를 사용한다는 건 애초에 그 객체에 저 Compoenet가 붙어 있다는 것을 가정한다.
그런데 만약 객체에 컴포넌트가 붙어있지 않다면 다시 붙이는 수고를 해야 한다.
그렇기에 생각해 냈다.
엄청난 방법을
컴포넌트가 없으면 컴포넌트를 붙이고 가져오는 것이다.
코드는 매우 간단하다.
public static T GetOrAddCompoenet<T>(GameObject go) where T : UnityEngine.Component
{
if(go == null)
return null;
T compoent = go.GetComponent<T>(); //객체에서 컴포넌트를 가져온다.
if (compoent == null) //만약 객체에 컴포넌트가 붙어있지 않다면
compoent = go.AddComponent<T>(); //객체에 컴포넌트를 추가하고 가져온다.
return compoent; //가져온 컴포넌트를 반환
}
이상으로 GetCompoenet를 Fun 하고 Cool하며 Sexy하게 해 보았다.
이상한 글 읽어 주셔서 감사합니다.
'개발' 카테고리의 다른 글
[Unity] NullCheck의 익힘 정도를 굉장히 중요시 여기기에... (1) | 2024.10.20 |
---|---|
[키우기 게임 1일차] 키우기 게임 만들기 시작 (3) | 2024.10.11 |
[Unity] 객체 초기화 상태 관리 (5) | 2024.10.01 |
C++ 큐 (0) | 2024.04.23 |
C++ 템플릿 (0) | 2024.04.19 |