diff options
Diffstat (limited to 'client/menu/communicate')
| -rw-r--r-- | client/menu/communicate/popup_message/pinned_item_messages.gd | 16 | 
1 files changed, 14 insertions, 2 deletions
| diff --git a/client/menu/communicate/popup_message/pinned_item_messages.gd b/client/menu/communicate/popup_message/pinned_item_messages.gd index 0d032a0d..c98b9184 100644 --- a/client/menu/communicate/popup_message/pinned_item_messages.gd +++ b/client/menu/communicate/popup_message/pinned_item_messages.gd @@ -32,12 +32,24 @@ func pin_item(item_name: String, timeout_initial_: float, timeout_remaining_: fl  	pinned_items_container.add_child(item_message)  	item_message.set_subviewport_size(Vector2(96, 84))  	item_message.set_round_corner_radius_progress(0) -	  	item_message.set_item(item_name, timeout_initial_, timeout_remaining_) -	  	pinned_items[player_id] = item_message +	sort_pins()  func clear_item(player_id: float):  	if player_id in pinned_items:  		if is_instance_valid(pinned_items[player_id]):  			pinned_items[player_id].queue_free() + +func sort_pins(): +	var sorted_nodes := pinned_items_container.get_children() +	 +	sorted_nodes.sort_custom( +		func(a: Node, b: Node): return a.timeout_remaining < b.timeout_remaining +	) +	 +	for node in pinned_items_container.get_children(): +		pinned_items_container.remove_child(node) +	 +	for node in sorted_nodes: +		pinned_items_container.add_child(node) | 
