
각 스탯들을 관리할 컴포넌트 들이다. 각 스탯마다 조금씩 다르고, 구현 할 함수도 조금씩 다르기 때문에 상속구조는 사용하지 않았다.
StatusComponent에서 받아온 스탯은 Base스탯
레벨당 오를 수치는 레벨당 스탯
장비나 버프로 인한 상승 수치를 위한 Added스탯
모든 효과를 적용한 Final 스탯등으로 구성하였다.LevelComponent의 레벨 업 DELEGATE와 바인딩 할 함수도 만들어두었다.
( Level을 저장할 변수도 만들어 두었고, 현재 체력 변수도 만들었다. )
( Level이 변하거나 아직은 구현하지 않았지만 AddedHpMax의 변화가 있을 경우에 다시 FinalHpMax를 계산해서 적용시킨다. )
- BeginPlay에서
( LevelComponent의 DELEGATE에 바인딩 하고, 초기화를 위해 레벨을 한번 불러왔다. 그 후 FinalHpMax의 초기화와 현재 체력도 초기화 하였다. )
Mp, Offense, Defense, Speed 등도 비슷한 구현이다.
레벨업 할 때마다 스탯이 잘 갱신되어 적용된다.
현재 Shift를 눌러서 달리기를 할 때 SpeedComponent에서 RunSpeed를 불러와서 적용시키게 구현해두었다. 이것을 델리게이트나 이벤트를 사용하여 SpeedComponent에서 바뀌도록 하고 현재 이 함수는 ShiftPressed로 이름이 되어있고 그렇게 구현되어 있는데 이것을 RunPressed로 바꾸고 그에 맞게 InputAction의 이름도 조정 할 예정이다.
추후 옵션으로 키를 변경하는것을 구현할 때 그게 더 좋을 것 같다.
그리고 캐릭터가 어느정도 구현되었으므로 공격을 구현해야겠다.