void DoAttack(bool resetAttackChain = false) { currentAttackState = (resetAttackChain) ? AttackState.FIRST : (AttackState)(int)currentAttackState + 1; AudioManager.Instance.PlaySoundVaried("Kick" + (int)currentAttackState); //timeSinceLastAttack = 0.0f; playerAnimator.SetInteger("KickState", (int)currentAttackState); playerAnimator.SetTrigger("Attacking"); kickHurtboxActive = true; kickHurtbox.SetActive(true); _pScore.AddTrick(AttackStateToTrick(currentAttackState)); }
void CheckSpinning() { // Just hit the ground if (isGrounded && landedThisFrame) { turnAngleTotal = Mathf.Abs(turnAngleTotal); // Less than 180 if (turnAngleTotal < playerSettings.halfSpinValue) { return; } int numSpins = Mathf.FloorToInt(turnAngleTotal / playerSettings.halfSpinValue); for (int i = 0; i < numSpins; i++) { pScore.AddTrick(Trick.HalfSpin); } GetComponent <PlayerCombatController>().timeSinceLastAttack = 10.0f; } else if (isGrounded) { return; } curYAngle = transform.rotation.eulerAngles.y; turnAngleTotal += Mathf.DeltaAngle(curYAngle, prevYAngle); prevYAngle = curYAngle; landedThisFrame = false; }