diff --git a/src/logic-scenes/board/card-board.gd b/src/logic-scenes/board/card-board.gd index c7fc3f3..8e6f0e1 100644 --- a/src/logic-scenes/board/card-board.gd +++ b/src/logic-scenes/board/card-board.gd @@ -11,13 +11,14 @@ enum {NAVIGATE, ASSIGN, DRAG} var focus_stickies:bool = true: set(stickies): if stickies and sticky_note_container.get_child_count() == 0: return - if not current_context == ASSIGN and not focus_stickies == stickies: + + focus_stickies = stickies + + if not current_context == ASSIGN: if stickies: current_sticky_note_id = current_sticky_note_id else: - current_dropzone_id = current_dropzone_id - - focus_stickies = stickies + current_dropzone_id = current_dropzone_id var has_stage = false: set(focus): @@ -82,7 +83,9 @@ var mementos_collected: int = 0: elif new_id < 0: current_dropzone_id = dropzone.get_child_count() - 1 else: current_dropzone_id = new_id if current_context == ASSIGN: + while not dropzone.get_child(current_dropzone_id) is Card: current_dropzone_id = (current_dropzone_id + 1) % dropzone.get_child_count() dropzone.get_child(current_dropzone_id).preview_sticky_note(currently_active_node) + elif not focus_stickies: currently_active_node = dropzone.get_child(current_dropzone_id) @@ -185,6 +188,8 @@ func handle_mouse_button(to_handle: Area2D, input: InputEvent): to_handle = area.exchange_sticky_note_with(to_handle) to_handle.reparent(dropzone) sticky_note_container.get_child(current_sticky_note_id).attached_sticky_note = to_handle + to_handle.attached_to = sticky_note_container.get_child(current_sticky_note_id) + to_handle.reset_drag() current_context = NAVIGATE return else: diff --git a/src/logic-scenes/board/card.gd b/src/logic-scenes/board/card.gd index be5fd4c..79558b4 100644 --- a/src/logic-scenes/board/card.gd +++ b/src/logic-scenes/board/card.gd @@ -142,7 +142,7 @@ func _on_mouse_entered(): if not Input.is_action_pressed("mouse_left"): # Do nothing if mouse hovers over sticky_note if has_sticky_note_attached(): - if sticky_note_anchor.get_child(-1).highlighted: + if get_child(-1).highlighted: return highlighted = true if "handle_hover" in owner: @@ -169,7 +169,7 @@ func _move_card(): position += (get_viewport().get_mouse_position() - position) - mouse_offset func has_sticky_note_attached() -> bool: - return get_child(-1) is Card + return get_child(-1) is StickyNote func preview_sticky_note(sticky_note: StickyNote): sticky_note.reparent(self.get_parent()) diff --git a/src/logic-scenes/board/empty_sticky_note_panel.gd b/src/logic-scenes/board/empty_sticky_note_panel.gd index 3563508..78b5be8 100644 --- a/src/logic-scenes/board/empty_sticky_note_panel.gd +++ b/src/logic-scenes/board/empty_sticky_note_panel.gd @@ -27,6 +27,9 @@ func attatch_sticky_note(attatchment: StickyNote, tween:bool = true): attatchment.transform = ancor.transform func reclaim_sticky_note(): + print("meep") + var is_emoty = is_empty() + print("meep") if is_empty() and attached_sticky_note.on_board == true: attached_sticky_note.on_board = false attached_sticky_note.tween_transform_to(ancor.global_transform)