void HandleRotation() { Vector2 player = transform.position; Vector2 mouse = Mouse.WorldPos; Vector2 aimVector = (mouse - player).normalized; float angle = Mathf.Atan2(aimVector.y, aimVector.x); // Convert angle to degrees in range 0-360 float degrees = angle * Mathf.Rad2Deg; if (degrees < 0) { degrees += 360; } AimAngle = degrees; //gunController.SetAimAngle(AimAngle); gunController.AimAt(mouse); if (Vector2.Dot(movementVector, aimVector) < 0) { bodyAnim.SetFloat("speed", -1); } else { bodyAnim.SetFloat("speed", 1); } bool flip = gunController.GunModel.IsFlipped; bodyRenderer.flipX = flip; bodyAnim.SetFloat("horizontal", Mathf.Abs(aimVector.x)); bodyAnim.SetFloat("vertical", aimVector.y); bodyAnim.SetFloat("moving", shouldIdle ? 0.0f : 1.0f); handController.UpdateTexture(aimVector.y < 0, flip); //gunController.SetDrawOrder(aimVector.y < 0); }