ActorComponent
특정 액터에 원하는 기능을 부여하기 위한 컴포넌트이다
대부분의 컴포넌트들은 기능이 정해져 있었지만
ActorComponent를 상속받아 우리가 직접 기능을 구현해 넣어주면 된다
StatComponent
캐릭터와 몬스터의 스탯을 관리하기 위해 직접 만들어준 ActorComponet로
이벤트(피격, 스킬 사용, …)에 의해 액터의 스탯이 변경되면
델리게이트에 바인드 된 함수를 통해 액터의 스탯 변경을 알리게 만들 수 있다
Transient 키워드
ActorComponent를 상속받은 StatComponet에서
Current-가 붙은 속성들은 계속 정보가 바뀌는 변수이다
이러한 속성의 경우는 .csv 파일에 저장되거나 읽어오지 않는다
따라서 굳이 Serialize 될 필요가 없다
이러한 속성들에는 UPROPERTY() 매크로에
Transient 키워드를 추가해서 굳이 Disk에 저장되지 않게 할 수 있다
UPROPERTY(Transient, VisibleInstanceOnly, BlueprintReadOnly, Category = "USStatComponent", Meta = (AllowPrivateAccess))
float CurrentHP;
bWantsInitializeComponent 속성
InitializeComponent() 함수는 컴포넌트의 초기화 로직을 구현해 주는데,
이 함수가 호출되려면 bWantsInitializeComponent 속성을 true로 해야 한다
USStatComponent::USStatComponent()
{
PrimaryComponentTick.bCanEverTick = false;
bWantsInitializeComponent = false;
}
'게임 엔진 > [코드조선] 언리얼' 카테고리의 다른 글
언리얼 Game Data - Game Module (0) | 2024.05.17 |
---|---|
언리얼 Game Data - GameInstance (0) | 2024.05.17 |
언리얼 AI - Decorator (0) | 2024.05.16 |
언리얼 AI - Blackboard Key (0) | 2024.05.16 |
언리얼 AI - Behavior Tree, Blackboard (0) | 2024.05.16 |