728x90
반응형
https://docs.unity3d.com/kr/530/ScriptReference/RequireComponent.html
사용 중인 프리팹에 꼭 필요한 없어서는 안 될 component를 실수로 제거하지 않도록 도와주는 class
간단한 예시로
ScrollRect과 ContentManage.cs 이 두 개의 component만 있는 object가 있을 때
ContentManage.cs에
#if UNITY_EDITOR
using UnityEditor;
#endif
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
[RequireComponent (typeof(Rigidbody))]
public class ContentManage : MonoBehaviour
{
[Header("--- 세팅 ---")]
[SerializeField, Tooltip("GO - 사용 될 content item")]
GameObject _go_item = null;
[SerializeField, Tooltip("필요한 item의 amount - 높이 계산에 필요")]
float _amount = 0;
[SerializeField, Tooltip("사용 될 ScrollView의 부모 패널 - [ 최대 사이즈(sizeDelta.y)를 알기 위함 ]")]
RectTransform _RTR_parentView = null;
[SerializeField, Tooltip("RectTransform - content")]
RectTransform _RTR_content = null;
[SerializeField, Tooltip("GridLayoutGroup - Init시 여러 계산에 필요")]
GridLayoutGroup _GLG_content = null;
[SerializeField, Tooltip("ContentSizeFitter - 아이템 생성 후 enabled false")]
ContentSizeFitter _CSF_content = null;
이런 식으로 class 위에 RequireComponent로 Rigidbody를 선언해두면
이런 식으로 Rigidbody component가 없다고 경고를 준 뒤 자동으로 생성해주며
Rigidbody를 제거하려고 하면 지울 수 없다는 팝업을 띄우며 제거를 방지해줌
* 간혹 재사용할 프리팹들을 만들 때 추후 까먹지 않기 위해 사용하기 좋음
반응형
'Unity > Tips' 카테고리의 다른 글
Unity 구글 Play 게임즈 서비스 설정(구글 로그인 요즘 느낌으로 다가) (6) | 2022.04.03 |
---|---|
Unity Android 빌드 후 국가별(언어별) 앱 이름 대응 (2) | 2022.03.16 |
Unity UI 사이즈 조절 [ RectTransform - sizeDelta] (0) | 2022.03.10 |
Unity UI 위치 변경 [ RectTransform - anchoredPosition ] (0) | 2022.02.21 |
Unity transform.parent 보단 SetParent()를 사용하자 (0) | 2022.02.20 |