Life Archive
article thumbnail

Base Equippable Actor Class

 

: Implement functionality inside the base equippable actor that you want all equippable items to inherit.

- Equip/Unequip functionality

- Attach functionality

즉, 장착/미장착 여부와 장착 시 손에 붙이는 가장 베이스 역할을 한다. 아래 클래스들은 이 클래스를 상속받아서 실행한다.


Base Weapon Actor Class

 

: Inherits functionality of base equippable so that the functionality can be accessed or overriden. Implement functionality all weapons will need to inherit in the base weapon.

상위 클래스에서 상속받아 Access 하던지 Overriden 하던지 하게 된다. 무기 스크립트들은 이 클래스를 상속받아야한다.

 

Example weapon 1, Example weapon 2, Example weapon 3 ...

: To create mulitple different weapons, create them as child classes of the base weapon

각각의 무기들은 Base Weapon Actor Class를 상속받아 Base Equippable Actor Class까지 상속받게 된다.


정리하자면, 가장 상위에는 장착했는지/안했는지 (초기화 변수인 bIsEquipped?를 선언)

그 하위에는 장착한게 무기인지/다른 장비인지

(초기화 변수인 HandSocketName과 bIsAttachedToHand?를 선언 - 무기이니까 손 Socket을 중심으로 변수 선언)

(무기가 아닌 다른 장비(갑옷 등)이라면 Hand가 아닌 Chest 등으로 변수를 선언할 것임)

 

그 하위에는 어떤 무기인지/장비인지

(상위 클래스들에서 선언한 변수들을 직접 체킹하거나 string으로 넣음)

 

BP_CombatCharacter라는 캐릭터 매쉬가 있는 BP에서 Main Weapon으로 타입을

BP_BaseWeapon으로 선언하여 사용한다.

 

BP_CombatCharacter의 BeginPlay에 SpawnActor 노드를 추가하여 시작할 때 BP Tough Sword가 액터가 소환되도록 하고,

 

가장 상위 클래스의 function인 OnEquipped를 실행하여 IsEquipped 변수를 True로 Setting하면서

동시에 BP_ToughSword에 Attach Socket Name에 넣었던 변수 소켓 자리에 장착되도록 설정한다.

 

BP_CombatCharacter - BeginPlay
가장 상위 클래스인 BP_BaseEquippable의 OnEquipped Function