GameObject Activate / DeActivate
public bool activeInHierarchy { get; }
씬 안에서 게임 오브젝트가 활성화 상태인지 알 수 있다. 이것은 activeSelf 의 속성이 true인 것 뿐만아니라 부모의 경우도 마찬가지로 활성화 됨을 보장한다.
public bool activeSelf { get; }
게임 오브젝트의 로컬 활성화 상태를 알 수 있다. GameObject.SetActive(true)로 엑티브 상태를 활성화해도 부모가 비활성 상태라면 씬 안에서 보이지 않는다.
public void SetActive(bool value); 게임 오브젝트를 활성화/ 비활성화 한다.
GameObject Destroy
public static void Destroy(Object obj, float t = 0.0F);
게임 오브젝트 또는 컴포넌트를 제거 한다. (옵션으로 t초 후 시간 지연가능) 실제 객체 파기는 현재 Update 루프 이후까지 지연되지만 렌더링 전에는 항상 수행된다.
public static void DontDestroyOnLoad(Object target);
새로운 씬을 로드할 때 장면의 모든 오브젝트가 우선 파괴되고 새로운 씬에 다음 오브젝트들이 로드된다.
씬 레벨 로딩 중에 객체가 파괴되는 것을 막기 위해서는 DontDestroyOnLoad를 호출하여야 한다.
public static void DestroyImmediate(Object obj, bool allowDestroyingAssets = false);
(destroy는 Update에서 한프레임이 끝날 때까지 지연되는 이유로 만약 에디터모드에서 destroy 해야 할일이 있을 때는 DestroyImmediate를 사용해야한다.)
또는 싱글턴 패턴에서 객체를 하나만 유지해야 하는 경우, 기존 인스턴스가 존재할 때 추가 생성 되는 걸 막는 용도로 사용된다.
'UnityEngine > API 스크립팅' 카테고리의 다른 글
[게임오브젝트] Layers, Tag (0) | 2018.06.14 |
---|---|
[Find 메서드] Find, GetChild, GetInstanceID (0) | 2018.06.12 |
[트랜스폼 메서드] Translate, Rotate, TransformDirection (0) | 2018.06.10 |
[쿼터니언 메서드] Quaternion... (0) | 2018.06.10 |
[트랜스폼 속성] position, scale, rotation, eulerAngles (0) | 2018.06.09 |