public void StartStagger() { OnAttackInterrupt(); animator.SetState(PigmanAnimatorState.Stagger); phase = PigmanAttackPhase.Stagger; staggerTimeLeft = RandomRange.FromVector(data.staggerTime); }
public void StartParry() { OnAttackInterrupt(); animator.SetState(PigmanAnimatorState.Parry); phase = PigmanAttackPhase.Parry; parryTimeLeft = RandomRange.FromVector(data.parryTime); AudioSingleton.PlaySound(AudioSingleton.Instance.clips.parry); }
public void StateExit() { animationEvents.OnAttackEnd -= OnAttackEnd; if (phase != PigmanAttackPhase.Prepare) { // reset prepare timer :/ phase = PigmanAttackPhase.None; } }
private Bt PrepareForAttackUpdate() { if (timeToAttackLeft <= 0) { phase = PigmanAttackPhase.Attack; animator.SetState(PigmanAnimatorState.Attack); } else { timeToAttackLeft -= Time.deltaTime; } return(Bt.Running); }
private void PrepareForAttack() { timeToAttackLeft = RandomRange.FromVector(data.prepareTimeToAttack); animator.SetState(PigmanAnimatorState.Idle); phase = PigmanAttackPhase.Prepare; }