diff --git a/src/logic-scenes/board/card-board.gd b/src/logic-scenes/board/card-board.gd index 4f10d5a..5a859c8 100644 --- a/src/logic-scenes/board/card-board.gd +++ b/src/logic-scenes/board/card-board.gd @@ -13,14 +13,16 @@ var has_stage = false: self.mouse_filter = Control.MOUSE_FILTER_IGNORE if is_node_ready(): #fixme: thie should be replaced by a reference that holds all children ... - for child in dropzone.get_children(): - child.on_stage = has_stage - for child in postit_container.get_children(): - child.get_child(1).on_stage = has_stage + for child in area_dict["dropzone_content"]+area_dict["post_its_in_list"]: + if focus: + child.process_mode = Node.PROCESS_MODE_INHERIT + else: + child.process_mode = Node.PROCESS_MODE_DISABLED @onready var dropzone = $HBoxContainer/dropzone @onready var postit_container = $HBoxContainer/ScrollContainer/VBoxContainer @onready var board_of_devs = $"board of devs" +@onready var base_postit_panel = $HBoxContainer/ScrollContainer/VBoxContainer/Panel @onready var active_context = ui_context.DROPZONE # 0 = dropzone, 1 = post it list var currently_selected_node: Area2D = null @@ -35,8 +37,8 @@ var selected_card_for_assignment # Called when the node enters the scene tree for the first time. func _ready(): - #var test_arr = ["c_Joy","p_effort","c_backlash","c_body","c_hit","p_slut","p_worried_mother","p_cross_friend"] - var test_arr = ["c_Joy","c_body","c_hit"] + var test_arr = ["c_Joy","p_effort","c_backlash","c_body","c_hit","p_slut","p_worried_mother","p_cross_friend"] + #var test_arr = ["c_Joy","c_body","c_hit"] populate_board(test_arr) reorder_areas("dropzone_content") @@ -64,7 +66,19 @@ func populate_board(card_names: Array): area_dict["post_its_in_list"] = Array() # to remember panel positions - area_dict["post_it_panels"] = get_child(0).get_child(1).get_child(0).get_children() + area_dict["post_it_panels"] = [base_postit_panel] + + # check how many post-it panels we need + var amount = -1 # starting with -1 to compensate for the base panel + for card_name in card_names: + if "p_" in card_name: + amount += 1 + while amount > 0: # creating panels up to the number of post-its + var new_panel = base_postit_panel.duplicate() + postit_container.add_child(new_panel) + new_panel.set_owner(self) + area_dict["post_it_panels"].push_back(new_panel) + amount -= 1 # get all the cards and post-its from the board of devs for child in board_of_devs.get_children(): @@ -137,6 +151,7 @@ func handle_mouse_button(to_handle: Area2D, input: InputEvent): if input.is_pressed(): reorder_areas("dropzone_content") else: + dropzone.move_child(currently_dragged_area, -1) currently_dragged_area = null "post-it": # 2 = PostIt if input.is_pressed():