V-Panel/scripts/plugin_tile.gd

24 lines
670 B
GDScript3
Raw Normal View History

extends ModuleBase
class_name PluginTile
## Base class for all plugin tiles.
##
## Extends ModuleBase with plugin-aware metadata so the system can
## correlate tile instances with their definitions and layouts.
var tile_id: String = ""
var tile_config: Dictionary = {}
## Called by PluginManager.instantiate_tile() to tag this instance.
func set_tile_id(value: String) -> void:
tile_id = value
## Called by PluginManager.instantiate_tile() to pass the tile definition.
func set_tile_config(config: Dictionary) -> void:
tile_config = config
# Store in meta so grid/layout can read it on any Control
set_meta("tile_id", tile_id)
set_meta("tile_config", config)