feat: implement loadout management system, interactive pause menu, and weapon slot switching functionality
This commit is contained in:
+12
-10
@@ -74,13 +74,16 @@ func _build_input_map() -> void:
|
||||
"move_right": [KEY_D],
|
||||
"weapon_next": [MOUSE_BUTTON_WHEEL_UP],
|
||||
"weapon_prev": [MOUSE_BUTTON_WHEEL_DOWN],
|
||||
"weapon_1": [KEY_1],
|
||||
"weapon_2": [KEY_2],
|
||||
"weapon_3": [KEY_3],
|
||||
}
|
||||
for action in bindings:
|
||||
if not InputMap.has_action(action):
|
||||
InputMap.add_action(action)
|
||||
InputMap.action_erase_events(action)
|
||||
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]:
|
||||
if code in [KEY_SPACE, KEY_SHIFT, KEY_CTRL, KEY_R, KEY_F, KEY_E, KEY_W, KEY_S, KEY_A, KEY_D, KEY_1, KEY_2, KEY_3]:
|
||||
var ev := InputEventKey.new()
|
||||
ev.keycode = code
|
||||
InputMap.action_add_event(action, ev)
|
||||
@@ -318,15 +321,14 @@ func _build_player() -> void:
|
||||
camera.fov = 90.0
|
||||
head_pivot.add_child(camera)
|
||||
|
||||
# ── Temporary Weapon Setup ──────────────────────────────────────────────────
|
||||
# TODO: Change how the player is given weapons in the future to a loadout schema.
|
||||
var shotgun_script = preload("res://weapons/double_barrel_shotgun.gd")
|
||||
if shotgun_script:
|
||||
var shotgun = shotgun_script.new()
|
||||
shotgun.name = "DoubleBarrelShotgun"
|
||||
shotgun.player = player
|
||||
shotgun.camera = camera
|
||||
camera.add_child(shotgun)
|
||||
# ── Weapon Setup ────────────────────────────────────────────────────────────
|
||||
var wmanager_script = preload("res://weapons/weapon_manager.gd")
|
||||
if wmanager_script:
|
||||
var wman = wmanager_script.new()
|
||||
wman.name = "WeaponManager"
|
||||
wman.player = player
|
||||
wman.camera = camera
|
||||
camera.add_child(wman)
|
||||
|
||||
var rig_script = preload("res://characters/player/fps_camera_rig.gd")
|
||||
if rig_script:
|
||||
|
||||
Reference in New Issue
Block a user