extends Spatial var player:Player onready var camera:InterpolatedCamera = get_node("camera") func _physics_process(delta): if is_network_master() && player != null: if player.is_out: camera.set_speed(0.1) if player.timer.get_time_left() > 0: get_node("hud/reset").set_text(str(int(player.timer.get_time_left()) + 1)) else: get_node("hud/reset").set_text(tr("RESET")) if Input.is_action_pressed("controls_reset"): if player.reset(): camera.set_speed(10) get_node("hud/reset").set_text("") else: if Input.is_action_pressed("controls_thrust") && player.current_speed <= player.MAX_SPEED: player.current_speed += player.speed_factor elif Input.is_action_pressed("controls_break") && player.current_speed <= player.MAX_SPEED: player.current_speed -= player.speed_factor * player.brake_factor elif player.current_speed > 0: player.current_speed -= player.speed_factor * player.friction_brake_factor elif player.current_speed < 0: player.current_speed = 0 get_node("hud/speed").set_text(str(player.current_speed)) if Input.is_action_pressed("debug_camera_1"): set_debug_camera(0) elif Input.is_action_pressed("debug_camera_2"): set_debug_camera(1) elif Input.is_action_pressed("debug_camera_3"): set_debug_camera(2) elif Input.is_action_pressed("debug_camera_4"): set_debug_camera(3) func set_player(path:String): player = get_node(path) get_node("inventory").set_player(player) camera.set_target_path(player.find_node("CameraTarget").get_path()) camera.set_interpolation_enabled(true) camera.set_speed(10) func set_debug_camera(idx): if idx < player.get_parent().get_child_count(): camera.set_target_path(player.get_parent().get_child(idx).find_node("CameraTarget").get_path())