void FixedUpdate()
    {
        //Jump
        bool getButtonA     = GetComponent <PlayerBinput>().JumpButton.Pressed;
        bool getButtonADown = GetComponent <PlayerBinput>().JumpButton.PressDown;
        bool getButtonAUp   = GetComponent <PlayerBinput>().JumpButton.PressUp;

        bool getButtonB     = GetComponent <PlayerBinput>().BallButton.Pressed;
        bool getButtonBDown = GetComponent <PlayerBinput>().BallButton.PressDown;
        bool getButtonBUp   = GetComponent <PlayerBinput>().BallButton.PressUp;

        bool getButtonR1     = GetComponent <PlayerBinput>().RollButton.Pressed;
        bool getButtonR1Down = GetComponent <PlayerBinput>().RollButton.PressDown;
        bool getButtonR1Up   = GetComponent <PlayerBinput>().RollButton.PressUp;


        if ((Input.GetButton("A") || getButtonA) && Player.Grounded)
        {
            JumpAction.InitialEvents();
            Actions.ChangeAction(1);
        }

        //Skidding

        if (Player.b_normalSpeed < -SkiddingStartPoint && Player.Grounded)
        {
            Player.isRolling = false;
            Player.AddVelocity(Player.rigidbody.velocity.normalized * SkiddingIntensity);
            if (!hasSked && Player.Grounded)
            {
                sounds.SkiddingSound();
                hasSked = true;
            }
            if (Player.SpeedMagnitude < 4)
            {
                Player.b_normalSpeed = 0;
                hasSked = false;
            }
        }
        else
        {
            hasSked = false;
        }


        //Set Homing attack to true
        if (Player.Grounded)
        {
            Actions.Action02.HomingAvailable = true;
        }
    }
Ejemplo n.º 2
0
    void FixedUpdate()
    {
        //Jump

        if (Input.GetButton("A") && Player.Grounded)
        {
            JumpAction.InitialEvents();
            Actions.ChangeAction(1);
        }

        //Skidding

        if (Player.b_normalSpeed < -SkiddingStartPoint && Player.Grounded)
        {
            Player.isRolling = false;
            Player.AddVelocity(Player.rigidbody.velocity.normalized * SkiddingIntensity);
            if (!hasSked && Player.Grounded)
            {
                sounds.SkiddingSound();
                hasSked = true;
            }
            if (Player.SpeedMagnitude < 4)
            {
                Player.b_normalSpeed = 0;
                hasSked = false;
            }
        }
        else
        {
            hasSked = false;
        }


        //Set Homing attack to true
        if (Player.Grounded)
        {
            Actions.Action02.HomingAvailable = true;
        }
    }
Ejemplo n.º 3
0
    void Update()
    {
        if (Input.GetButtonDown("A") && Player.Grounded)
        {
            JumpAction.InitialEvents();
            Actions.ChangeAction(1);
        }

        //Set Animator Parameters
        if (Player.Grounded)
        {
            CharacterAnimator.SetInteger("Action", 0);
        }
        CharacterAnimator.SetFloat("YSpeed", Player.rigidbody.velocity.y);
        CharacterAnimator.SetFloat("XZSpeed", Mathf.Abs((Player.rigidbody.velocity.x + Player.rigidbody.velocity.z) / 2));
        CharacterAnimator.SetFloat("GroundSpeed", Player.rigidbody.velocity.magnitude);
        CharacterAnimator.SetFloat("HorizontalInput", Input.GetAxis("Horizontal") * Player.rigidbody.velocity.magnitude);
        CharacterAnimator.SetBool("Grounded", Player.Grounded);
        CharacterAnimator.SetFloat("NormalSpeed", Player.b_normalSpeed + SkiddingStartPoint);

        //Set Camera to back
        if (Input.GetButton("RightStickIn"))
        {
            //Lock camera on behind
            Cam.Cam.FollowDirection(6, 14f, -10, 0);
            Cam.Cam.FollowDirection(15, 6);
        }

        //Do Spindash
        if (Input.GetButton("B") && Player.Grounded && Player.GroundNormal.y > MaximumSlope && Player.rigidbody.velocity.sqrMagnitude < MaximumSpeed)
        {
            Actions.ChangeAction(3); Actions.Action03.InitialEvents();
        }

        //Check if rolling
        if (Player.Grounded && Player.isRolling)
        {
            CharacterAnimator.SetInteger("Action", 1);
        }
        CharacterAnimator.SetBool("isRolling", Player.isRolling);

        //Play Rolling Sound
        if (Input.GetButtonDown("R1") && Player.Grounded && (GetComponent <Rigidbody>().velocity.sqrMagnitude > Player.RollingStartSpeed))
        {
            sounds.SpinningSound();
        }

        //Set Character Animations and position1
        CharacterAnimator.transform.parent = null;

        //Set Skin Rotation
        if (Player.Grounded)
        {
            Vector3 newForward = Player.rigidbody.velocity - transform.up * Vector3.Dot(Player.rigidbody.velocity, transform.up);

            if (newForward.magnitude < 0.1f)
            {
                newForward = CharacterAnimator.transform.forward;
            }

            CharRot = Quaternion.LookRotation(newForward, transform.up);
            CharacterAnimator.transform.rotation = Quaternion.Lerp(CharacterAnimator.transform.rotation, CharRot, Time.deltaTime * skinRotationSpeed);

            // CharRot = Quaternion.LookRotation( Player.rigidbody.velocity, transform.up);
            // CharacterAnimator.transform.rotation = Quaternion.Lerp(CharacterAnimator.transform.rotation, CharRot, Time.deltaTime * skinRotationSpeed);
        }
        else
        {
            Vector3    VelocityMod = new Vector3(Player.rigidbody.velocity.x, 0, Player.rigidbody.velocity.z);
            Quaternion CharRot     = Quaternion.LookRotation(VelocityMod, -Player.Gravity.normalized);
            CharacterAnimator.transform.rotation = Quaternion.Lerp(CharacterAnimator.transform.rotation, CharRot, Time.deltaTime * skinRotationSpeed);
        }

        if (Actions.Action02 != null)
        {
            //Do a homing attack
            if (!Player.Grounded && Input.GetButtonDown("A") && Actions.Action02Control.HasTarget && Actions.Action02.HomingAvailable)
            {
                if (Actions.Action02Control.HomingAvailable)
                {
                    sounds.HomingAttackSound();
                    Actions.Action02.IsAirDash = false;
                    Actions.ChangeAction(2);
                    Actions.Action02.InitialEvents();
                }
            }
            //If no tgt, do air dash;
            if (!Player.Grounded && Input.GetButtonDown("A") && !Actions.Action02Control.HasTarget && Actions.Action02.HomingAvailable && CanDashDuringFall && Actions.Action08 == null)
            {
                if (Actions.Action02Control.HomingAvailable)
                {
                    sounds.AirDashSound();
                    Actions.Action02.IsAirDash = true;
                    Actions.ChangeAction(2);
                    Actions.Action02.InitialEvents();
                }
            }
        }
        //Do a Bounce Attack
        if (!Player.Grounded && Input.GetButtonDown("X"))
        {
            Actions.ChangeAction(6);
            //Actions.Action06.ShouldStomp = false;
            Actions.Action06.InitialEvents();
        }

        //Do a DropDash Attack
        if (Actions.Action08 != null)
        {
            if (!Player.Grounded && Input.GetButtonDown("A") && Actions.Action08 != null && !Actions.Action02Control.HasTarget)
            {
                Actions.Action08.DropDashAvailable = false;
                Actions.ChangeAction(8);
                Actions.Action08.InitialEvents();
            }

            if (Player.Grounded && Actions.Action08.DropEffect.isPlaying)
            {
                Actions.Action08.DropEffect.Stop();
            }
        }

        //Do a LightDash Attack
        if (Input.GetButtonDown("Y") && Actions.Action07Control.HasTarget)
        {
            Actions.ChangeAction(7);
            Actions.Action07.InitialEvents();
        }
    }