diff options
Diffstat (limited to 'doc/classes/EditorScenePostImport.xml')
-rw-r--r-- | doc/classes/EditorScenePostImport.xml | 42 |
1 files changed, 34 insertions, 8 deletions
diff --git a/doc/classes/EditorScenePostImport.xml b/doc/classes/EditorScenePostImport.xml index cb1f5d2e77..5cddecffa8 100644 --- a/doc/classes/EditorScenePostImport.xml +++ b/doc/classes/EditorScenePostImport.xml @@ -6,24 +6,50 @@ <description> Imported scenes can be automatically modified right after import by setting their [b]Custom Script[/b] Import property to a [code]tool[/code] script that inherits from this class. The [method post_import] callback receives the imported scene's root node and returns the modified version of the scene. Usage example: - [codeblock] - tool # Needed so it runs in editor + [codeblocks] + [gdscript] + tool # Needed so it runs in editor. extends EditorScenePostImport - - # This sample changes all node names - - # Called right after the scene is imported and gets the root node + # This sample changes all node names. + # Called right after the scene is imported and gets the root node. func post_import(scene): # Change all node names to "modified_[oldnodename]" iterate(scene) return scene # Remember to return the imported scene - func iterate(node): if node != null: node.name = "modified_" + node.name for child in node.get_children(): iterate(child) - [/codeblock] + [/gdscript] + [csharp] + using Godot; + + // This sample changes all node names. + // Called right after the scene is imported and gets the root node. + [Tool] + public class NodeRenamer : EditorScenePostImport + { + public override Object PostImport(Object scene) + { + // Change all node names to "modified_[oldnodename]" + Iterate(scene as Node); + return scene; // Remember to return the imported scene + } + public void Iterate(Node node) + { + if (node != null) + { + node.Name = "modified_" + node.Name; + foreach (Node child in node.GetChildren()) + { + Iterate(child); + } + } + } + } + [/csharp] + [/codeblocks] </description> <tutorials> <link title="Importing 3D scenes: Custom script">https://docs.godotengine.org/en/latest/getting_started/workflow/assets/importing_scenes.html#custom-script</link> |