진행한 것들
죽음 상태 추가
PlayerStatHandler 클래스의 Damaged 함수에서 체력이 0이 될 때 이벤트를 발생하여 StateMachine에서 DieState로 상태를 변경해준다.
public class PlayerStatHandler : IDamageable, IBurnable
{
public PlayerSO Data { get; private set; }
private PlayerSO _baseData;
private Dictionary<StatType, float> _multipleStats;
private Dictionary<StatType, float> _overrideStats;
public event Action DieAction;
public void Damaged(float damage)
{
float curValue = Mathf.Max(Data.Health - damage, 0.0f);
Data.Health = curValue;
if(curValue == 0.0f)
{
DieAction?.Invoke();
}
}
}
public class PlayerDieState : PlayerStateBase
{
public PlayerDieState(PlayerStateMachine stateMachine) : base(stateMachine)
{
}
public override void Enter()
{
if (stateMachine.IsDead)
return;
stateMachine.SetDead(true);
animationController.PlayAnimation(animationsData.dieParameterHash, true);
OnDead();
}
public override void UpdateState()
{
if (!stateMachine.IsDead)
stateMachine.ChangeState(stateMachine.MoveState);
}
public override void Exit()
{
stateMachine.SetDead(false);
animationController.PlayAnimation(animationsData.dieParameterHash, false);
InitInputActions();
}
}
오늘의 이슈 / 내일 할 것
오늘 이슈
문제점 : 애니메이션이 동작했을 때 바닥에서 붕 뜨는 버그가 있었다.
해결 : 애니메이션의 Root Transform의 Bake Into Pose를 체크하여 해결하였다.
주말에 해결할 버그들
- 공격 시 구르기 안 나가는 버그
- 공격 버튼 선입력 버그
- 아이템 점프 현재 count 갱신 안 되는 버그
오늘의 회고
오늘은 플레이어의 죽음 상태를 추가하고 중간 발표 준비를 진행했다. TIL과 회고 노트를 보면서 자료들을 잘 살펴봤는데 한 것을 글로만 적는 것보다 이미지나 gif가 있는 게 더 좋다는 생각이 들었다. 다음부터는 하나 진행할 때마다 캡처도 잘 하는 습관을 들여야겠다.
주말에는 예비군 때문에 해결하지 못했던 버그들을 수정하고 빌드해서 테스트를 진행할 생각이다. 내일도 파이팅!
'스파르타 Unity 1기' 카테고리의 다른 글
DevLog - 이그라엘(IGRAL) 피격 효과와 보스 패턴 기획 (1) | 2023.11.14 |
---|---|
DevLog - 이그라엘(IGRAL) 콤보 애니메이션 버그 (1) | 2023.11.13 |
DevLog - 이그라엘(IGRAL) 데미지 계산 적용 변경 (0) | 2023.11.06 |
DevLog - 이그라엘(IGRAL) 전체 테스트와 데미지 계산 (1) | 2023.11.03 |
DevLog - 이그라엘(IGRAL) 플레이어 연속 공격 (0) | 2023.11.02 |