Start.gd 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. extends Node
  2. @export var player_node: NodePath
  3. @onready var fps_label: Label = get_node("Status/FPS")
  4. @onready var debug_label: Label = get_node("Status/Debug")
  5. @onready var camera: Camera3D = get_node("Camera")
  6. var player: Node
  7. var car: VehicleController
  8. func _ready():
  9. player = get_node(player_node)
  10. car = player.car
  11. func _process(_delta):
  12. if Input.is_action_just_released("ui_cancel"):
  13. get_tree().quit()
  14. if Input.is_action_just_pressed("controller_camera"):
  15. if camera.first_person:
  16. camera.switch_third_person()
  17. else: if camera.third_person:
  18. camera.switch_third_person_fixed()
  19. else:
  20. camera.switch_first_person()
  21. if Input.is_action_just_pressed("controller_camera_rotate"):
  22. if camera.auto_rotate_mode:
  23. camera.auto_rotate_mode = false
  24. else:
  25. camera.auto_rotate_mode = true
  26. var status_text: String
  27. var fps = Performance.get_monitor(Performance.TIME_FPS)
  28. var velocity_sideways: float = car.vehicle_state.velocity_sideways
  29. var grip: bool = car.has_grip
  30. var grip_force: float = car.grip_force
  31. var omega_reference = car.omega_reference
  32. var omega_measurement = car.angular_velocity.y
  33. var drift_angle = car.vehicle_state.drift_angle_measurement
  34. var cornering = car.is_cornering
  35. var format = "FPS: %2.0f"
  36. fps_label.text = format % fps
  37. format = "Turn Radius: %.0f\n"
  38. format += "Force: %.1f\n"
  39. format += "Grip Force: %.1f N\n\n"
  40. format += "Grip: %s\n"
  41. format += "Cornering: %s\n"
  42. format += "Boost: %s\n"
  43. format += "Omega: %.1f (ref: %.3f)\n\n"
  44. format += "Drift-Angle: %3.0f\n"
  45. format += "Velocity Sideways: %.0f m/s\n\n"
  46. status_text = format % [car.turn_radius, car.current_force, grip_force, grip, cornering, car.apply_boost, omega_measurement, omega_reference, rad_to_deg(drift_angle), velocity_sideways]
  47. debug_label.text = status_text