Esempio n. 1
0
    public void TransitionToState(ATVBozuState newState)
    {
        ATVBozuState tmpInitialState = CurrentATVBozuState;

        OnStateExit(tmpInitialState, newState);
        CurrentATVBozuState = newState;
        OnStateEnter(newState, tmpInitialState);
    }
Esempio n. 2
0
    public void OnStateEnter(ATVBozuState state, ATVBozuState fromState)
    {
        stateTimer = 0;
        dropTimer  = 0;

        switch (state)
        {
        case ATVBozuState.Idle:
        {
            //animator.SetBool("Idle", true);

            break;
        }

        case ATVBozuState.Shooting:
        {
            Shoot("notflat");
            animator.SetBool("Shoot", true);


            break;
        }

        case ATVBozuState.Sweep:
        {
            animator.SetBool("Sweep", true);
            break;
        }

        case ATVBozuState.Jump:
        {
            GrenadeThrow();

            float jumpVelocity;
            Motor.ForceUnground();
            Gravity           = -(2 * jumpHeight) / Mathf.Pow(timeToJumpApex, 2);
            maxGravity        = Gravity * downMultiplier;
            jumpVelocity      = Mathf.Abs(Gravity) * timeToJumpApex;
            verticalMoveSpeed = jumpVelocity;

            if (jumpForwards)
            {
                moveSpeed += initialForwardVelocity;
            }

            animator.SetBool("Jump", true);

            break;
        }

        case ATVBozuState.Charge:
        {
            animator.SetBool("Charge", true);

            break;
        }

        case ATVBozuState.CurveApproach:
        {
            animator.SetBool("Turn", true);

            break;
        }

        case ATVBozuState.Circle:
        {
            animator.SetBool("Turn", true);

            break;
        }

        case ATVBozuState.TailWhip:
        {
            animator.SetBool("Whip", true);
            activeDrift         = 0;
            tailWhipActiveWidth = curveApproachAngle;

            break;
        }

        case ATVBozuState.TailWhipCoolDown:
        {
            activeDrift         = 0;
            tailWhipActiveWidth = transform.rotation.eulerAngles.y;
            break;
        }

        case ATVBozuState.Fall:
        {
            verticalMoveSpeed = 8;
            stateTimer        = 0;
            break;
        }
        }
    }
Esempio n. 3
0
    public void OnStateExit(ATVBozuState state, ATVBozuState toState)
    {
        switch (state)
        {
        case ATVBozuState.Idle:
        {
            //animator.SetBool("Idle", false);
            break;
        }

        case ATVBozuState.Shooting:
        {
            animator.SetBool("Shoot", false);
            break;
        }

        case ATVBozuState.Sweep:
        {
            animator.SetBool("Sweep", false);
            break;
        }

        case ATVBozuState.Jump:
        {
            timeSinceLastJump = 0;
            verticalMoveSpeed = 0;
            animator.SetBool("Jump", false);
            break;
        }

        case ATVBozuState.Charge:
        {
            animator.SetBool("Charge", false);
            break;
        }

        case ATVBozuState.CurveApproach:
        {
            animator.SetBool("Turn", false);

            break;
        }

        case ATVBozuState.Circle:
        {
            animator.SetBool("Turn", false);

            break;
        }

        case ATVBozuState.TailWhip:
        {
            activeDrift         = 0;
            tailWhipActiveWidth = curveApproachAngle;
            break;
        }

        case ATVBozuState.TailWhipCoolDown:
        {
            animator.SetBool("Whip", false);

            tailWhipActiveWidth = curveApproachAngle;
            break;
        }

        case ATVBozuState.Fall:
        {
            verticalMoveSpeed = 0;
            break;
        }
        }
    }