Wizard 공격 모드가 갖는 세 가지 스킬을 변수로 생성합니다. 각각 "BP_WizardSkill", "BP_WizardSkill_Heal", "BP_WizardSkill_Warp", 그리고 "BP_WizardSkill_Throw"를 참조합니다.
3. BeginPlay 이벤트 BP_Wizard의 BeginPlay에 연결된 Spawn&Attack Heal 노드 그룹 내부 화면먼저, Combat Type 상태 변경과 함께, Skill( Heal, Warp, Throw(투적 마법)) 별 필요한 Actor를 Spawn 그리고 Attach 합니다.
4. Attack 입력 이벤트 구현 BP_Wizard 이벤트 그래프 "Attack" 이벤트 구현BP_Wizard의 이벤트 그래프 중 "EndAttack" 이벤트 구현"Attack" 이벤트는 "BP_Weapon"의 함수로 구현이 없는 순수 가상 메서드로 취급해봅시다. 따라서, "BP_Wizard"에서 오버라이딩 합니다ㅎㅎ. "BPI_Weapon"에서 제공하고 "BP_Player"에서 정의한 "SetState"를 호출해서 상태 변경을 진행합니다. 더불어, "BP_WizardSkill"에서 선언한 "Spell"을 호출합니다.
2. BP_Wizard::ChangeSkill 함수 구현
BP_Wizard 내부 "ChangeSkill" 함수 구현 화면
"OnFocus"이벤트와 "OffFocus"이벤트는 "BP_WizardSkill"에서 선언한 커스텀 이벤트로 Skill 변경을 위해 필요한 커스텀 이벤트입니다. 각각 새로운 Wizard Skill이 정해질 경우 현재 Skill을 "OffFocus"하고, 새로운 Wizard Skill을 "OnFocus"합니다.
"Spell"과 "EndSpell" 커스텀 이벤트 또한 하위 클래스들에서 상세 구현을 진행할 예정입니다.
2. BP_WizardSkill::GetOwner To Wizard
BP_WizardSkill::ChangeSkill 구현 내부
간단합니다. Owner(BP_Wizard)를 얻어오기 위한 함수입니다. "BP_WizardSkill"은 "BP_Wizard"와 하위 스킬들과 연결하기 위한 클래스로, 하위 클래스들의 상세 구현을 위해 비교적 더 필요한 "BP_Wizard"를 쉽게 얻어올 수 있도록 함수를 정의합니다. (굳이 BP_WizardSkill이 필요한가 싶지만, 일단 진행해보겠습니다...)