프로젝트PF 리팩토링 및 추가 (5)

지용현·2024년 1월 16일

프로젝트PF

목록 보기
27/30
post-thumbnail

1. HealthBarWidgetComponent 추가

Enemy에 체력바를 띄우기 위해 WidgetComponent를 기반으로 클래스를 생성하였다.
AttributeComponent의 OnHPChanged에 함수를 바인드하여 체력이 바뀔 때 마다 HealthBarWidget을 업데이트 해준다.

2. HealthBarWidget 추가

UserWidget을 기반으로하는 체력 바를 생성하였다. ProgressBar를 사용하였다.

3. Damage받는 함수 추가

AttributeComponent에 ReceiveDamage함수를 추가하였고 CharacterBase에
virtual void ReceiveDamage 함수를 추가해서 자식 클래스에서 재정의할수있게 구현하였다.

4. CharacterBase, PlayerBase 리팩토링

AttributeComponent를 CharacterBase에 선언하게 됨으로서 PlayerBase에 있던 변수 선언은 삭제되었다. CharacterBase의 ReceiveDamage에서 기본적으로 AttributeComponent->ReceiveDamage를 호출하도록 설정해두었다.

5. EnemyBase 내용 추가

HealthBarWidgetComponent를 추가했고 TakeDamage override, 체력 변경시 호출될 함수와 ReceiveDamage를 override해두었다.

6. 결과물

Text는 임시로 알아보기 쉽게 추가해두었다.
ApplyDamage와 TakeDamage가 잘 적용되고 HP변경에 따른 위젯 업데이트도 잘 적용되었다.

profile
게임 개발자 지망생

0개의 댓글