| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <class name="EditorScript" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
- <brief_description>
- Base script that can be used to add extension functions to the editor.
- </brief_description>
- <description>
- Scripts extending this class and implementing its [method _run] method can be executed from the Script Editor's [b]File > Run[/b] menu option (or by pressing [kbd]Ctrl + Shift + X[/kbd]) while the editor is running. This is useful for adding custom in-editor functionality to Godot. For more complex additions, consider using [EditorPlugin]s instead.
- [b]Note:[/b] Extending scripts need to have [code]tool[/code] mode enabled.
- [b]Example script:[/b]
- [codeblocks]
- [gdscript]
- @tool
- extends EditorScript
- func _run():
- print("Hello from the Godot Editor!")
- [/gdscript]
- [csharp]
- using Godot;
- [Tool]
- public partial class HelloEditor : EditorScript
- {
- public override void _Run()
- {
- GD.Print("Hello from the Godot Editor!");
- }
- }
- [/csharp]
- [/codeblocks]
- [b]Note:[/b] The script is run in the Editor context, which means the output is visible in the console window started with the Editor (stdout) instead of the usual Godot [b]Output[/b] dock.
- [b]Note:[/b] EditorScript is [RefCounted], meaning it is destroyed when nothing references it. This can cause errors during asynchronous operations if there are no references to the script.
- </description>
- <tutorials>
- </tutorials>
- <methods>
- <method name="_run" qualifiers="virtual">
- <return type="void" />
- <description>
- This method is executed by the Editor when [b]File > Run[/b] is used.
- </description>
- </method>
- <method name="add_root_node">
- <return type="void" />
- <param index="0" name="node" type="Node" />
- <description>
- Makes [param node] root of the currently opened scene. Only works if the scene is empty. If the [param node] is a scene instance, an inheriting scene will be created.
- </description>
- </method>
- <method name="get_editor_interface" qualifiers="const" deprecated="[EditorInterface] is a global singleton and can be accessed directly by its name.">
- <return type="EditorInterface" />
- <description>
- Returns the [EditorInterface] singleton instance.
- </description>
- </method>
- <method name="get_scene" qualifiers="const">
- <return type="Node" />
- <description>
- Returns the edited (current) scene's root [Node]. Equivalent of [method EditorInterface.get_edited_scene_root].
- </description>
- </method>
- </methods>
- </class>
|