// Update is called once per frame
	void Update () {
		m_animController.SetWasPlayingClip();

		CalculateVelocity();
		HandleWallSliding();

		controller.Move(velocity * Time.deltaTime, directionalInput);

		//call here to make sure we're incorporating platform influence on player
		if (controller.collisions.above || controller.collisions.below) {
			if (controller.collisions.slidingDownMaxSlope) {
				velocity.y += controller.collisions.slopeNormal.y * -gravity * Time.deltaTime;
			} else {
				velocity.y = 0;
			}
		}

		//Handle remaining animation cases
		if (IsStandingStill()) {
			m_animController.HandleIdle();
		}
		else if (IsLanding()) {
			m_animController.HandleLanding();
		}
		else if (IsInHangTime()) {
			m_animController.HandleAirHangTime();
		}
		else if (IsRunning()) {
			m_animController.HandleRunning(Mathf.Sign(directionalInput.x));
		}
		else {
			m_animController.HandleIdle();
		}
	}
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        m_animController.SetWasPlayingClip();

        CalculateVelocity();
        HandleWallSliding();

        controller.Move(velocity * Time.deltaTime, directionalInput);

        //call here to make sure we're incorporating platform influence on player
        if (controller.collisions.above || controller.collisions.below)
        {
            if (controller.collisions.slidingDownMaxSlope)
            {
                velocity.y += controller.collisions.slopeNormal.y * -gravity * Time.deltaTime;
            }
            else
            {
                velocity.y = 0;
            }
        }

        animator.SetBool("Grounded", controller.collisions.below);
        animator.SetFloat("VelocityX", Mathf.Abs(velocity.x) / moveSpeed);
        animator.SetFloat("VelocityY", velocity.y);
        animator.SetBool("WallSliding", wallSliding);


        /* if (wallSliding) {
         *      return;
         * }
         * //Handle remaining animation cases
         * else if (IsStandingStill()) {
         *      m_animController.HandleIdle();
         * }
         * else if (IsLanding()) {
         *      m_animController.HandleLanding();
         * }
         * else if (IsInHangTime()) {
         *      m_animController.HandleAirHangTime();
         * }
         * else if (IsRunning()) {
         *      m_animController.HandleRunning(Mathf.Sign(directionalInput.x));
         * }
         * else {
         *      m_animController.HandleIdle();
         * } */
    }
    // Update is called once per frame
    void Update()
    {
        m_animController.SetWasPlayingClip();

        CalculateVelocity();
        HandleWallSliding();

        controller.Move(velocity * Time.deltaTime, directionalInput);

        //call here to make sure we're incorporating platform influence on player
        if (controller.collisions.above || controller.collisions.below)
        {
            if (controller.collisions.slidingDownMaxSlope)
            {
                velocity.y += controller.collisions.slopeNormal.y * -gravity * Time.deltaTime;
            }
            else
            {
                velocity.y = 0;
            }
        }
    }