extends Node3D @export var main_scene: PackedScene @onready var speed_label : Label = $HUD/speed_label @onready var camera_label : Label = $HUD/camera_label @onready var train: MeshInstance3D = $Ground/Train @onready var camera: TrainControlCamera = $TrainCamera @onready var rail_switch: Area3D = $Ground/RailSwtich @onready var switch_label : Label = $HUD/switch_label func _process(_delta: float) -> void: _update_ui() if Input.is_action_just_pressed("ui_cancel"): SceneSwitcher.switch_scene(main_scene.resource_path) if Input.is_action_just_pressed("change_train"): _toggle_rail() func _update_ui() -> void: if speed_label and train: var kmh = train.get_speed() * 3.6 speed_label.text = "Velocità: %.0f km/h" % kmh if camera_label and camera: camera_label.text = "Camera: %s" % camera.get_mode_name() func _toggle_rail() -> void: if train and rail_switch: rail_switch.toggle_switch() train.switch_to_rail(rail_switch.switch_to_rail) func _update_switch_status(): if not switch_label: return #if rail_switch: #var state_name = rail_switch.get_state_name() #var color = Color.YELLOW if rail_switch.current_state == rail_switch.SwitchState.LEFT else Color.CYAN #switch_label.text = "Scambio: %s" % state_name #switch_label.add_theme_color_override("font_color", color) #else: #switch_label.text = "Scambio: N/A"