You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  | @tool | 
					
						
							|  |  |  | extends PanelContainer | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | signal hovered | 
					
						
							|  |  |  | signal unhovered | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var data: Dictionary | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func set_element(element: Dictionary): | 
					
						
							|  |  |  |     data = element | 
					
						
							|  |  |  |     %Label.text = data.element | 
					
						
							|  |  |  |     %Icon.texture = data.get("icon") | 
					
						
							|  |  |  |     data.map = data.map.trim_prefix(MetSys.settings.map_root_folder) | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     var room := MetSys.map_data.get_cells_assigned_to(data.map) | 
					
						
							|  |  |  |     if "position" in data and not room.is_empty(): | 
					
						
							|  |  |  |         var top_left := Vector2i.MAX | 
					
						
							|  |  |  |         for coords in room: | 
					
						
							|  |  |  |             top_left.x = mini(coords.x, top_left.x) | 
					
						
							|  |  |  |             top_left.y = mini(coords.y, top_left.y) | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         var pos := top_left + Vector2i(data.position / MetSys.settings.in_game_cell_size) | 
					
						
							|  |  |  |         data.coords = Vector3i(pos.x, pos.y, room[0].z) | 
					
						
							|  |  |  |         %Button.tooltip_text = "%s\nat: %s %s" % [data.element, data.map, data.coords] | 
					
						
							|  |  |  |     else: | 
					
						
							|  |  |  |         %Button.tooltip_text = "%s\nat: %s" % [data.element, data.map] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func on_hover() -> void: | 
					
						
							|  |  |  |     hovered.emit() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func on_unhover() -> void: | 
					
						
							|  |  |  |     unhovered.emit() |