extends BasePickupableResource class_name WeaponPickupableResource ## Weapon that will be added on interaction @export var weapon: PackedScene func _apply(player: Player) -> bool: var slot = player.weapons.first_free_slot() # TODO: Implement proper swapping behavior when old or new weapon uses several slots if slot == null: slot = player.weapons.current_slot var set_data = slot.set_weapon(weapon) set_data.old_weapon.id = id if slot == player.weapons.current_slot: player.weapons.refresh_current_slot() return update_by_id(set_data.new_weapon) # TODO: implement proper updating func update_by_id(new_id: StringName) -> bool: id = new_id return id == ""