프로젝트PF - Hp, Mp, Offense, Defense, Speed Component (1)

지용현·2023년 8월 21일

프로젝트PF

목록 보기
15/30
post-thumbnail

1. 계획

각 스탯들을 관리할 컴포넌트 들이다. 각 스탯마다 조금씩 다르고, 구현 할 함수도 조금씩 다르기 때문에 상속구조는 사용하지 않았다.

2. 구성

StatusComponent에서 받아온 스탯은 Base스탯
레벨당 오를 수치는 레벨당 스탯
장비나 버프로 인한 상승 수치를 위한 Added스탯
모든 효과를 적용한 Final 스탯등으로 구성하였다.

LevelComponent의 레벨 업 DELEGATE와 바인딩 할 함수도 만들어두었다.

3. 구현

( Level을 저장할 변수도 만들어 두었고, 현재 체력 변수도 만들었다. )

( Level이 변하거나 아직은 구현하지 않았지만 AddedHpMax의 변화가 있을 경우에 다시 FinalHpMax를 계산해서 적용시킨다. )

  • BeginPlay에서

( LevelComponent의 DELEGATE에 바인딩 하고, 초기화를 위해 레벨을 한번 불러왔다. 그 후 FinalHpMax의 초기화와 현재 체력도 초기화 하였다. )

Mp, Offense, Defense, Speed 등도 비슷한 구현이다.

4. 결과

레벨업 할 때마다 스탯이 잘 갱신되어 적용된다.

5. 다음 계획

현재 Shift를 눌러서 달리기를 할 때 SpeedComponent에서 RunSpeed를 불러와서 적용시키게 구현해두었다. 이것을 델리게이트나 이벤트를 사용하여 SpeedComponent에서 바뀌도록 하고 현재 이 함수는 ShiftPressed로 이름이 되어있고 그렇게 구현되어 있는데 이것을 RunPressed로 바꾸고 그에 맞게 InputAction의 이름도 조정 할 예정이다.
추후 옵션으로 키를 변경하는것을 구현할 때 그게 더 좋을 것 같다.
그리고 캐릭터가 어느정도 구현되었으므로 공격을 구현해야겠다.

profile
게임 개발자 지망생

0개의 댓글