extends Spatial export var start_with_item : String = "" var item_in_hold # Called when the node enters the scene tree for the first time. func _ready(): if start_with_item != "": var item_instance = preload("res://scenes/item.tscn").instance() item_instance.item_name = start_with_item add_item(item_instance) func remove_item(): assert(item_in_hold != null) var removed_item = item_in_hold $ItemSpawn.remove_child(item_in_hold) item_in_hold = null return removed_item func add_item(item): assert(item_in_hold == null) $ItemSpawn.add_child(item) item_in_hold = item func on_player_interact(player) -> bool: var player_item = player.get_item_in_hand() if item_in_hold == null: if player_item == null: return false add_item(player_item) else: var item_pickup = remove_item() player.pick_up_item(item_pickup) $AudioStreamPlayer.play() if player_item != null: add_item(player_item) return true