dash is working better!
This commit is contained in:
		@@ -20,12 +20,12 @@ public class PlayerBehavior : MonoBehaviour
 | 
			
		||||
    [Header("Clarinet:")]
 | 
			
		||||
    bool unlockedClarinet;
 | 
			
		||||
    [SerializeField] private float dashMult = 2;
 | 
			
		||||
    [SerializeField] private float maxDashTime = 5.0f;
 | 
			
		||||
    [SerializeField] private float maxDashTime = 2.0f;
 | 
			
		||||
    [SerializeField] private float dashStopSpeed = 0.01f;
 | 
			
		||||
    private float currentDashTime;
 | 
			
		||||
    public bool isDash = false;
 | 
			
		||||
    public Vector2 moveDirection;
 | 
			
		||||
    public float dashDistance = 5;
 | 
			
		||||
    public Vector3 moveDirection;
 | 
			
		||||
    public float dashDistance = 0.1f;
 | 
			
		||||
 | 
			
		||||
    [Header("Grappling:")]
 | 
			
		||||
    [SerializeField] public Tutorial_GrapplingGun grapplingGun;
 | 
			
		||||
@@ -104,17 +104,17 @@ public class PlayerBehavior : MonoBehaviour
 | 
			
		||||
                currentDashTime = 0.0f;
 | 
			
		||||
                playerInput.DeactivateInput();
 | 
			
		||||
            }
 | 
			
		||||
            if (!playerController.IsGrounded() && (currentDashTime < maxDashTime))
 | 
			
		||||
            if (!playerController.IsGrounded() && (currentDashTime < maxDashTime) && isDash)
 | 
			
		||||
            {
 | 
			
		||||
                if(forward == 1)
 | 
			
		||||
                {   
 | 
			
		||||
                    moveDirection = transform.right * dashDistance;
 | 
			
		||||
                    moveDirection = new Vector3(1f,-1f,0f) * dashDistance;
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    moveDirection = -(transform.right) * dashDistance;
 | 
			
		||||
                    moveDirection = new Vector3(-1f,-1f,0f) * dashDistance;
 | 
			
		||||
                }
 | 
			
		||||
                //_rb.AddForce(dashSpeed, ForceMode2D.Force);
 | 
			
		||||
                transform.position = transform.position + moveDirection;
 | 
			
		||||
                currentDashTime += dashStopSpeed;
 | 
			
		||||
                print("cdt " + currentDashTime);
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -110,240 +110,224 @@ public class PlayerMovement : MonoBehaviour
 | 
			
		||||
 | 
			
		||||
    private void Update()
 | 
			
		||||
    {
 | 
			
		||||
        isDashing = playerBehavior.isDash;
 | 
			
		||||
        if(isDashing)
 | 
			
		||||
        unlockedTrumpet = stateController.unlockedTrumpet;
 | 
			
		||||
        #region TIMERS
 | 
			
		||||
        LastOnGroundTime -= Time.deltaTime;
 | 
			
		||||
        LastOnWallTime -= Time.deltaTime;
 | 
			
		||||
        LastOnWallRightTime -= Time.deltaTime;
 | 
			
		||||
        LastOnWallLeftTime -= Time.deltaTime;
 | 
			
		||||
 | 
			
		||||
        LastPressedJumpTime -= Time.deltaTime;
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region INPUT HANDLER
 | 
			
		||||
 | 
			
		||||
        if (_moveInput.x != 0)
 | 
			
		||||
            CheckDirectionToFace(_moveInput.x > 0);
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        // if (!IsJumping)
 | 
			
		||||
        // {
 | 
			
		||||
        //     print("not jumping");
 | 
			
		||||
        // }
 | 
			
		||||
        // else
 | 
			
		||||
        // {
 | 
			
		||||
        //     print("jumping, " + RB.velocity.y);
 | 
			
		||||
        // }
 | 
			
		||||
 | 
			
		||||
        #region COLLISION CHECKS
 | 
			
		||||
        if (!IsJumping)
 | 
			
		||||
        {
 | 
			
		||||
            FreezeControl();
 | 
			
		||||
        }
 | 
			
		||||
        else{
 | 
			
		||||
            
 | 
			
		||||
            if(isFrozen)
 | 
			
		||||
            //Ground Check
 | 
			
		||||
            if (IsGrounded()) //checks if set box overlaps with ground
 | 
			
		||||
            {
 | 
			
		||||
                Data.gravityStrength = tempGrav;
 | 
			
		||||
                Data.fallGravityMult = tempFall;
 | 
			
		||||
                isFrozen = false;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            unlockedTrumpet = stateController.unlockedTrumpet;
 | 
			
		||||
            #region TIMERS
 | 
			
		||||
            LastOnGroundTime -= Time.deltaTime;
 | 
			
		||||
            LastOnWallTime -= Time.deltaTime;
 | 
			
		||||
            LastOnWallRightTime -= Time.deltaTime;
 | 
			
		||||
            LastOnWallLeftTime -= Time.deltaTime;
 | 
			
		||||
 | 
			
		||||
            LastPressedJumpTime -= Time.deltaTime;
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
            #region INPUT HANDLER
 | 
			
		||||
 | 
			
		||||
            if (_moveInput.x != 0)
 | 
			
		||||
                CheckDirectionToFace(_moveInput.x > 0);
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
            // if (!IsJumping)
 | 
			
		||||
            // {
 | 
			
		||||
            //     print("not jumping");
 | 
			
		||||
            // }
 | 
			
		||||
            // else
 | 
			
		||||
            // {
 | 
			
		||||
            //     print("jumping, " + RB.velocity.y);
 | 
			
		||||
            // }
 | 
			
		||||
 | 
			
		||||
            #region COLLISION CHECKS
 | 
			
		||||
            if (!IsJumping)
 | 
			
		||||
            {
 | 
			
		||||
                //Ground Check
 | 
			
		||||
                if (IsGrounded()) //checks if set box overlaps with ground
 | 
			
		||||
                {
 | 
			
		||||
                    LastOnGroundTime = Data.coyoteTime; //if so sets the lastGrounded to coyoteTime
 | 
			
		||||
                    if (unlockedTrumpet) {
 | 
			
		||||
                        trumpet = 2;
 | 
			
		||||
                LastOnGroundTime = Data.coyoteTime; //if so sets the lastGrounded to coyoteTime
 | 
			
		||||
                if (unlockedTrumpet) {
 | 
			
		||||
                    trumpet = 2;
 | 
			
		||||
                    gameUI.ToggleTrumpet(true);
 | 
			
		||||
                } else {
 | 
			
		||||
                    trumpet = -1;
 | 
			
		||||
                }
 | 
			
		||||
                wasGrappling = false;
 | 
			
		||||
                isRegFalling = false;
 | 
			
		||||
            } else {
 | 
			
		||||
                // print("not jumping");
 | 
			
		||||
                if(!_isJumpFalling && !isRegFalling) {
 | 
			
		||||
                    if(unlockedTrumpet) {
 | 
			
		||||
                        trumpet = 1;
 | 
			
		||||
                        gameUI.ToggleTrumpet(true);
 | 
			
		||||
                    } else {
 | 
			
		||||
                        trumpet = -1;
 | 
			
		||||
                    }
 | 
			
		||||
                    wasGrappling = false;
 | 
			
		||||
                    isRegFalling = false;
 | 
			
		||||
                } else {
 | 
			
		||||
                    // print("not jumping");
 | 
			
		||||
                    if(!_isJumpFalling && !isRegFalling) {
 | 
			
		||||
                        if(unlockedTrumpet) {
 | 
			
		||||
                            trumpet = 1;
 | 
			
		||||
                            gameUI.ToggleTrumpet(true);
 | 
			
		||||
                        } else {
 | 
			
		||||
                            trumpet = -1;
 | 
			
		||||
                        }
 | 
			
		||||
                        isRegFalling = true;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                //Right Wall Check
 | 
			
		||||
                if (((Physics2D.OverlapBox(this.transform.position, _wallCheckSize, 0, _groundLayer) && IsFacingRight)
 | 
			
		||||
                        || (Physics2D.OverlapBox(this.transform.position, _wallCheckSize, 0, _groundLayer) && !IsFacingRight)) && !IsWallJumping)
 | 
			
		||||
                    LastOnWallRightTime = Data.coyoteTime;
 | 
			
		||||
 | 
			
		||||
                //Right Wall Check
 | 
			
		||||
                if (((Physics2D.OverlapBox(this.transform.position, _wallCheckSize, 0, _groundLayer) && !IsFacingRight)
 | 
			
		||||
                    || (Physics2D.OverlapBox(this.transform.position, _wallCheckSize, 0, _groundLayer) && IsFacingRight)) && !IsWallJumping)
 | 
			
		||||
                    LastOnWallLeftTime = Data.coyoteTime;
 | 
			
		||||
 | 
			
		||||
                //Two checks needed for both left and right walls since whenever the play turns the wall checkPoints swap sides
 | 
			
		||||
                LastOnWallTime = Mathf.Max(LastOnWallLeftTime, LastOnWallRightTime);
 | 
			
		||||
            }
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
            #region JUMP CHECKS
 | 
			
		||||
            if (IsJumping && RB.velocity.y <= 0)
 | 
			
		||||
            {
 | 
			
		||||
                IsJumping = false;
 | 
			
		||||
                // print("isJumping " + IsJumping);
 | 
			
		||||
 | 
			
		||||
                if (!IsWallJumping)
 | 
			
		||||
                    _isJumpFalling = true;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (IsWallJumping && Time.time - _wallJumpStartTime > Data.wallJumpTime)
 | 
			
		||||
            {
 | 
			
		||||
                IsWallJumping = false;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (LastOnGroundTime > 0 && !IsJumping && !IsWallJumping)
 | 
			
		||||
            {
 | 
			
		||||
                _isJumpCut = false;
 | 
			
		||||
 | 
			
		||||
                if (!IsJumping)
 | 
			
		||||
                    _isJumpFalling = false;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            //Jump
 | 
			
		||||
            if (CanJump() && LastPressedJumpTime > 0)
 | 
			
		||||
            {
 | 
			
		||||
                IsJumping = true;
 | 
			
		||||
                IsWallJumping = false;
 | 
			
		||||
                _isJumpCut = false;
 | 
			
		||||
                _isJumpFalling = false;
 | 
			
		||||
                Jump();
 | 
			
		||||
                
 | 
			
		||||
                if (!IsGrounded() && in_range && trumpet > 0)
 | 
			
		||||
                {
 | 
			
		||||
                    gameObject.transform.Find("Trumpet").GetComponent<AudioSource>().Play();
 | 
			
		||||
                    enemy.GetComponent<EnemyPatrol>().DefeatEnemy();
 | 
			
		||||
                    enemy = null;
 | 
			
		||||
                    in_range = false;
 | 
			
		||||
                }
 | 
			
		||||
                else if (!IsGrounded() && !in_range && trumpet > 0)
 | 
			
		||||
                {
 | 
			
		||||
                    trumpet -= 1;
 | 
			
		||||
                }
 | 
			
		||||
                // check if double jump, play sound
 | 
			
		||||
                if (trumpet == 0) {
 | 
			
		||||
                    gameObject.transform.Find("Trumpet").GetComponent<AudioSource>().Play();
 | 
			
		||||
                    isRegFalling = true;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // stop sound if needed
 | 
			
		||||
            if (soundPlaying && (isRegFalling || IsJumping || _isJumpFalling)) {
 | 
			
		||||
                print("footsteps stop");
 | 
			
		||||
                audioSource.Stop();
 | 
			
		||||
                soundPlaying = false;
 | 
			
		||||
            }
 | 
			
		||||
            //Right Wall Check
 | 
			
		||||
            if (((Physics2D.OverlapBox(this.transform.position, _wallCheckSize, 0, _groundLayer) && IsFacingRight)
 | 
			
		||||
                    || (Physics2D.OverlapBox(this.transform.position, _wallCheckSize, 0, _groundLayer) && !IsFacingRight)) && !IsWallJumping)
 | 
			
		||||
                LastOnWallRightTime = Data.coyoteTime;
 | 
			
		||||
 | 
			
		||||
            //WALL JUMP
 | 
			
		||||
            // else if (CanWallJump() && LastPressedJumpTime > 0)
 | 
			
		||||
            // {
 | 
			
		||||
            //     IsWallJumping = true;
 | 
			
		||||
            //     IsJumping = false;
 | 
			
		||||
            //     _isJumpCut = false;
 | 
			
		||||
            //     _isJumpFalling = false;
 | 
			
		||||
            //     _wallJumpStartTime = Time.time;
 | 
			
		||||
            //     _lastWallJumpDir = (LastOnWallRightTime > 0) ? -1 : 1;
 | 
			
		||||
            //
 | 
			
		||||
            //     WallJump(_lastWallJumpDir);
 | 
			
		||||
            // }
 | 
			
		||||
            #endregion
 | 
			
		||||
            //Right Wall Check
 | 
			
		||||
            if (((Physics2D.OverlapBox(this.transform.position, _wallCheckSize, 0, _groundLayer) && !IsFacingRight)
 | 
			
		||||
                || (Physics2D.OverlapBox(this.transform.position, _wallCheckSize, 0, _groundLayer) && IsFacingRight)) && !IsWallJumping)
 | 
			
		||||
                LastOnWallLeftTime = Data.coyoteTime;
 | 
			
		||||
 | 
			
		||||
            #region GRAPPLE CHECKS
 | 
			
		||||
            // set wasGrappling to true if the player starts grappling
 | 
			
		||||
            if (grapplingRope.isGrappling) {
 | 
			
		||||
                wasGrappling = true;
 | 
			
		||||
            }
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            #region SLIDE CHECKS
 | 
			
		||||
            if (CanSlide() && ((LastOnWallLeftTime > 0 && _moveInput.x < 0) || (LastOnWallRightTime > 0 && _moveInput.x > 0)))
 | 
			
		||||
                IsSliding = true;
 | 
			
		||||
            else
 | 
			
		||||
                IsSliding = false;
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
            #region GRAVITY
 | 
			
		||||
            //Higher gravity if we've released the jump input or are falling
 | 
			
		||||
            if (IsSliding)
 | 
			
		||||
            {
 | 
			
		||||
                SetGravityScale(0);
 | 
			
		||||
            }
 | 
			
		||||
            else if (RB.velocity.y < 0 && _moveInput.y < 0)
 | 
			
		||||
            {
 | 
			
		||||
                //Much higher gravity if holding down
 | 
			
		||||
                SetGravityScale(Data.gravityScale * Data.fastFallGravityMult);
 | 
			
		||||
                //Caps maximum fall speed, so when falling over large distances we don't accelerate to insanely high speeds
 | 
			
		||||
                RB.velocity = new Vector2(RB.velocity.x, Mathf.Max(RB.velocity.y, -Data.maxFastFallSpeed));
 | 
			
		||||
            }
 | 
			
		||||
            else if (_isJumpCut)
 | 
			
		||||
            {
 | 
			
		||||
                //Higher gravity if jump button released
 | 
			
		||||
                SetGravityScale(Data.gravityScale * Data.jumpCutGravityMult);
 | 
			
		||||
                RB.velocity = new Vector2(RB.velocity.x, Mathf.Max(RB.velocity.y, -Data.maxFallSpeed));
 | 
			
		||||
            }
 | 
			
		||||
            else if ((IsJumping || IsWallJumping || _isJumpFalling) && Mathf.Abs(RB.velocity.y) < Data.jumpHangTimeThreshold)
 | 
			
		||||
            {
 | 
			
		||||
                SetGravityScale(Data.gravityScale * Data.jumpHangGravityMult);
 | 
			
		||||
            }
 | 
			
		||||
            else if (RB.velocity.y < 0)
 | 
			
		||||
            {
 | 
			
		||||
                //Higher gravity if falling
 | 
			
		||||
                SetGravityScale(Data.gravityScale * Data.fallGravityMult);
 | 
			
		||||
                //Caps maximum fall speed, so when falling over large distances we don't accelerate to insanely high speeds
 | 
			
		||||
                RB.velocity = new Vector2(RB.velocity.x, Mathf.Max(RB.velocity.y, -Data.maxFallSpeed));
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                //Default gravity if standing on a platform or moving upwards
 | 
			
		||||
                SetGravityScale(Data.gravityScale);
 | 
			
		||||
            }
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
            #region SOUND CHECKS
 | 
			
		||||
            if (!IsJumping && !_isJumpFalling && !isRegFalling && _moveInput.x != 0) {
 | 
			
		||||
                if (!soundPlaying) {
 | 
			
		||||
                    // print("footsteps PLAY");
 | 
			
		||||
                    audioSource.Play();
 | 
			
		||||
                    soundPlaying = true;
 | 
			
		||||
                }
 | 
			
		||||
            } else if (soundPlaying && audioSource.clip.name == "footsteps") {
 | 
			
		||||
                // print("footsteps stop");
 | 
			
		||||
                audioSource.Stop();
 | 
			
		||||
                soundPlaying = false;
 | 
			
		||||
            }
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
            #region UPDATE UI
 | 
			
		||||
            if (trumpet == 0) {
 | 
			
		||||
                gameUI.ToggleTrumpet(false);
 | 
			
		||||
            }
 | 
			
		||||
            /*if (isDashing)
 | 
			
		||||
            {
 | 
			
		||||
                gameUI.ToggleClarinet(false);
 | 
			
		||||
                print("toggle clarinet false?");
 | 
			
		||||
            }*/
 | 
			
		||||
            #endregion
 | 
			
		||||
            //Two checks needed for both left and right walls since whenever the play turns the wall checkPoints swap sides
 | 
			
		||||
            LastOnWallTime = Mathf.Max(LastOnWallLeftTime, LastOnWallRightTime);
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region JUMP CHECKS
 | 
			
		||||
        if (IsJumping && RB.velocity.y <= 0)
 | 
			
		||||
        {
 | 
			
		||||
            IsJumping = false;
 | 
			
		||||
            // print("isJumping " + IsJumping);
 | 
			
		||||
 | 
			
		||||
            if (!IsWallJumping)
 | 
			
		||||
                _isJumpFalling = true;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (IsWallJumping && Time.time - _wallJumpStartTime > Data.wallJumpTime)
 | 
			
		||||
        {
 | 
			
		||||
            IsWallJumping = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (LastOnGroundTime > 0 && !IsJumping && !IsWallJumping)
 | 
			
		||||
        {
 | 
			
		||||
            _isJumpCut = false;
 | 
			
		||||
 | 
			
		||||
            if (!IsJumping)
 | 
			
		||||
                _isJumpFalling = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //Jump
 | 
			
		||||
        if (CanJump() && LastPressedJumpTime > 0)
 | 
			
		||||
        {
 | 
			
		||||
            IsJumping = true;
 | 
			
		||||
            IsWallJumping = false;
 | 
			
		||||
            _isJumpCut = false;
 | 
			
		||||
            _isJumpFalling = false;
 | 
			
		||||
            Jump();
 | 
			
		||||
            
 | 
			
		||||
            if (!IsGrounded() && in_range && trumpet > 0)
 | 
			
		||||
            {
 | 
			
		||||
                gameObject.transform.Find("Trumpet").GetComponent<AudioSource>().Play();
 | 
			
		||||
                enemy.GetComponent<EnemyPatrol>().DefeatEnemy();
 | 
			
		||||
                enemy = null;
 | 
			
		||||
                in_range = false;
 | 
			
		||||
            }
 | 
			
		||||
            else if (!IsGrounded() && !in_range && trumpet > 0)
 | 
			
		||||
            {
 | 
			
		||||
                trumpet -= 1;
 | 
			
		||||
            }
 | 
			
		||||
            // check if double jump, play sound
 | 
			
		||||
            if (trumpet == 0) {
 | 
			
		||||
                gameObject.transform.Find("Trumpet").GetComponent<AudioSource>().Play();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // stop sound if needed
 | 
			
		||||
        if (soundPlaying && (isRegFalling || IsJumping || _isJumpFalling)) {
 | 
			
		||||
            print("footsteps stop");
 | 
			
		||||
            audioSource.Stop();
 | 
			
		||||
            soundPlaying = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //WALL JUMP
 | 
			
		||||
        // else if (CanWallJump() && LastPressedJumpTime > 0)
 | 
			
		||||
        // {
 | 
			
		||||
        //     IsWallJumping = true;
 | 
			
		||||
        //     IsJumping = false;
 | 
			
		||||
        //     _isJumpCut = false;
 | 
			
		||||
        //     _isJumpFalling = false;
 | 
			
		||||
        //     _wallJumpStartTime = Time.time;
 | 
			
		||||
        //     _lastWallJumpDir = (LastOnWallRightTime > 0) ? -1 : 1;
 | 
			
		||||
        //
 | 
			
		||||
        //     WallJump(_lastWallJumpDir);
 | 
			
		||||
        // }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region GRAPPLE CHECKS
 | 
			
		||||
        // set wasGrappling to true if the player starts grappling
 | 
			
		||||
        if (grapplingRope.isGrappling) {
 | 
			
		||||
            wasGrappling = true;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        #region SLIDE CHECKS
 | 
			
		||||
        if (CanSlide() && ((LastOnWallLeftTime > 0 && _moveInput.x < 0) || (LastOnWallRightTime > 0 && _moveInput.x > 0)))
 | 
			
		||||
            IsSliding = true;
 | 
			
		||||
        else
 | 
			
		||||
            IsSliding = false;
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region GRAVITY
 | 
			
		||||
        //Higher gravity if we've released the jump input or are falling
 | 
			
		||||
        if (IsSliding)
 | 
			
		||||
        {
 | 
			
		||||
            SetGravityScale(0);
 | 
			
		||||
        }
 | 
			
		||||
        else if (RB.velocity.y < 0 && _moveInput.y < 0)
 | 
			
		||||
        {
 | 
			
		||||
            //Much higher gravity if holding down
 | 
			
		||||
            SetGravityScale(Data.gravityScale * Data.fastFallGravityMult);
 | 
			
		||||
            //Caps maximum fall speed, so when falling over large distances we don't accelerate to insanely high speeds
 | 
			
		||||
            RB.velocity = new Vector2(RB.velocity.x, Mathf.Max(RB.velocity.y, -Data.maxFastFallSpeed));
 | 
			
		||||
        }
 | 
			
		||||
        else if (_isJumpCut)
 | 
			
		||||
        {
 | 
			
		||||
            //Higher gravity if jump button released
 | 
			
		||||
            SetGravityScale(Data.gravityScale * Data.jumpCutGravityMult);
 | 
			
		||||
            RB.velocity = new Vector2(RB.velocity.x, Mathf.Max(RB.velocity.y, -Data.maxFallSpeed));
 | 
			
		||||
        }
 | 
			
		||||
        else if ((IsJumping || IsWallJumping || _isJumpFalling) && Mathf.Abs(RB.velocity.y) < Data.jumpHangTimeThreshold)
 | 
			
		||||
        {
 | 
			
		||||
            SetGravityScale(Data.gravityScale * Data.jumpHangGravityMult);
 | 
			
		||||
        }
 | 
			
		||||
        else if (RB.velocity.y < 0)
 | 
			
		||||
        {
 | 
			
		||||
            //Higher gravity if falling
 | 
			
		||||
            SetGravityScale(Data.gravityScale * Data.fallGravityMult);
 | 
			
		||||
            //Caps maximum fall speed, so when falling over large distances we don't accelerate to insanely high speeds
 | 
			
		||||
            RB.velocity = new Vector2(RB.velocity.x, Mathf.Max(RB.velocity.y, -Data.maxFallSpeed));
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            //Default gravity if standing on a platform or moving upwards
 | 
			
		||||
            SetGravityScale(Data.gravityScale);
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region SOUND CHECKS
 | 
			
		||||
        if (!IsJumping && !_isJumpFalling && !isRegFalling && _moveInput.x != 0) {
 | 
			
		||||
            if (!soundPlaying) {
 | 
			
		||||
                // print("footsteps PLAY");
 | 
			
		||||
                audioSource.Play();
 | 
			
		||||
                soundPlaying = true;
 | 
			
		||||
            }
 | 
			
		||||
        } else if (soundPlaying && audioSource.clip.name == "footsteps") {
 | 
			
		||||
            // print("footsteps stop");
 | 
			
		||||
            audioSource.Stop();
 | 
			
		||||
            soundPlaying = false;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region UPDATE UI
 | 
			
		||||
        if (trumpet == 0) {
 | 
			
		||||
            gameUI.ToggleTrumpet(false);
 | 
			
		||||
        }
 | 
			
		||||
        /*if (isDashing)
 | 
			
		||||
        {
 | 
			
		||||
            gameUI.ToggleClarinet(false);
 | 
			
		||||
            print("toggle clarinet false?");
 | 
			
		||||
        }*/
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void FixedUpdate()
 | 
			
		||||
    {
 | 
			
		||||
        if(!isDashing){
 | 
			
		||||
        //Handle Run
 | 
			
		||||
        if (IsWallJumping)
 | 
			
		||||
            Run(Data.wallJumpRunLerp);
 | 
			
		||||
@@ -353,21 +337,6 @@ public class PlayerMovement : MonoBehaviour
 | 
			
		||||
        //Handle Slide
 | 
			
		||||
        if (IsSliding)
 | 
			
		||||
            Slide();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void FreezeControl()
 | 
			
		||||
    {
 | 
			
		||||
        if(!isFrozen)
 | 
			
		||||
        {
 | 
			
		||||
            tempGrav = Data.gravityStrength;
 | 
			
		||||
            tempFall = Data.fallGravityMult;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Data.gravityStrength = 0;
 | 
			
		||||
        Data.fallGravityMult = 0;
 | 
			
		||||
 | 
			
		||||
        isFrozen = true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #region INPUT CALLBACKS
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user