extends Node3D class_name MapScene @export var use_global_camera := false @onready var debug: DebugOverlay = $debug @onready var player: Player = $Player @onready var cameraHandler: CameraHandler = $CameraHandler func _ready() -> void: # add debug stuff for node in get_children(): if node is Player: debug.draw.add_vector(node, "velocity", 1, 1, Color(0,1,0,1)) debug.draw.add_vector(node, "floor_normal", 1, 1, Color(0, 0, 1, 1)) debug.draw.add_vector(node, "last_movement_vector", 1, 1, Color(1,0,0,1)) debug.stats.add_property(node, "state_name", "") debug.stats.add_property(node, "velocity", "length") debug.stats.add_property(node, "idle_time", "round") debug.stats.add_property(node, "hit_points", "round") debug.stats.add_property(node, "stamina_points", "round") debug.stats.add_property(node, "energy_points", "round") # set up global camera if use_global_camera: cameraHandler.camera.projection = Camera3D.PROJECTION_ORTHOGONAL cameraHandler.camera.size = 10 cameraHandler.spring.rotate_x(PI/6) cameraHandler.camera.current = true player.cameraHandler = cameraHandler func _input(event: InputEvent) -> void: if event.is_action_pressed("capture-input"): Input.mouse_mode = Input.MOUSE_MODE_CAPTURED elif event.is_action_pressed("ui_cancel"): if Input.mouse_mode == Input.MOUSE_MODE_VISIBLE: get_tree().quit() else: Input.mouse_mode = Input.MOUSE_MODE_VISIBLE