Feat/1 movement foundation #5

Merged
Dotts merged 40 commits from feat/1-movement-foundation into main 2026-06-03 21:34:25 -07:00
Showing only changes of commit f47fc4827a - Show all commits
+37 -1
View File
@@ -2,11 +2,12 @@ extends Node3D
class_name TestLevelBuilder class_name TestLevelBuilder
## Builds the test level ONLY from code — no .tscn SubResource references. ## Builds the test level ONLY from code — no .tscn SubResource references.
## One-click playtest: attach to TestLevel root, F5. ## One-click playtest: attach to TestLevel root, F5.
func _ready() -> void: func _ready() -> void:
build() build()
func build() -> void: func build() -> void:
_build_input_map()
_build_floor() _build_floor()
_build_walls() _build_walls()
_build_lighting() _build_lighting()
@@ -15,6 +16,41 @@ func build() -> void:
func _box_static(pos: Vector3, size: Vector3, color: Color) -> StaticBody3D: func _box_static(pos: Vector3, size: Vector3, color: Color) -> StaticBody3D:
func _build_input_map() -> void:
var bindings := {
jump = [KEY_SPACE],
sprint = [KEY_SHIFT],
crouch = [KEY_CTRL],
dash = [KEY_SHIFT],
fire = [MOUSE_BUTTON_RIGHT, KEY_F],
fire_alt = [MOUSE_BUTTON_LEFT],
reload = [KEY_R],
interact = [KEY_E],
move_forward = [KEY_W],
move_back = [KEY_S],
move_left = [KEY_A],
move_right = [KEY_D],
weapon_next = [MOUSE_BUTTON_WHEEL_UP],
weapon_prev = [MOUSE_BUTTON_WHEEL_DOWN],
}
for action in bindings:
if not InputMap.has_action(action):
InputMap.add_action(action)
InputMap.action_erase_events(action)
var events: Array[InputEvent] = []
for code in bindings[action]:
if code in [KEY_SPACE, KEY_SHIFT, KEY_CTRL, KEY_R, KEY_F, KEY_E, KEY_W, KEY_S, KEY_A, KEY_D]:
var ev := InputEventKey.new()
ev.keycode = code
events.append(ev)
else:
var ev := InputEventMouseButton.new()
ev.button_index = code
events.append(ev)
for ev in events:
InputMap.action_add_event(action, ev)
var body := StaticBody3D.new() var body := StaticBody3D.new()
body.name = "Static_" + str(pos) body.name = "Static_" + str(pos)
body.position = pos body.position = pos