Add equip weapon function

This commit is contained in:
Nathan Chapman 2025-05-31 06:38:08 -06:00
parent 2c67238209
commit 44ebef0432

View File

@ -7,6 +7,7 @@ signal heavy_attack()
@onready var animation_tree: AnimationTree = $AnimationTree @onready var animation_tree: AnimationTree = $AnimationTree
@onready var playback: AnimationNodeStateMachinePlayback = animation_tree["parameters/playback"] @onready var playback: AnimationNodeStateMachinePlayback = animation_tree["parameters/playback"]
@onready var skeleton_3d: Skeleton3D = $CharacterRig/GameRig/Skeleton3D @onready var skeleton_3d: Skeleton3D = $CharacterRig/GameRig/Skeleton3D
@onready var weapon_slot: Node3D = %WeaponSlot
@onready var off_hand_slot: Node3D = %OffHandSlot @onready var off_hand_slot: Node3D = %OffHandSlot
@onready var villager_meshes: Array[MeshInstance3D] = [ @onready var villager_meshes: Array[MeshInstance3D] = [
$CharacterRig/GameRig/Skeleton3D/Villager_01, $CharacterRig/GameRig/Skeleton3D/Villager_01,
@ -47,6 +48,12 @@ func set_active_mesh(active_mesh: MeshInstance3D) -> void:
child.visible = false child.visible = false
active_mesh.visible = true active_mesh.visible = true
func equip_weapon(equipment_scene: PackedScene) -> void:
for child in weapon_slot.get_children():
child.queue_free()
var new_equipment: Node3D = equipment_scene.instantiate()
weapon_slot.add_child(new_equipment)
func equip_offhand(equipment_scene: PackedScene) -> void: func equip_offhand(equipment_scene: PackedScene) -> void:
for child in off_hand_slot.get_children(): for child in off_hand_slot.get_children():
child.queue_free() child.queue_free()