티스토리 뷰
Constructing the ASC and AS
이제 Rider에서 AbilitySystemComponent와 AttribueSet을 추가해줄 것이다.
먼저 AuraCharacterBase 클래스에 ASC와 AS를 가리키는 포인터를 추가한다.
여기서 중요한 것은 해당 클래스에서 실제 객체를 만드는 것이 아니라,포인터만 보관한다는 것이다.

적 캐릭터의 경우 직접 ASC와 AS를 소유하고, 플레이어 캐릭터의 경우 PlayerState가 ASC와 AS를 소유한다.
따라서 먼저 Enemy 클래스의 생성자에서 직접 생성해주자.
이때 멀티플레이를 위해 ASC의 Replication 설정해주는 것도 잊으면 안된다.

이번엔 플레이어 캐릭터 차례이다.
직전의 Enemy의 경우 AuraCharacterBase에서 상속된 클래스이기에 생성자에서 바로 설정해줬지만, PlayerState의 경우에는 별개이기에 헤더에서 포인터를 다시 작성해주어야 한다.


GAS에서는 AbilitySystemInterface를 구현해주는 것이 일반적이다.
해당 기능은 Actor가 ASC를 가지고 있는지 확인하고 쉽게 가져오기 위해서 사용된다.
AuraCharacterBase의 public에서 이를 상속받도록 해줄 것이며, 이를 위해 build에서 private로 선언했던 코어를 public으로 바꿔주자.

그리고 이를 AuraCharacterBase에서 상속시켜줄 것이다.

인터페이스에는 순수 가상 함수인 virtual UAbilitySystemComponent* GetAbilitySystemComponent() const = 0; 만 존재한다.
AbilitySystemComponent를 반환하도록 강제하는 인터페이스이며, 이에 맞게 해당 함수에서 ASC 포인터를 반환하도록 구현한다.
또한 AttributeSet에 대해서도 Getter 함수를 만들어 인터페이스와 비슷한 방식으로 AttributeSet에 쉽게 접근할 수 있도록 하였다.


'Unreal > Udemy 강의' 카테고리의 다른 글
| Gameplay Ability System - Top Down RPG / Section 3-5 (0) | 2026.03.09 |
|---|---|
| Gameplay Ability System - Top Down RPG / Section 3-4 (0) | 2026.03.08 |
| Gameplay Ability System - Top Down RPG / Section 3-3 (0) | 2026.03.08 |
| Gameplay Ability System - Top Down RPG / Section 3-2 (0) | 2026.03.07 |
| Gameplay Ability System - Top Down RPG / Section 3-1 (0) | 2026.03.07 |
