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.
		
		
		
		
		
			
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			GDScript
		
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			GDScript
		
	
| @tool
 | |
| extends Resource
 | |
| 
 | |
| ## The theme used for drawing map cells.
 | |
| @export var theme: MapTheme:
 | |
| 	set(t):
 | |
| 		if t == theme:
 | |
| 			return
 | |
| 		
 | |
| 		theme = t
 | |
| 		theme_changed.emit()
 | |
| 
 | |
| ## The root directory where room scenes are located. All scenes used for MetSys editor should be within this folder or its subfolders.
 | |
| @export_dir var map_root_folder: String = "res://"
 | |
| @export_dir var map_setting_folder: String = "res://"
 | |
| ## The size of a map cell within an in-game room, i.e. this is the real game size of your map cells. Usually equal to the screen size.
 | |
| @export var in_game_cell_size := Vector2(1152, 648)
 | |
| @export var collectible_list: Array[Dictionary]
 | |
| ## The script that determines the custom elements available in the Custom Elements map editor mode. It should inherit [code]CustomElementManager.gd[/code], refer to that class' documentation on how to use it.
 | |
| @export var custom_element_script: Script:
 | |
| 	set(elements):
 | |
| 		if elements == custom_element_script:
 | |
| 			return
 | |
| 		
 | |
| 		custom_element_script = elements
 | |
| 		if elements:
 | |
| 			custom_elements = elements.new()
 | |
| 		else:
 | |
| 			custom_elements = null
 | |
| 		
 | |
| 		custom_elements_changed.emit()
 | |
| 
 | |
| var custom_elements: MetroidvaniaSystem.CustomElementManager
 | |
| 
 | |
| signal theme_changed
 | |
| signal custom_elements_changed
 | |
| 
 | |
| func _validate_property(property: Dictionary) -> void:
 | |
| 	if property.name == "collectible_list":
 | |
| 		property.usage &= ~PROPERTY_USAGE_EDITOR
 |