whittler/addons/reload_current_scene/plugin.gd
Dan Baker 0fe23420ab All
2025-12-02 07:45:23 +00:00

25 lines
973 B
GDScript

@tool
extends EditorPlugin
var reload_scene_btn: Button = Button.new()
func _enter_tree() -> void:
reload_scene_btn.pressed.connect(reload_scene)
reload_scene_btn.text = "Reload Scene"
reload_scene_btn.icon = EditorInterface.get_editor_theme().get_icon("Reload", "EditorIcons")
add_control_to_container(CONTAINER_TOOLBAR, reload_scene_btn)
reload_scene_btn.get_parent().move_child(reload_scene_btn, reload_scene_btn.get_index() - 2)
func _exit_tree() -> void:
remove_control_from_container(CONTAINER_TOOLBAR, reload_scene_btn)
func reload_scene() -> void:
Log.info("[ReloadScene] Reload initialized", Time.get_time_string_from_system())
var edited_scene: Node = EditorInterface.get_edited_scene_root()
Log.info("[ReloadScene] Edited scene", "%s.scene_file_path" % edited_scene, edited_scene.scene_file_path)
EditorInterface.reload_scene_from_path(edited_scene.scene_file_path)
Log.info("[ReloadScene] Scene reloaded", Time.get_time_string_from_system())