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
|