private void Update() { if (isDashing) { if (transform.position.x > dashEndXPosition) { transform.position = new Vector3(dashEndXPosition, transform.position.y, transform.position.z); isDashing = false; playerAnimations.DashEnd(); } } else if (!canDash && !isDashing) { Vector2 velocity = playerRb.velocity; //If player back to initial position, reset velocity and force position if (transform.position.x < initialXPosition) { transform.position = new Vector3(initialXPosition, transform.position.y, transform.position.z); velocity.x = 0.0f; canDash = true; playerAnimations.ResetFXAnimatorPosition(); } else { velocity.x = (-dashSpeed / 3.0f); } playerRb.velocity = velocity; } EnergieReceptacle.GetComponent <RectTransform>().transform.localScale = Vector2.MoveTowards(EnergieReceptacle.GetComponent <RectTransform>().transform.localScale, newEnergieReceptacle, 0.01f); }