extends WindowDialog const ItemDir = "res://item_types" onready var player = get_tree().get_nodes_in_group("player")[0] var initialized : bool = false func _unhandled_key_input(event): if event.is_action_pressed("open_debug"): if visible: hide() else: popup() func _on_charge_pressed(): player.modify_inventory("coins", 1) func _on_charge_5_pressed(): player.modify_inventory("coins", 5) func _on_clear_pressed(): if player.has_item(): player.drop_item_in_hand() func _on_random_damage_pressed(): var damageable = get_tree().get_nodes_in_group("damageable") if damageable.empty(): return damageable[randi() % damageable.size()].take_damage() func _on_timer_2_s_pressed(): var game_manager = get_tree().get_nodes_in_group("game_manager")[0] var day_timer = game_manager.get_node("day_timer") day_timer.start(2.0) day_timer.wait_time = game_manager.time_per_day func popup(bounds : Rect2 = Rect2(0,0,0,0)): if !initialized: load_item_add_buttons() .popup(bounds) func load_item_add_buttons(): var dir = Directory.new() dir.open(ItemDir) dir.list_dir_begin() var file_name = dir.get_next() while(file_name!=""): if dir.current_is_dir(): pass else: var button : Button = Button.new() button.text = file_name button.connect("button_down", self, "on_item_button_down", [file_name]) $TabContainer/Player.add_child(button) file_name = dir.get_next() var button : Button = Button.new() button.text = "Close" $TabContainer/Player.add_child(button) button.connect("button_down", self, "on_close_button_down") initialized = true func on_item_button_down(file_name : String): var path : String = ItemDir + "/" + file_name player.pick_up_item(load(path).spawn_node()) func on_close_button_down(): hide()