Ejemplo n.º 1
0
    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;
    }