BackRoll, 무기 장착(Attachment)
WeaponComponent , Weapon Asset
서로 다른 그룹을 묶어주는 인터페이스
순수 가상 함수로만 구성된 클래스
문이 열리면 어떤 이벤트를 발생시킬 때
문이 열릴 때 -> 바퀴벌레 도망가고 물건 떨어지고 불 켜지는 이벤트
추상 클래스는 객체화 될 수 없다
상속을 통해 자손 클래스에서 구현한다
추상과 가상
추상은 선언만 되어있다
가상은 구현만 되어있다
객체가 UObject로부터 직접 상속을 받았을 경우
객체가 생성이 되었다가 쓰지 않으면 끊긴걸로 간주하고 가비지 컬렉터에서 지워버린다
따라서 직렬화를 통해 계속 사용하는 존재로 만들어줘야한다
UCLASS()
class CPORTFOLIO_API UCWeaponAsset : public UDataAsset //UDataAsset은 UObject를 상속받는다
{
GENERATED_BODY()
private:
UPROPERTY() // 직렬화
class ACAttachment* Attachment;
};
Actor로부터 상속을 받았을 경우
멤버들을 Actor에서 계속해서 관리를 해준다
컴포넌트는 컴포넌트를 소유하면 안된다 꼬임이 발생 할 수 있다
구조
Player에서 Weapon 생성
Player의 BeginPlay 에서 WeaponComponent의 Beginplay 호출
WeaponComponent 에서 데이터 에셋에서 할당된 데이터 호출
WeaponAsset에서는 실제로 액터를 스폰시켜줌
'> Project > Unreal4 C++' 카테고리의 다른 글
[Unreal4 C++] 공격하는 Enemy AI의 수 제한 (0) | 2024.01.27 |
---|---|
[Unreal4 C++] 베지에 곡선을 활용한 Boss_Skill (0) | 2023.11.01 |
[Unreal4 C++] 04 강참조/약참조 (0) | 2023.09.12 |
[Unreal4 C++] 03 (0) | 2023.08.17 |
[Unreal4 C++] 01 Movement (0) | 2023.07.07 |