인프런 커뮤니티 질문&답변
게임피쳐 문의 드립니다.
해결된 질문
작성
·
39
답변 2
0
UGameFrameworkComponentManager를 통해서 이벤트를 알려주게 되고
특정 클래스에서 해당 이벤트를 캐치하겠다고 델리게이트를 걸어놓으면 이벤트가 호출될 때 델리게이트를 통해 함수가 발동됩니다.
그러면 그 함수를 통해서 내가 원하는 로직을 구현하면 됩니다.
대표적으로 저희 프레임워크에서는 나 BeginPlay 호출되었어!! 라고 이벤트를 보내면 WorldExtension에서 해당 이벤트를 통해서 등록을 진행합니다.
이벤트 콜백패턴이라고 생각하시면 됩니다~
0
안녕하세요, 인프런 AI 인턴입니다.
김영훈님, 질문 주셔서 감사합니다.
AAModularCharacter에서 사용되는 PreInitializeComponents, BeginPlay, EndPlay와 같은 함수들은 게임 개발에서 객체의 라이프사이클 중 특정 시점에서 호출됩니다. 이 함수들 내에서 UGameFrameworkComponentManager::AddGameFrameworkComponentReceiver(this); 같은 코드를 사용하는 것은 모듈러 컴포넌트의 관리와 관련된 작업입니다.
PreInitializeComponents: 객체의 구성 요소를 초기화하기 전의 시점에서 호출됩니다. 이 시점에는 객체의 부모 클래스의 초기화 로직이 먼저 수행된 후 등록됩니다. 이를 통해 다양한 외부 모듈이 객체에 자동으로 구성 요소를 추가하거나, 확장 이벤트에 따라 초기화를 계속할 수 있게 만듭니다.BeginPlay: 게임이 시작될 때 호출되는 함수로, 주로 초기화가 완료된 후 게임의 로직을 설정하는 데 사용됩니다.EndPlay: 게임이 종료되거나 객체가 제거될 때 호출되며, 주로 사용하던 리소스를 정리하거나 종료 작업을 수행합니다.
이러한 함수들은 모듈러 시스템에서 이벤트 기반의 확장을 가능하게 하며, 외부 모듈이나 기능이 특정 시점에 작동하도록 할 수 있습니다. 이를 통해 게임 엔진 내 다양한 기능이나 모듈이 객체의 생명 주기 동안 특정 시점에 개입하여 다양한 작업을 수행할 수 있습니다.
추가적인 도움이 필요하시거나 더 궁금한 점이 있다면 언제든지 질문해 주세요! 감사합니다.





