Skip to content

GameObject

29thnight edited this page Nov 27, 2025 · 1 revision

GameObject

간단 설명: 씬 내 엔티티로서 컴포넌트, 트랜스폼, 태그/레이어, 자식 계층을 관리하는 기본 오브젝트.

생성자

시그니처 설명
기본 이름/인덱스/타입 초기화(Serializable)
(scene, name, type, index, parentIndex) 새 씬 오브젝트 생성
(scene, instanceID, name, type, index, parentIndex) 로드/복원 시 인스턴스 ID 포함 생성

이름/태그/레이어

메서드 설명
SetName(name) 오브젝트 이름 설정(중복 처리 외부)
GetHashedName() 해시된 이름 반환(HashingString)
SetTag(tag) / SetLayer(layer) 태그/레이어 설정 및 매니저 등록
RemoveSuffixNumberTag() 자동 붙은 숫자 접미사를 제거한 원래 이름 반환

컴포넌트 관리

메서드 설명
AddComponent(Meta::Type) 리플렉션으로 컴포넌트 생성/추가
AddScriptComponent(scriptName) 모듈 스크립트 컴포넌트 추가
GetComponent(Meta::Type) / GetComponentByTypeID(id) 타입/ID로 검색
템플릿 AddComponent<T>(...) 타입 T 컴포넌트 생성/추가(가변 인자 지원)
템플릿 GetComponent<T>() 첫 번째 T 타입 컴포넌트 반환
템플릿 GetComponentDynamicCast<T>() RTTI 동적 캐스팅 검색
템플릿 GetComponents<T>() 모든 T 타입 컴포넌트 벡터 반환
템플릿 GetComponentsInChildren<T>() 자식 포함 재귀 검색
RefreshComponentIdIndices() 컴포넌트 ID 인덱스 맵 재구축
RemoveComponentIndex(id) / RemoveComponentTypeID(typeID) 인덱스/타입 ID로 제거
RemoveScriptComponent(name/ptr) 스크립트 컴포넌트 제거
RemoveComponent(Meta::Type&) 리플렉션 타입으로 제거

찾기(정적/씬 한정)

메서드 설명
Find(name) / FindIndex(index) 전역 씬에서 이름/인덱스 검색
FindInstanceID(guid) / FindAttachedID(guid) GUID 기반 조회
OwnerSceneFind(name/index/guid/attachedGuid) 자신의 씬 내에서만 검색

상태/속성

메서드 설명
Destroy() 파괴 마크 및 컴포넌트 정리(override final)
SetEnabled(bool) 활성/비활성 전환(컴포넌트 브로드캐스트)
SetStatic(bool) / IsStatic() 정적 객체 플래그 관리(컬링/베이크 용)
SetCollisionType() / GetCollisionType() 레이어/마스크 기반 충돌 타입 설정/조회
GetType() GameObjectType 반환
GetScene() 소유 씬 포인터 반환

인덱스 유틸

함수 설명
IsValidIndex(index) 유효 인덱스인지 검사
IsInvalidIndex(index) 무효 인덱스인지 검사

계층 구조

필드 설명
m_index 씬 배열 내 자신의 인덱스
m_parentIndex 부모 오브젝트 인덱스 (없으면 INVALID_INDEX)
m_rootIndex 루트(스켈레톤/트리 최상위) 인덱스
m_childrenIndices 자식 인덱스 배열

트랜스폼/식별 관련 주요 필드

필드 설명
m_transform 위치/회전/스케일 및 계층 변환 데이터
m_attachedSoketID 소켓에 부착된 경우 식별 GUID
m_prefabFileGuid 프리팹 원본 GUID
m_removedSuffixNumberTag 숫자 접미사 제거된 원래 이름 캐시
m_components 추가된 컴포넌트 shared_ptr 리스트
m_componentIds 컴포넌트 GUID→리스트 인덱스 맵

태그/레이어/타입/정적 플래그

필드 설명
m_tag 태그 문자열(HashingString)
m_layer 레이어 문자열(HashingString)
m_gameObjectType 오브젝트 유형(enum)
m_isStatic 정적 여부

CreatorEngine

API Docs

API Reference
Main
PhysicsSystem
RenderEngine
ScriptBinder
Utility_Framework

etc

Clone this wiki locally