Files
Super-Mario-Bros.-Remastere…/Scripts/Parts/TilePropertySceneRef.gd
2025-09-13 16:30:32 +01:00

30 lines
906 B
GDScript
Executable File

class_name TilePropertySceneRef
extends TilePropertyContainer
signal open_tile_menu(this)
var scene: PackedScene = null
const replace_scenes := {"res://Scenes/Prefabs/Entities/Items/Coin.tscn": "res://Scenes/Prefabs/Entities/Items/SpinningCoin.tscn"}
func set_starting_value(start_value = null) -> void:
%SceneName.text = get_scene_path(start_value)
func open_tile_selection_menu() -> void:
open_tile_menu.emit(self)
func set_scene(selector: EditorTileSelector) -> void:
scene = selector.entity_scene
if replace_scenes.has(scene.resource_path):
scene = load(replace_scenes[scene.resource_path])
%SceneName.text = get_scene_path(scene)
value = scene
value_changed.emit(self, scene)
func get_scene_path(var_scene: PackedScene = null) -> String:
if var_scene == null:
return "Empty"
else:
return var_scene.resource_path.get_file().replace(".tscn", "").to_snake_case().replace("_", " ")