]> purplebirdman git - frog-ninja.git/blob - asset/map/map_scene.gd
Squashed commit of the following:
[frog-ninja.git] / asset / map / map_scene.gd
1 extends Node3D
2 class_name MapScene
3
4
5 @export var use_global_camera := false
6
7
8 @onready var debug: DebugOverlay = $debug
9 @onready var player: Player = $Player
10 @onready var cameraHandler: CameraHandler = $CameraHandler
11
12
13 func _ready() -> void:
14         # add debug stuff
15         for node in get_children():
16                 if node is Player:
17                         debug.draw.add_vector(node, "velocity", 1, 1, Color(0,1,0,1))
18                         debug.draw.add_vector(node, "floor_normal", 1, 1, Color(0, 0, 1, 1))
19                         debug.draw.add_vector(node, "last_movement_vector", 1, 1, Color(1,0,0,1))
20                         debug.stats.add_property(node, "state_name", "")
21                         debug.stats.add_property(node, "velocity", "length")
22                         debug.stats.add_property(node, "idle_time", "round")
23                         debug.stats.add_property(node, "hit_points", "round")
24                         debug.stats.add_property(node, "stamina_points", "round")
25                         debug.stats.add_property(node, "energy_points", "round")
26         
27         # set up global camera
28         if use_global_camera:
29                 cameraHandler.camera.projection = Camera3D.PROJECTION_ORTHOGONAL
30                 cameraHandler.camera.size = 10
31                 cameraHandler.spring.rotate_x(PI/6)
32                 cameraHandler.camera.current = true
33                 player.cameraHandler = cameraHandler
34
35
36 func _input(event: InputEvent) -> void:
37         if event.is_action_pressed("capture-input"):
38                 Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
39         elif event.is_action_pressed("ui_cancel"):
40                 if Input.mouse_mode == Input.MOUSE_MODE_VISIBLE:
41                         get_tree().quit()
42                 else:
43                         Input.mouse_mode = Input.MOUSE_MODE_VISIBLE