진행한 것들

죽음 상태 추가

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가 있는 게 더 좋다는 생각이 들었다. 다음부터는 하나 진행할 때마다 캡처도 잘 하는 습관을 들여야겠다.

주말에는 예비군 때문에 해결하지 못했던 버그들을 수정하고 빌드해서 테스트를 진행할 생각이다. 내일도 파이팅!

+ Recent posts