Q2. Gameplay Framework의 핵심 클래스들을 설명할 수 있나요?
A:
AActor: 엔진에서 가장 기본이 되는 객체. 모든 오브젝트는 AActor에서 파생됨.
APawn: 플레이어나 AI가 조종할 수 있는 객체. AActor를 상속받음.
ACharacter: APawn을 확장한 클래스. 이동 및 애니메이션 관련 기능 포함.
AController: APawn을 조작하는 클래스. APlayerController(플레이어 입력), AAIController(AI 조종)로 구분됨.
AGameModeBase: 게임의 규칙과 로직을 정의하는 클래스. 서버에서만 실행됨.
AGameStateBase: 게임의 전체적인 상태를 관리하는 클래스. 클라이언트에서도 동작.
APlayerState: 개별 플레이어의 상태를 저장하는 클래스 (점수, 팀 정보 등).
2. 라이프사이클 및 실행 흐름
Q3. AActor의 라이프사이클을 설명할 수 있나요?
A:
AActor의 기본적인 라이프사이클은 다음과 같습니다:
Spawn - SpawnActor()를 통해 생성.
PreInitializeComponents - 컴포넌트 초기화 전 실행.
PostInitializeComponents - 컴포넌트 초기화 후 실행.
BeginPlay - 게임이 시작될 때 실행됨.
Tick - 매 프레임마다 실행됨.
EndPlay - 액터가 삭제되거나 레벨이 변경될 때 실행됨.
Destroy - Destroy() 호출 시 액터가 제거됨.