<?xml version="1.0"?>
<doc>
    <assembly>
        <name>GodotSharpEditor</name>
    </assembly>
    <members>
        <member name="T:Godot.EditorExportPlugin">
            <summary>
            <para><see cref="T:Godot.EditorExportPlugin"/>s are automatically invoked whenever the user exports the project. Their most common use is to determine what files are being included in the exported project. For each plugin, <see cref="M:Godot.EditorExportPlugin._ExportBegin(System.String[],System.Boolean,System.String,System.Int32)"/> is called at the beginning of the export process and then <see cref="M:Godot.EditorExportPlugin._ExportFile(System.String,System.String,System.String[])"/> is called for each exported file.</para>
            <para>To use <see cref="T:Godot.EditorExportPlugin"/>, register it using the <see cref="M:Godot.EditorPlugin.AddExportPlugin(Godot.EditorExportPlugin)"/> method first.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin._ExportBegin(System.String[],System.Boolean,System.String,System.Int32)">
            <summary>
            <para>Virtual method to be overridden by the user. It is called when the export starts and provides all information about the export. <c>features</c> is the list of features for the export, <c>is_debug</c> is <c>true</c> for debug builds, <c>path</c> is the target path for the exported project. <c>flags</c> is only used when running a runnable profile, e.g. when using native run on Android.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin._ExportEnd">
            <summary>
            <para>Virtual method to be overridden by the user. Called when the export is finished.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin._ExportFile(System.String,System.String,System.String[])">
            <summary>
            <para>Virtual method to be overridden by the user. Called for each exported file, providing arguments that can be used to identify the file. <c>path</c> is the path of the file, <c>type</c> is the <see cref="T:Godot.Resource"/> represented by the file (e.g. <see cref="T:Godot.PackedScene"/>) and <c>features</c> is the list of features for the export.</para>
            <para>Calling <see cref="M:Godot.EditorExportPlugin.Skip"/> inside this callback will make the file not included in the export.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin.AddSharedObject(System.String,System.String[])">
            <summary>
            <para>Adds a shared object or a directory containing only shared objects with the given <c>tags</c> and destination <c>path</c>.</para>
            <para>Note: In case of macOS exports, those shared objects will be added to <c>Frameworks</c> directory of app bundle.</para>
            <para>In case of a directory code-sign will error if you place non code object in directory.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin.AddIosProjectStaticLib(System.String)">
            <summary>
            <para>Adds a static lib from the given <c>path</c> to the iOS project.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin.AddFile(System.String,System.Byte[],System.Boolean)">
            <summary>
            <para>Adds a custom file to be exported. <c>path</c> is the virtual path that can be used to load the file, <c>file</c> is the binary data of the file. If <c>remap</c> is <c>true</c>, file will not be exported, but instead remapped to the given <c>path</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin.AddIosFramework(System.String)">
            <summary>
            <para>Adds a static library (*.a) or dynamic library (*.dylib, *.framework) to Linking Phase in iOS's Xcode project.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin.AddIosEmbeddedFramework(System.String)">
            <summary>
            <para>Adds a dynamic library (*.dylib, *.framework) to Linking Phase in iOS's Xcode project and embeds it into resulting binary.</para>
            <para>Note: For static libraries (*.a) works in same way as <see cref="M:Godot.EditorExportPlugin.AddIosFramework(System.String)"/>.</para>
            <para>This method should not be used for System libraries as they are already present on the device.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin.AddIosPlistContent(System.String)">
            <summary>
            <para>Adds content for iOS Property List files.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin.AddIosLinkerFlags(System.String)">
            <summary>
            <para>Adds linker flags for the iOS export.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin.AddIosBundleFile(System.String)">
            <summary>
            <para>Adds an iOS bundle file from the given <c>path</c> to the exported project.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin.AddIosCppCode(System.String)">
            <summary>
            <para>Adds a C++ code to the iOS export. The final code is created from the code appended by each active export plugin.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin.AddOsxPluginFile(System.String)">
            <summary>
            <para>Adds file or directory matching <c>path</c> to <c>PlugIns</c> directory of macOS app bundle.</para>
            <para>Note: This is useful only for macOS exports.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorExportPlugin.Skip">
            <summary>
            <para>To be called inside <see cref="M:Godot.EditorExportPlugin._ExportFile(System.String,System.String,System.String[])"/>. Skips the current file, so it's not included in the export.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorFeatureProfile">
            <summary>
            <para>An editor feature profile can be used to disable specific features of the Godot editor. When disabled, the features won't appear in the editor, which makes the editor less cluttered. This is useful in education settings to reduce confusion or when working in a team. For example, artists and level designers could use a feature profile that disables the script editor to avoid accidentally making changes to files they aren't supposed to edit.</para>
            <para>To manage editor feature profiles visually, use Editor &gt; Manage Feature Profiles... at the top of the editor window.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFeatureProfile.Feature.Feature3d">
            <summary>
            <para>The 3D editor. If this feature is disabled, the 3D editor won't display but 3D nodes will still display in the Create New Node dialog.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFeatureProfile.Feature.Script">
            <summary>
            <para>The Script tab, which contains the script editor and class reference browser. If this feature is disabled, the Script tab won't display.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFeatureProfile.Feature.AssetLib">
            <summary>
            <para>The AssetLib tab. If this feature is disabled, the AssetLib tab won't display.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFeatureProfile.Feature.SceneTree">
            <summary>
            <para>Scene tree editing. If this feature is disabled, the Scene tree dock will still be visible but will be read-only.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFeatureProfile.Feature.NodeDock">
            <summary>
            <para>The Node dock. If this feature is disabled, signals and groups won't be visible and modifiable from the editor.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFeatureProfile.Feature.FilesystemDock">
            <summary>
            <para>The FileSystem dock. If this feature is disabled, the FileSystem dock won't be visible.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFeatureProfile.Feature.ImportDock">
            <summary>
            <para>The Import dock. If this feature is disabled, the Import dock won't be visible.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFeatureProfile.Feature.Max">
            <summary>
            <para>Represents the size of the <see cref="T:Godot.EditorFeatureProfile.Feature"/> enum.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFeatureProfile.SetDisableClass(System.String,System.Boolean)">
            <summary>
            <para>If <c>disable</c> is <c>true</c>, disables the class specified by <c>class_name</c>. When disabled, the class won't appear in the Create New Node dialog.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFeatureProfile.IsClassDisabled(System.String)">
            <summary>
            <para>Returns <c>true</c> if the class specified by <c>class_name</c> is disabled. When disabled, the class won't appear in the Create New Node dialog.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFeatureProfile.SetDisableClassEditor(System.String,System.Boolean)">
            <summary>
            <para>If <c>disable</c> is <c>true</c>, disables editing for the class specified by <c>class_name</c>. When disabled, the class will still appear in the Create New Node dialog but the inspector will be read-only when selecting a node that extends the class.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFeatureProfile.IsClassEditorDisabled(System.String)">
            <summary>
            <para>Returns <c>true</c> if editing for the class specified by <c>class_name</c> is disabled. When disabled, the class will still appear in the Create New Node dialog but the inspector will be read-only when selecting a node that extends the class.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFeatureProfile.SetDisableClassProperty(System.String,System.String,System.Boolean)">
            <summary>
            <para>If <c>disable</c> is <c>true</c>, disables editing for <c>property</c> in the class specified by <c>class_name</c>. When a property is disabled, it won't appear in the inspector when selecting a node that extends the class specified by <c>class_name</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFeatureProfile.IsClassPropertyDisabled(System.String,System.String)">
            <summary>
            <para>Returns <c>true</c> if <c>property</c> is disabled in the class specified by <c>class_name</c>. When a property is disabled, it won't appear in the inspector when selecting a node that extends the class specified by <c>class_name</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFeatureProfile.SetDisableFeature(Godot.EditorFeatureProfile.Feature,System.Boolean)">
            <summary>
            <para>If <c>disable</c> is <c>true</c>, disables the editor feature specified in <c>feature</c>. When a feature is disabled, it will disappear from the editor entirely.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFeatureProfile.IsFeatureDisabled(Godot.EditorFeatureProfile.Feature)">
            <summary>
            <para>Returns <c>true</c> if the <c>feature</c> is disabled. When a feature is disabled, it will disappear from the editor entirely.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFeatureProfile.GetFeatureName(Godot.EditorFeatureProfile.Feature)">
            <summary>
            <para>Returns the specified <c>feature</c>'s human-readable name.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFeatureProfile.SaveToFile(System.String)">
            <summary>
            <para>Saves the editor feature profile to a file in JSON format. It can then be imported using the feature profile manager's Import button or the <see cref="M:Godot.EditorFeatureProfile.LoadFromFile(System.String)"/> method.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFeatureProfile.LoadFromFile(System.String)">
            <summary>
            <para>Loads an editor feature profile from a file. The file must follow the JSON format obtained by using the feature profile manager's Export button or the <see cref="M:Godot.EditorFeatureProfile.SaveToFile(System.String)"/> method.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFileDialog.DisplayModeEnum.Thumbnails">
            <summary>
            <para>The <see cref="T:Godot.EditorFileDialog"/> displays resources as thumbnails.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFileDialog.DisplayModeEnum.List">
            <summary>
            <para>The <see cref="T:Godot.EditorFileDialog"/> displays resources as a list of filenames.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFileDialog.ModeEnum.OpenFile">
            <summary>
            <para>The <see cref="T:Godot.EditorFileDialog"/> can select only one file. Accepting the window will open the file.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFileDialog.ModeEnum.OpenFiles">
            <summary>
            <para>The <see cref="T:Godot.EditorFileDialog"/> can select multiple files. Accepting the window will open all files.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFileDialog.ModeEnum.OpenDir">
            <summary>
            <para>The <see cref="T:Godot.EditorFileDialog"/> can select only one directory. Accepting the window will open the directory.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFileDialog.ModeEnum.OpenAny">
            <summary>
            <para>The <see cref="T:Godot.EditorFileDialog"/> can select a file or directory. Accepting the window will open it.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFileDialog.ModeEnum.SaveFile">
            <summary>
            <para>The <see cref="T:Godot.EditorFileDialog"/> can select only one file. Accepting the window will save the file.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFileDialog.AccessEnum.Resources">
            <summary>
            <para>The <see cref="T:Godot.EditorFileDialog"/> can only view <c>res://</c> directory contents.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFileDialog.AccessEnum.Userdata">
            <summary>
            <para>The <see cref="T:Godot.EditorFileDialog"/> can only view <c>user://</c> directory contents.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorFileDialog.AccessEnum.Filesystem">
            <summary>
            <para>The <see cref="T:Godot.EditorFileDialog"/> can view the entire local file system.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorFileDialog.Access">
            <summary>
            <para>The location from which the user may select a file, including <c>res://</c>, <c>user://</c>, and the local file system.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorFileDialog.DisplayMode">
            <summary>
            <para>The view format in which the <see cref="T:Godot.EditorFileDialog"/> displays resources to the user.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorFileDialog.Mode">
            <summary>
            <para>The purpose of the <see cref="T:Godot.EditorFileDialog"/>, which defines the allowed behaviors.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorFileDialog.CurrentDir">
            <summary>
            <para>The currently occupied directory.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorFileDialog.CurrentFile">
            <summary>
            <para>The currently selected file.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorFileDialog.CurrentPath">
            <summary>
            <para>The file system path in the address bar.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorFileDialog.ShowHiddenFiles">
            <summary>
            <para>If <c>true</c>, hidden files and directories will be visible in the <see cref="T:Godot.EditorFileDialog"/>.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorFileDialog.DisableOverwriteWarning">
            <summary>
            <para>If <c>true</c>, the <see cref="T:Godot.EditorFileDialog"/> will not warn the user before overwriting files.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileDialog.ClearFilters">
            <summary>
            <para>Removes all filters except for "All Files (*)".</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileDialog.AddFilter(System.String)">
            <summary>
            <para>Adds a comma-delimited file extension filter option to the <see cref="T:Godot.EditorFileDialog"/> with an optional semi-colon-delimited label.</para>
            <para>For example, <c>"*.tscn, *.scn; Scenes"</c> results in filter text "Scenes (*.tscn, *.scn)".</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileDialog.GetVbox">
            <summary>
            <para>Returns the <c>VBoxContainer</c> used to display the file system.</para>
            <para>Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their <see cref="P:Godot.CanvasItem.Visible"/> property.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileDialog.Invalidate">
            <summary>
            <para>Notify the <see cref="T:Godot.EditorFileDialog"/> that its view of the data is no longer accurate. Updates the view contents on next view update.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorFileSystem">
            <summary>
            <para>This object holds information of all resources in the filesystem, their types, etc.</para>
            <para>Note: This class shouldn't be instantiated directly. Instead, access the singleton using <see cref="M:Godot.EditorInterface.GetResourceFilesystem"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystem.GetFilesystem">
            <summary>
            <para>Gets the root directory object.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystem.IsScanning">
            <summary>
            <para>Returns <c>true</c> if the filesystem is being scanned.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystem.GetScanningProgress">
            <summary>
            <para>Returns the scan progress for 0 to 1 if the FS is being scanned.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystem.Scan">
            <summary>
            <para>Scan the filesystem for changes.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystem.ScanSources">
            <summary>
            <para>Check if the source of any imported resource changed.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystem.UpdateFile(System.String)">
            <summary>
            <para>Update a file information. Call this if an external program (not Godot) modified the file.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystem.GetFilesystemPath(System.String)">
            <summary>
            <para>Returns a view into the filesystem at <c>path</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystem.GetFileType(System.String)">
            <summary>
            <para>Returns the resource type of the file, given the full path. This returns a string such as <c>"Resource"</c> or <c>"GDScript"</c>, not a file extension such as <c>".gd"</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystem.UpdateScriptClasses">
            <summary>
            <para>Scans the script files and updates the list of custom class names.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorFileSystemDirectory">
            <summary>
            <para>A more generalized, low-level variation of the directory concept.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetSubdirCount">
            <summary>
            <para>Returns the number of subdirectories in this directory.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetSubdir(System.Int32)">
            <summary>
            <para>Returns the subdirectory at index <c>idx</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetFileCount">
            <summary>
            <para>Returns the number of files in this directory.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetFile(System.Int32)">
            <summary>
            <para>Returns the name of the file at index <c>idx</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetFilePath(System.Int32)">
            <summary>
            <para>Returns the path to the file at index <c>idx</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetFileType(System.Int32)">
            <summary>
            <para>Returns the resource type of the file at index <c>idx</c>. This returns a string such as <c>"Resource"</c> or <c>"GDScript"</c>, not a file extension such as <c>".gd"</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetFileScriptClassName(System.Int32)">
            <summary>
            <para>Returns the name of the script class defined in the file at index <c>idx</c>. If the file doesn't define a script class using the <c>class_name</c> syntax, this will return an empty string.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetFileScriptClassExtends(System.Int32)">
            <summary>
            <para>Returns the base class of the script class defined in the file at index <c>idx</c>. If the file doesn't define a script class using the <c>class_name</c> syntax, this will return an empty string.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetFileImportIsValid(System.Int32)">
            <summary>
            <para>Returns <c>true</c> if the file at index <c>idx</c> imported properly.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetName">
            <summary>
            <para>Returns the name of this directory.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetPath">
            <summary>
            <para>Returns the path to this directory.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.GetParent">
            <summary>
            <para>Returns the parent directory for this directory or <c>null</c> if called on a directory at <c>res://</c> or <c>user://</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.FindFileIndex(System.String)">
            <summary>
            <para>Returns the index of the file with name <c>name</c> or <c>-1</c> if not found.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorFileSystemDirectory.FindDirIndex(System.String)">
            <summary>
            <para>Returns the index of the directory with name <c>name</c> or <c>-1</c> if not found.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorImportPlugin">
            <summary>
            <para><see cref="T:Godot.EditorImportPlugin"/>s provide a way to extend the editor's resource import functionality. Use them to import resources from custom files or to provide alternatives to the editor's existing importers.</para>
            <para>EditorImportPlugins work by associating with specific file extensions and a resource type. See <see cref="M:Godot.EditorImportPlugin.GetRecognizedExtensions"/> and <see cref="M:Godot.EditorImportPlugin.GetResourceType"/>. They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the <c>.import</c> directory (see ).</para>
            <para>Below is an example EditorImportPlugin that imports a <see cref="T:Godot.Mesh"/> from a file with the extension ".special" or ".spec":</para>
            <para><code>
            tool
            extends EditorImportPlugin
            
            func get_importer_name():
                return "my.special.plugin"
            
            func get_visible_name():
                return "Special Mesh"
            
            func get_recognized_extensions():
                return ["special", "spec"]
            
            func get_save_extension():
                return "mesh"
            
            func get_resource_type():
                return "Mesh"
            
            func get_preset_count():
                return 1
            
            func get_preset_name(i):
                return "Default"
            
            func get_import_options(i):
                return [{"name": "my_option", "default_value": false}]
            
            func import(source_file, save_path, options, platform_variants, gen_files):
                var file = File.new()
                if file.open(source_file, File.READ) != OK:
                    return FAILED
            
                var mesh = Mesh.new()
                # Fill the Mesh with data read in "file", left as an exercise to the reader
            
                var filename = save_path + "." + get_save_extension()
                return ResourceSaver.save(filename, mesh)
            </code></para>
            <para>To use <see cref="T:Godot.EditorImportPlugin"/>, register it using the <see cref="M:Godot.EditorPlugin.AddImportPlugin(Godot.EditorImportPlugin)"/> method first.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.GetImportOptions(System.Int32)">
            <summary>
            <para>Gets the options and default values for the preset at this index. Returns an Array of Dictionaries with the following keys: <c>name</c>, <c>default_value</c>, <c>property_hint</c> (optional), <c>hint_string</c> (optional), <c>usage</c> (optional).</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.GetImportOrder">
            <summary>
            <para>Gets the order of this importer to be run when importing resources. Importers with lower import orders will be called first, and higher values will be called later. Use this to ensure the importer runs after the dependencies are already imported. The default import order is <c>0</c> unless overridden by a specific importer. See <see cref="T:Godot.ResourceImporter.ImportOrder"/> for some predefined values.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.GetImporterName">
            <summary>
            <para>Gets the unique name of the importer.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.GetOptionVisibility(System.String,Godot.Collections.Dictionary)">
            <summary>
            <para>This method can be overridden to hide specific import options if conditions are met. This is mainly useful for hiding options that depend on others if one of them is disabled. For example:</para>
            <para><code>
            func get_option_visibility(option, options):
                # Only show the lossy quality setting if the compression mode is set to "Lossy".
                if option == "compress/lossy_quality" and options.has("compress/mode"):
                    return int(options["compress/mode"]) == COMPRESS_LOSSY
            
                return true
            </code></para>
            <para>Return <c>true</c> to make all options always visible.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.GetPresetCount">
            <summary>
            <para>Gets the number of initial presets defined by the plugin. Use <see cref="M:Godot.EditorImportPlugin.GetImportOptions(System.Int32)"/> to get the default options for the preset and <see cref="M:Godot.EditorImportPlugin.GetPresetName(System.Int32)"/> to get the name of the preset.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.GetPresetName(System.Int32)">
            <summary>
            <para>Gets the name of the options preset at this index.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.GetPriority">
            <summary>
            <para>Gets the priority of this plugin for the recognized extension. Higher priority plugins will be preferred. The default priority is <c>1.0</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.GetRecognizedExtensions">
            <summary>
            <para>Gets the list of file extensions to associate with this loader (case-insensitive). e.g. <c>["obj"]</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.GetResourceType">
            <summary>
            <para>Gets the Godot resource type associated with this loader. e.g. <c>"Mesh"</c> or <c>"Animation"</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.GetSaveExtension">
            <summary>
            <para>Gets the extension used to save this resource in the <c>.import</c> directory (see ).</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.GetVisibleName">
            <summary>
            <para>Gets the name to display in the import window. You should choose this name as a continuation to "Import as", e.g. "Import as Special Mesh".</para>
            </summary>
        </member>
        <member name="M:Godot.EditorImportPlugin.Import(System.String,System.String,Godot.Collections.Dictionary,Godot.Collections.Array,Godot.Collections.Array)">
            <summary>
            <para>Imports <c>source_file</c> into <c>save_path</c> with the import <c>options</c> specified. The <c>platform_variants</c> and <c>gen_files</c> arrays will be modified by this function.</para>
            <para>This method must be overridden to do the actual importing work. See this class' description for an example of overriding this method.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorInspector">
            <summary>
            <para>This is the control that implements property editing in the editor's Settings dialogs, the Inspector dock, etc. To get the <see cref="T:Godot.EditorInspector"/> used in the editor's Inspector dock, use <see cref="M:Godot.EditorInterface.GetInspector"/>.</para>
            <para><see cref="T:Godot.EditorInspector"/> will show properties in the same order as the array returned by <see cref="M:Godot.Object.GetPropertyList"/>.</para>
            <para>If a property's name is path-like (i.e. if it contains forward slashes), <see cref="T:Godot.EditorInspector"/> will create nested sections for "directories" along the path. For example, if a property is named <c>highlighting/gdscript/node_path_color</c>, it will be shown as "Node Path Color" inside the "GDScript" section nested inside the "Highlighting" section.</para>
            <para>If a property has <c>@GlobalScope.PROPERTY_USAGE_GROUP</c> usage, it will group subsequent properties whose name starts with the property's hint string. The group ends when a property does not start with that hint string or when a new group starts. An empty group name effectively ends the current group. <see cref="T:Godot.EditorInspector"/> will create a top-level section for each group. For example, if a property with group usage is named <c>Collide With</c> and its hint string is <c>collide_with_</c>, a subsequent <c>collide_with_area</c> property will be shown as "Area" inside the "Collide With" section.</para>
            <para>Note: Unlike sections created from path-like property names, <see cref="T:Godot.EditorInspector"/> won't capitalize the name for sections created from groups. So properties with group usage usually use capitalized names instead of snake_cased names.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInspector.Refresh">
            <summary>
            <para>Refreshes the inspector.</para>
            <para>Note: To save on CPU resources, calling this method will do nothing if the time specified in <c>docks/property_editor/auto_refresh_interval</c> editor setting hasn't passed yet since this method was last called. (By default, this interval is set to 0.3 seconds.)</para>
            </summary>
        </member>
        <member name="T:Godot.EditorInspectorPlugin">
            <summary>
            <para><see cref="T:Godot.EditorInspectorPlugin"/> allows adding custom property editors to <see cref="T:Godot.EditorInspector"/>.</para>
            <para>When an object is edited, the <see cref="M:Godot.EditorInspectorPlugin.CanHandle(Godot.Object)"/> function is called and must return <c>true</c> if the object type is supported.</para>
            <para>If supported, the function <see cref="M:Godot.EditorInspectorPlugin.ParseBegin(Godot.Object)"/> will be called, allowing to place custom controls at the beginning of the class.</para>
            <para>Subsequently, the <see cref="M:Godot.EditorInspectorPlugin.ParseCategory(Godot.Object,System.String)"/> and <see cref="M:Godot.EditorInspectorPlugin.ParseProperty(Godot.Object,System.Int32,System.String,System.Int32,System.String,System.Int32)"/> are called for every category and property. They offer the ability to add custom controls to the inspector too.</para>
            <para>Finally, <see cref="M:Godot.EditorInspectorPlugin.ParseEnd"/> will be called.</para>
            <para>On each of these calls, the "add" functions can be called.</para>
            <para>To use <see cref="T:Godot.EditorInspectorPlugin"/>, register it using the <see cref="M:Godot.EditorPlugin.AddInspectorPlugin(Godot.EditorInspectorPlugin)"/> method first.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInspectorPlugin.CanHandle(Godot.Object)">
            <summary>
            <para>Returns <c>true</c> if this object can be handled by this plugin.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInspectorPlugin.ParseBegin(Godot.Object)">
            <summary>
            <para>Called to allow adding controls at the beginning of the list.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInspectorPlugin.ParseCategory(Godot.Object,System.String)">
            <summary>
            <para>Called to allow adding controls at the beginning of the category.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInspectorPlugin.ParseEnd">
            <summary>
            <para>Called to allow adding controls at the end of the list.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInspectorPlugin.ParseProperty(Godot.Object,System.Int32,System.String,System.Int32,System.String,System.Int32)">
            <summary>
            <para>Called to allow adding property specific editors to the inspector. Usually these inherit <see cref="T:Godot.EditorProperty"/>. Returning <c>true</c> removes the built-in editor for this property, otherwise allows to insert a custom editor before the built-in one.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInspectorPlugin.AddCustomControl(Godot.Control)">
            <summary>
            <para>Adds a custom control, which is not necessarily a property editor.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInspectorPlugin.AddPropertyEditor(System.String,Godot.Control)">
            <summary>
            <para>Adds a property editor for an individual property. The <c>editor</c> control must extend <see cref="T:Godot.EditorProperty"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInspectorPlugin.AddPropertyEditorForMultipleProperties(System.String,System.String[],Godot.Control)">
            <summary>
            <para>Adds an editor that allows modifying multiple properties. The <c>editor</c> control must extend <see cref="T:Godot.EditorProperty"/>.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorInterface">
            <summary>
            <para>EditorInterface gives you control over Godot editor's window. It allows customizing the window, saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects, and provides access to <see cref="T:Godot.EditorSettings"/>, <see cref="T:Godot.EditorFileSystem"/>, <see cref="T:Godot.EditorResourcePreview"/>, <see cref="T:Godot.ScriptEditor"/>, the editor viewport, and information about scenes.</para>
            <para>Note: This class shouldn't be instantiated directly. Instead, access the singleton using <see cref="M:Godot.EditorPlugin.GetEditorInterface"/>.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorInterface.DistractionFreeMode">
            <summary>
            <para>If <c>true</c>, enables distraction-free mode which hides side docks to increase the space available for the main view.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.InspectObject(Godot.Object,System.String,System.Boolean)">
            <summary>
            <para>Shows the given property on the given <c>object</c> in the editor's Inspector dock. If <c>inspector_only</c> is <c>true</c>, plugins will not attempt to edit <c>object</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetSelection">
            <summary>
            <para>Returns the editor's <see cref="T:Godot.EditorSelection"/> instance.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetEditorSettings">
            <summary>
            <para>Returns the editor's <see cref="T:Godot.EditorSettings"/> instance.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetScriptEditor">
            <summary>
            <para>Returns the editor's <see cref="T:Godot.ScriptEditor"/> instance.</para>
            <para>Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetBaseControl">
            <summary>
            <para>Returns the main container of Godot editor's window. For example, you can use it to retrieve the size of the container and place your controls accordingly.</para>
            <para>Warning: Removing and freeing this node will render the editor useless and may cause a crash.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetEditorScale">
            <summary>
            <para>Returns the actual scale of the editor UI (<c>1.0</c> being 100% scale). This can be used to adjust position and dimensions of the UI added by plugins.</para>
            <para>Note: This value is set via the <c>interface/editor/display_scale</c> and <c>interface/editor/custom_display_scale</c> editor settings. Editor must be restarted for changes to be properly applied.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.EditResource(Godot.Resource)">
            <summary>
            <para>Edits the given <see cref="T:Godot.Resource"/>. If the resource is a <see cref="T:Godot.Script"/> you can also edit it with <see cref="M:Godot.EditorInterface.EditScript(Godot.Script,System.Int32,System.Int32,System.Boolean)"/> to specify the line and column position.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.EditNode(Godot.Node)">
            <summary>
            <para>Edits the given <see cref="T:Godot.Node"/>. The node will be also selected if it's inside the scene tree.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.EditScript(Godot.Script,System.Int32,System.Int32,System.Boolean)">
            <summary>
            <para>Edits the given <see cref="T:Godot.Script"/>. The line and column on which to open the script can also be specified. The script will be open with the user-configured editor for the script's language which may be an external editor.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.OpenSceneFromPath(System.String)">
            <summary>
            <para>Opens the scene at the given path.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.ReloadSceneFromPath(System.String)">
            <summary>
            <para>Reloads the scene at the given path.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.PlayMainScene">
            <summary>
            <para>Plays the main scene.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.PlayCurrentScene">
            <summary>
            <para>Plays the currently active scene.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.PlayCustomScene(System.String)">
            <summary>
            <para>Plays the scene specified by its filepath.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.StopPlayingScene">
            <summary>
            <para>Stops the scene that is currently playing.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.IsPlayingScene">
            <summary>
            <para>Returns <c>true</c> if a scene is currently being played, <c>false</c> otherwise. Paused scenes are considered as being played.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetPlayingScene">
            <summary>
            <para>Returns the name of the scene that is being played. If no scene is currently being played, returns an empty string.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetOpenScenes">
            <summary>
            <para>Returns an <see cref="T:Godot.Collections.Array"/> with the file paths of the currently opened scenes.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetEditedSceneRoot">
            <summary>
            <para>Returns the edited (current) scene's root <see cref="T:Godot.Node"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetResourcePreviewer">
            <summary>
            <para>Returns the editor's <see cref="T:Godot.EditorResourcePreview"/> instance.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetResourceFilesystem">
            <summary>
            <para>Returns the editor's <see cref="T:Godot.EditorFileSystem"/> instance.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetEditorViewport">
            <summary>
            <para>Returns the main editor control. Use this as a parent for main screens.</para>
            <para>Note: This returns the main editor control containing the whole editor, not the 2D or 3D viewports specifically.</para>
            <para>Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.MakeMeshPreviews(Godot.Collections.Array,System.Int32)">
            <summary>
            <para>Returns mesh previews rendered at the given size as an <see cref="T:Godot.Collections.Array"/> of <see cref="T:Godot.Texture"/>s.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.SelectFile(System.String)">
            <summary>
            <para>Selects the file, with the path provided by <c>file</c>, in the FileSystem dock.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetSelectedPath">
            <summary>
            <para>Returns the path of the directory currently selected in the <see cref="T:Godot.FileSystemDock"/>. If a file is selected, its base directory will be returned using <c>String.get_base_dir</c> instead.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetCurrentPath">
            <summary>
            <para>Returns the current path being viewed in the <see cref="T:Godot.FileSystemDock"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetFileSystemDock">
            <summary>
            <para>Returns the editor's <see cref="T:Godot.FileSystemDock"/> instance.</para>
            <para>Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.SetPluginEnabled(System.String,System.Boolean)">
            <summary>
            <para>Sets the enabled status of a plugin. The plugin name is the same as its directory name.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.IsPluginEnabled(System.String)">
            <summary>
            <para>Returns <c>true</c> if the specified <c>plugin</c> is enabled. The plugin name is the same as its directory name.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.GetInspector">
            <summary>
            <para>Returns the editor's <see cref="T:Godot.EditorInspector"/> instance.</para>
            <para>Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.SaveScene">
            <summary>
            <para>Saves the scene. Returns either <c>OK</c> or <c>ERR_CANT_CREATE</c> (see <c>@GlobalScope</c> constants).</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.SaveSceneAs(System.String,System.Boolean)">
            <summary>
            <para>Saves the scene as a file at <c>path</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorInterface.SetMainScreenEditor(System.String)">
            <summary>
            <para>Sets the editor's current main screen to the one specified in <c>name</c>. <c>name</c> must match the text of the tab in question exactly (<c>2D</c>, <c>3D</c>, <c>Script</c>, <c>AssetLib</c>).</para>
            </summary>
        </member>
        <member name="T:Godot.EditorPlugin">
            <summary>
            <para>Plugins are used by the editor to extend functionality. The most common types of plugins are those which edit a given node or resource type, import plugins and export plugins. See also <see cref="T:Godot.EditorScript"/> to add functions to the editor.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorPlugin.DockSlot.Max">
            <summary>
            <para>Represents the size of the <see cref="T:Godot.EditorPlugin.DockSlot"/> enum.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.ApplyChanges">
            <summary>
            <para>This method is called when the editor is about to save the project, switch to another tab, etc. It asks the plugin to apply any pending state changes to ensure consistency.</para>
            <para>This is used, for example, in shader editors to let the plugin know that it must apply the shader code being written by the user to the object.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.Build">
            <summary>
            <para>This method is called when the editor is about to run the project. The plugin can then perform required operations before the project runs.</para>
            <para>This method must return a boolean. If this method returns <c>false</c>, the project will not run. The run is aborted immediately, so this also prevents all other plugins' <see cref="M:Godot.EditorPlugin.Build"/> methods from running.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.Clear">
            <summary>
            <para>Clear all the state and reset the object being edited to zero. This ensures your plugin does not keep editing a currently existing node, or a node from the wrong scene.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.DisablePlugin">
            <summary>
            <para>Called by the engine when the user disables the <see cref="T:Godot.EditorPlugin"/> in the Plugin tab of the project settings window.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.Edit(Godot.Object)">
            <summary>
            <para>This function is used for plugins that edit specific object types (nodes or resources). It requests the editor to edit the given object.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.EnablePlugin">
            <summary>
            <para>Called by the engine when the user enables the <see cref="T:Godot.EditorPlugin"/> in the Plugin tab of the project settings window.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.ForwardCanvasDrawOverViewport(Godot.Control)">
            <summary>
            <para>Called by the engine when the 2D editor's viewport is updated. Use the <c>overlay</c> <see cref="T:Godot.Control"/> for drawing. You can update the viewport manually by calling <see cref="M:Godot.EditorPlugin.UpdateOverlays"/>.</para>
            <para><code>
            func forward_canvas_draw_over_viewport(overlay):
                # Draw a circle at cursor position.
                overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.white)
            
            func forward_canvas_gui_input(event):
                if event is InputEventMouseMotion:
                    # Redraw viewport when cursor is moved.
                    update_overlays()
                    return true
                return false
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.ForwardCanvasForceDrawOverViewport(Godot.Control)">
            <summary>
            <para>This method is the same as <see cref="M:Godot.EditorPlugin.ForwardCanvasDrawOverViewport(Godot.Control)"/>, except it draws on top of everything. Useful when you need an extra layer that shows over anything else.</para>
            <para>You need to enable calling of this method by using <see cref="M:Godot.EditorPlugin.SetForceDrawOverForwardingEnabled"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.ForwardCanvasGuiInput(Godot.InputEvent)">
            <summary>
            <para>Called when there is a root node in the current edited scene, <see cref="M:Godot.EditorPlugin.Handles(Godot.Object)"/> is implemented and an <see cref="T:Godot.InputEvent"/> happens in the 2D viewport. Intercepts the <see cref="T:Godot.InputEvent"/>, if <c>return true</c> <see cref="T:Godot.EditorPlugin"/> consumes the <c>event</c>, otherwise forwards <c>event</c> to other Editor classes. Example:</para>
            <para><code>
            # Prevents the InputEvent to reach other Editor classes
            func forward_canvas_gui_input(event):
                var forward = true
                return forward
            </code></para>
            <para>Must <c>return false</c> in order to forward the <see cref="T:Godot.InputEvent"/> to other Editor classes. Example:</para>
            <para><code>
            # Consumes InputEventMouseMotion and forwards other InputEvent types
            func forward_canvas_gui_input(event):
                var forward = false
                if event is InputEventMouseMotion:
                    forward = true
                return forward
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.ForwardSpatialDrawOverViewport(Godot.Control)">
            <summary>
            <para>Called by the engine when the 3D editor's viewport is updated. Use the <c>overlay</c> <see cref="T:Godot.Control"/> for drawing. You can update the viewport manually by calling <see cref="M:Godot.EditorPlugin.UpdateOverlays"/>.</para>
            <para><code>
            func forward_spatial_draw_over_viewport(overlay):
                # Draw a circle at cursor position.
                overlay.draw_circle(overlay.get_local_mouse_position(), 64)
            
            func forward_spatial_gui_input(camera, event):
                if event is InputEventMouseMotion:
                    # Redraw viewport when cursor is moved.
                    update_overlays()
                    return true
                return false
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.ForwardSpatialForceDrawOverViewport(Godot.Control)">
            <summary>
            <para>This method is the same as <see cref="M:Godot.EditorPlugin.ForwardSpatialDrawOverViewport(Godot.Control)"/>, except it draws on top of everything. Useful when you need an extra layer that shows over anything else.</para>
            <para>You need to enable calling of this method by using <see cref="M:Godot.EditorPlugin.SetForceDrawOverForwardingEnabled"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.ForwardSpatialGuiInput(Godot.Camera,Godot.InputEvent)">
            <summary>
            <para>Called when there is a root node in the current edited scene, <see cref="M:Godot.EditorPlugin.Handles(Godot.Object)"/> is implemented and an <see cref="T:Godot.InputEvent"/> happens in the 3D viewport. Intercepts the <see cref="T:Godot.InputEvent"/>, if <c>return true</c> <see cref="T:Godot.EditorPlugin"/> consumes the <c>event</c>, otherwise forwards <c>event</c> to other Editor classes. Example:</para>
            <para><code>
            # Prevents the InputEvent to reach other Editor classes
            func forward_spatial_gui_input(camera, event):
                var forward = true
                return forward
            </code></para>
            <para>Must <c>return false</c> in order to forward the <see cref="T:Godot.InputEvent"/> to other Editor classes. Example:</para>
            <para><code>
            # Consumes InputEventMouseMotion and forwards other InputEvent types
            func forward_spatial_gui_input(camera, event):
                var forward = false
                if event is InputEventMouseMotion:
                    forward = true
                return forward
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.GetBreakpoints">
            <summary>
            <para>This is for editors that edit script-based objects. You can return a list of breakpoints in the format (<c>script:line</c>), for example: <c>res://path_to_script.gd:25</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.GetPluginIcon">
            <summary>
            <para>Override this method in your plugin to return a <see cref="T:Godot.Texture"/> in order to give it an icon.</para>
            <para>For main screen plugins, this appears at the top of the screen, to the right of the "2D", "3D", "Script", and "AssetLib" buttons.</para>
            <para>Ideally, the plugin icon should be white with a transparent background and 16x16 pixels in size.</para>
            <para><code>
            func get_plugin_icon():
                # You can use a custom icon:
                return preload("res://addons/my_plugin/my_plugin_icon.svg")
                # Or use a built-in icon:
                return get_editor_interface().get_base_control().get_icon("Node", "EditorIcons")
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.GetPluginName">
            <summary>
            <para>Override this method in your plugin to provide the name of the plugin when displayed in the Godot editor.</para>
            <para>For main screen plugins, this appears at the top of the screen, to the right of the "2D", "3D", "Script", and "AssetLib" buttons.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.GetState">
            <summary>
            <para>Override this method to provide a state data you want to be saved, like view position, grid settings, folding, etc. This is used when saving the scene (so state is kept when opening it again) and for switching tabs (so state can be restored when the tab returns). This data is automatically saved for each scene in an <c>editstate</c> file in the editor metadata folder. If you want to store global (scene-independent) editor data for your plugin, you can use <see cref="M:Godot.EditorPlugin.GetWindowLayout(Godot.ConfigFile)"/> instead.</para>
            <para>Use <see cref="M:Godot.EditorPlugin.SetState(Godot.Collections.Dictionary)"/> to restore your saved state.</para>
            <para>Note: This method should not be used to save important settings that should persist with the project.</para>
            <para>Note: You must implement <see cref="M:Godot.EditorPlugin.GetPluginName"/> for the state to be stored and restored correctly.</para>
            <para><code>
            func get_state():
                var state = {"zoom": zoom, "preferred_color": my_color}
                return state
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.GetWindowLayout(Godot.ConfigFile)">
            <summary>
            <para>Override this method to provide the GUI layout of the plugin or any other data you want to be stored. This is used to save the project's editor layout when <see cref="M:Godot.EditorPlugin.QueueSaveLayout"/> is called or the editor layout was changed (for example changing the position of a dock). The data is stored in the <c>editor_layout.cfg</c> file in the editor metadata directory.</para>
            <para>Use <see cref="M:Godot.EditorPlugin.SetWindowLayout(Godot.ConfigFile)"/> to restore your saved layout.</para>
            <para><code>
            func get_window_layout(configuration):
                configuration.set_value("MyPlugin", "window_position", $Window.position)
                configuration.set_value("MyPlugin", "icon_color", $Icon.modulate)
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.Handles(Godot.Object)">
            <summary>
            <para>Implement this function if your plugin edits a specific type of object (Resource or Node). If you return <c>true</c>, then you will get the functions <see cref="M:Godot.EditorPlugin.Edit(Godot.Object)"/> and <see cref="M:Godot.EditorPlugin.MakeVisible(System.Boolean)"/> called when the editor requests them. If you have declared the methods <see cref="M:Godot.EditorPlugin.ForwardCanvasGuiInput(Godot.InputEvent)"/> and <see cref="M:Godot.EditorPlugin.ForwardSpatialGuiInput(Godot.Camera,Godot.InputEvent)"/> these will be called too.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.HasMainScreen">
            <summary>
            <para>Returns <c>true</c> if this is a main screen editor plugin (it goes in the workspace selector together with 2D, 3D, Script and AssetLib).</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.MakeVisible(System.Boolean)">
            <summary>
            <para>This function will be called when the editor is requested to become visible. It is used for plugins that edit a specific object type.</para>
            <para>Remember that you have to manage the visibility of all your editor controls manually.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.SaveExternalData">
            <summary>
            <para>This method is called after the editor saves the project or when it's closed. It asks the plugin to save edited external scenes/resources.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.SetState(Godot.Collections.Dictionary)">
            <summary>
            <para>Restore the state saved by <see cref="M:Godot.EditorPlugin.GetState"/>. This method is called when the current scene tab is changed in the editor.</para>
            <para>Note: Your plugin must implement <see cref="M:Godot.EditorPlugin.GetPluginName"/>, otherwise it will not be recognized and this method will not be called.</para>
            <para><code>
            func set_state(data):
                zoom = data.get("zoom", 1.0)
                preferred_color = data.get("my_color", Color.white)
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.SetWindowLayout(Godot.ConfigFile)">
            <summary>
            <para>Restore the plugin GUI layout and data saved by <see cref="M:Godot.EditorPlugin.GetWindowLayout(Godot.ConfigFile)"/>. This method is called for every plugin on editor startup. Use the provided <c>configuration</c> file to read your saved data.</para>
            <para><code>
            func set_window_layout(configuration):
                $Window.position = configuration.get_value("MyPlugin", "window_position", Vector2())
                $Icon.modulate = configuration.get_value("MyPlugin", "icon_color", Color.white)
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddControlToContainer(Godot.EditorPlugin.CustomControlContainer,Godot.Control)">
            <summary>
            <para>Adds a custom control to a container (see <see cref="T:Godot.EditorPlugin.CustomControlContainer"/>). There are many locations where custom controls can be added in the editor UI.</para>
            <para>Please remember that you have to manage the visibility of your custom controls yourself (and likely hide it after adding it).</para>
            <para>When your plugin is deactivated, make sure to remove your custom control with <see cref="M:Godot.EditorPlugin.RemoveControlFromContainer(Godot.EditorPlugin.CustomControlContainer,Godot.Control)"/> and free it with <see cref="M:Godot.Node.QueueFree"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddControlToBottomPanel(Godot.Control,System.String)">
            <summary>
            <para>Adds a control to the bottom panel (together with Output, Debug, Animation, etc). Returns a reference to the button added. It's up to you to hide/show the button when needed. When your plugin is deactivated, make sure to remove your custom control with <see cref="M:Godot.EditorPlugin.RemoveControlFromBottomPanel(Godot.Control)"/> and free it with <see cref="M:Godot.Node.QueueFree"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddControlToDock(Godot.EditorPlugin.DockSlot,Godot.Control)">
            <summary>
            <para>Adds the control to a specific dock slot (see <see cref="T:Godot.EditorPlugin.DockSlot"/> for options).</para>
            <para>If the dock is repositioned and as long as the plugin is active, the editor will save the dock position on further sessions.</para>
            <para>When your plugin is deactivated, make sure to remove your custom control with <see cref="M:Godot.EditorPlugin.RemoveControlFromDocks(Godot.Control)"/> and free it with <see cref="M:Godot.Node.QueueFree"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.RemoveControlFromDocks(Godot.Control)">
            <summary>
            <para>Removes the control from the dock. You have to manually <see cref="M:Godot.Node.QueueFree"/> the control.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.RemoveControlFromBottomPanel(Godot.Control)">
            <summary>
            <para>Removes the control from the bottom panel. You have to manually <see cref="M:Godot.Node.QueueFree"/> the control.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.RemoveControlFromContainer(Godot.EditorPlugin.CustomControlContainer,Godot.Control)">
            <summary>
            <para>Removes the control from the specified container. You have to manually <see cref="M:Godot.Node.QueueFree"/> the control.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddToolMenuItem(System.String,Godot.Object,System.String,System.Object)">
            <summary>
            <para>Adds a custom menu item to Project &gt; Tools as <c>name</c> that calls <c>callback</c> on an instance of <c>handler</c> with a parameter <c>ud</c> when user activates it.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddToolSubmenuItem(System.String,Godot.Object)">
            <summary>
            <para>Adds a custom submenu under Project &gt; Tools &gt; <c>name</c>. <c>submenu</c> should be an object of class <see cref="T:Godot.PopupMenu"/>. This submenu should be cleaned up using <c>remove_tool_menu_item(name)</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.RemoveToolMenuItem(System.String)">
            <summary>
            <para>Removes a menu <c>name</c> from Project &gt; Tools.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddCustomType(System.String,System.String,Godot.Script,Godot.Texture)">
            <summary>
            <para>Adds a custom type, which will appear in the list of nodes or resources. An icon can be optionally passed.</para>
            <para>When given node or resource is selected, the base type will be instanced (ie, "Spatial", "Control", "Resource"), then the script will be loaded and set to this object.</para>
            <para>You can use the virtual method <see cref="M:Godot.EditorPlugin.Handles(Godot.Object)"/> to check if your custom object is being edited by checking the script or using the <c>is</c> keyword.</para>
            <para>During run-time, this will be a simple object with a script so this function does not need to be called then.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.RemoveCustomType(System.String)">
            <summary>
            <para>Removes a custom type added by <see cref="M:Godot.EditorPlugin.AddCustomType(System.String,System.String,Godot.Script,Godot.Texture)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddAutoloadSingleton(System.String,System.String)">
            <summary>
            <para>Adds a script at <c>path</c> to the Autoload list as <c>name</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.RemoveAutoloadSingleton(System.String)">
            <summary>
            <para>Removes an Autoload <c>name</c> from the list.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.UpdateOverlays">
            <summary>
            <para>Updates the overlays of the 2D and 3D editor viewport. Causes methods <see cref="M:Godot.EditorPlugin.ForwardCanvasDrawOverViewport(Godot.Control)"/>, <see cref="M:Godot.EditorPlugin.ForwardCanvasForceDrawOverViewport(Godot.Control)"/>, <see cref="M:Godot.EditorPlugin.ForwardSpatialDrawOverViewport(Godot.Control)"/> and <see cref="M:Godot.EditorPlugin.ForwardSpatialForceDrawOverViewport(Godot.Control)"/> to be called.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.MakeBottomPanelItemVisible(Godot.Control)">
            <summary>
            <para>Makes a specific item in the bottom panel visible.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.HideBottomPanel">
            <summary>
            <para>Minimizes the bottom panel.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.GetUndoRedo">
            <summary>
            <para>Gets the undo/redo object. Most actions in the editor can be undoable, so use this object to make sure this happens when it's worth it.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.QueueSaveLayout">
            <summary>
            <para>Queue save the project's editor layout.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddImportPlugin(Godot.EditorImportPlugin)">
            <summary>
            <para>Registers a new <see cref="T:Godot.EditorImportPlugin"/>. Import plugins are used to import custom and unsupported assets as a custom <see cref="T:Godot.Resource"/> type.</para>
            <para>Note: If you want to import custom 3D asset formats use <see cref="M:Godot.EditorPlugin.AddSceneImportPlugin(Godot.EditorSceneImporter)"/> instead.</para>
            <para>See <see cref="M:Godot.EditorPlugin.AddInspectorPlugin(Godot.EditorInspectorPlugin)"/> for an example of how to register a plugin.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.RemoveImportPlugin(Godot.EditorImportPlugin)">
            <summary>
            <para>Removes an import plugin registered by <see cref="M:Godot.EditorPlugin.AddImportPlugin(Godot.EditorImportPlugin)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddSceneImportPlugin(Godot.EditorSceneImporter)">
            <summary>
            <para>Registers a new <see cref="T:Godot.EditorSceneImporter"/>. Scene importers are used to import custom 3D asset formats as scenes.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.RemoveSceneImportPlugin(Godot.EditorSceneImporter)">
            <summary>
            <para>Removes a scene importer registered by <see cref="M:Godot.EditorPlugin.AddSceneImportPlugin(Godot.EditorSceneImporter)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddExportPlugin(Godot.EditorExportPlugin)">
            <summary>
            <para>Registers a new <see cref="T:Godot.EditorExportPlugin"/>. Export plugins are used to perform tasks when the project is being exported.</para>
            <para>See <see cref="M:Godot.EditorPlugin.AddInspectorPlugin(Godot.EditorInspectorPlugin)"/> for an example of how to register a plugin.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.RemoveExportPlugin(Godot.EditorExportPlugin)">
            <summary>
            <para>Removes an export plugin registered by <see cref="M:Godot.EditorPlugin.AddExportPlugin(Godot.EditorExportPlugin)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddSpatialGizmoPlugin(Godot.EditorSpatialGizmoPlugin)">
            <summary>
            <para>Registers a new <see cref="T:Godot.EditorSpatialGizmoPlugin"/>. Gizmo plugins are used to add custom gizmos to the 3D preview viewport for a <see cref="T:Godot.Spatial"/>.</para>
            <para>See <see cref="M:Godot.EditorPlugin.AddInspectorPlugin(Godot.EditorInspectorPlugin)"/> for an example of how to register a plugin.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.RemoveSpatialGizmoPlugin(Godot.EditorSpatialGizmoPlugin)">
            <summary>
            <para>Removes a gizmo plugin registered by <see cref="M:Godot.EditorPlugin.AddSpatialGizmoPlugin(Godot.EditorSpatialGizmoPlugin)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.AddInspectorPlugin(Godot.EditorInspectorPlugin)">
            <summary>
            <para>Registers a new <see cref="T:Godot.EditorInspectorPlugin"/>. Inspector plugins are used to extend <see cref="T:Godot.EditorInspector"/> and provide custom configuration tools for your object's properties.</para>
            <para>Note: Always use <see cref="M:Godot.EditorPlugin.RemoveInspectorPlugin(Godot.EditorInspectorPlugin)"/> to remove the registered <see cref="T:Godot.EditorInspectorPlugin"/> when your <see cref="T:Godot.EditorPlugin"/> is disabled to prevent leaks and an unexpected behavior.</para>
            <para><code>
            const MyInspectorPlugin = preload("res://addons/your_addon/path/to/your/script.gd")
            var inspector_plugin = MyInspectorPlugin.new()
            
            func _enter_tree():
                add_inspector_plugin(inspector_plugin)
            
            func _exit_tree():
                remove_inspector_plugin(inspector_plugin)
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.RemoveInspectorPlugin(Godot.EditorInspectorPlugin)">
            <summary>
            <para>Removes an inspector plugin registered by <see cref="M:Godot.EditorPlugin.AddImportPlugin(Godot.EditorImportPlugin)"/></para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.SetInputEventForwardingAlwaysEnabled">
            <summary>
            <para>Use this method if you always want to receive inputs from 3D view screen inside <see cref="M:Godot.EditorPlugin.ForwardSpatialGuiInput(Godot.Camera,Godot.InputEvent)"/>. It might be especially usable if your plugin will want to use raycast in the scene.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.SetForceDrawOverForwardingEnabled">
            <summary>
            <para>Enables calling of <see cref="M:Godot.EditorPlugin.ForwardCanvasForceDrawOverViewport(Godot.Control)"/> for the 2D editor and <see cref="M:Godot.EditorPlugin.ForwardSpatialForceDrawOverViewport(Godot.Control)"/> for the 3D editor when their viewports are updated. You need to call this method only once and it will work permanently for this plugin.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.GetEditorInterface">
            <summary>
            <para>Returns the <see cref="T:Godot.EditorInterface"/> object that gives you control over Godot editor's window and its functionalities.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorPlugin.GetScriptCreateDialog">
            <summary>
            <para>Gets the Editor's dialog used for making scripts.</para>
            <para>Note: Users can configure it before use.</para>
            <para>Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorProperty">
            <summary>
            <para>This control allows property editing for one or multiple properties into <see cref="T:Godot.EditorInspector"/>. It is added via <see cref="T:Godot.EditorInspectorPlugin"/>.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorProperty.Label">
            <summary>
            <para>Set this property to change the label (if you want to show one).</para>
            </summary>
        </member>
        <member name="P:Godot.EditorProperty.ReadOnly">
            <summary>
            <para>Used by the inspector, set to <c>true</c> when the property is read-only.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorProperty.Checkable">
            <summary>
            <para>Used by the inspector, set to <c>true</c> when the property is checkable.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorProperty.Checked">
            <summary>
            <para>Used by the inspector, set to <c>true</c> when the property is checked.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorProperty.DrawRed">
            <summary>
            <para>Used by the inspector, set to <c>true</c> when the property is drawn with the editor theme's warning color. This is used for editable children's properties.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorProperty.Keying">
            <summary>
            <para>Used by the inspector, set to <c>true</c> when the property can add keys for animation.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorProperty.UpdateProperty">
            <summary>
            <para>When this virtual function is called, you must update your editor.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorProperty.GetEditedProperty">
            <summary>
            <para>Gets the edited property. If your editor is for a single property (added via <see cref="M:Godot.EditorInspectorPlugin.ParseProperty(Godot.Object,System.Int32,System.String,System.Int32,System.String,System.Int32)"/>), then this will return the property.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorProperty.GetEditedObject">
            <summary>
            <para>Gets the edited object.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorProperty.GetTooltipText">
            <summary>
            <para>Must be implemented to provide a custom tooltip to the property editor.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorProperty.AddFocusable(Godot.Control)">
            <summary>
            <para>If any of the controls added can gain keyboard focus, add it here. This ensures that focus will be restored if the inspector is refreshed.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorProperty.SetBottomEditor(Godot.Control)">
            <summary>
            <para>Puts the <c>editor</c> control below the property label. The control must be previously added using <see cref="M:Godot.Node.AddChild(Godot.Node,System.Boolean)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorProperty.EmitChanged(System.String,System.Object,System.String,System.Boolean)">
            <summary>
            <para>If one or several properties have changed, this must be called. <c>field</c> is used in case your editor can modify fields separately (as an example, Vector3.x). The <c>changing</c> argument avoids the editor requesting this property to be refreshed (leave as <c>false</c> if unsure).</para>
            </summary>
        </member>
        <member name="T:Godot.EditorResourcePicker">
            <summary>
            <para>This <see cref="T:Godot.Control"/> node is used in the editor's Inspector dock to allow editing of <see cref="T:Godot.Resource"/> type properties. It provides options for creating, loading, saving and converting resources. Can be used with <see cref="T:Godot.EditorInspectorPlugin"/> to recreate the same behavior.</para>
            <para>Note: This <see cref="T:Godot.Control"/> does not include any editor for the resource, as editing is controlled by the Inspector dock itself or sub-Inspectors.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorResourcePicker.BaseType">
            <summary>
            <para>The base type of allowed resource types. Can be a comma-separated list of several options.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorResourcePicker.EditedResource">
            <summary>
            <para>The edited resource value.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorResourcePicker.Editable">
            <summary>
            <para>If <c>true</c>, the value can be selected and edited.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorResourcePicker.ToggleMode">
            <summary>
            <para>If <c>true</c>, the main button with the resource preview works in the toggle mode. Use <see cref="M:Godot.EditorResourcePicker.SetTogglePressed(System.Boolean)"/> to manually set the state.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePicker.HandleMenuSelected(System.Int32)">
            <summary>
            <para>This virtual method can be implemented to handle context menu items not handled by default. See <see cref="M:Godot.EditorResourcePicker.SetCreateOptions(Godot.Object)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePicker.SetCreateOptions(Godot.Object)">
            <summary>
            <para>This virtual method is called when updating the context menu of <see cref="T:Godot.EditorResourcePicker"/>. Implement this method to override the "New ..." items with your own options. <c>menu_node</c> is a reference to the <see cref="T:Godot.PopupMenu"/> node.</para>
            <para>Note: Implement <see cref="M:Godot.EditorResourcePicker.HandleMenuSelected(System.Int32)"/> to handle these custom items.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePicker.GetAllowedTypes">
            <summary>
            <para>Returns a list of all allowed types and subtypes corresponding to the <see cref="P:Godot.EditorResourcePicker.BaseType"/>. If the <see cref="P:Godot.EditorResourcePicker.BaseType"/> is empty, an empty list is returned.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePicker.SetTogglePressed(System.Boolean)">
            <summary>
            <para>Sets the toggle mode state for the main button. Works only if <see cref="P:Godot.EditorResourcePicker.ToggleMode"/> is set to <c>true</c>.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorResourcePreview">
            <summary>
            <para>This object is used to generate previews for resources of files.</para>
            <para>Note: This class shouldn't be instantiated directly. Instead, access the singleton using <see cref="M:Godot.EditorInterface.GetResourcePreviewer"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePreview.QueueResourcePreview(System.String,Godot.Object,System.String,System.Object)">
            <summary>
            <para>Queue a resource file located at <c>path</c> for preview. Once the preview is ready, the <c>receiver</c>'s <c>receiver_func</c> will be called. The <c>receiver_func</c> must take the following four arguments: <see cref="T:System.String"/> path, <see cref="T:Godot.Texture"/> preview, <see cref="T:Godot.Texture"/> thumbnail_preview, <c>Variant</c> userdata. <c>userdata</c> can be anything, and will be returned when <c>receiver_func</c> is called.</para>
            <para>Note: If it was not possible to create the preview the <c>receiver_func</c> will still be called, but the preview will be null.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePreview.QueueEditedResourcePreview(Godot.Resource,Godot.Object,System.String,System.Object)">
            <summary>
            <para>Queue the <c>resource</c> being edited for preview. Once the preview is ready, the <c>receiver</c>'s <c>receiver_func</c> will be called. The <c>receiver_func</c> must take the following four arguments: <see cref="T:System.String"/> path, <see cref="T:Godot.Texture"/> preview, <see cref="T:Godot.Texture"/> thumbnail_preview, <c>Variant</c> userdata. <c>userdata</c> can be anything, and will be returned when <c>receiver_func</c> is called.</para>
            <para>Note: If it was not possible to create the preview the <c>receiver_func</c> will still be called, but the preview will be null.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePreview.AddPreviewGenerator(Godot.EditorResourcePreviewGenerator)">
            <summary>
            <para>Create an own, custom preview generator.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePreview.RemovePreviewGenerator(Godot.EditorResourcePreviewGenerator)">
            <summary>
            <para>Removes a custom preview generator.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePreview.CheckForInvalidation(System.String)">
            <summary>
            <para>Check if the resource changed, if so, it will be invalidated and the corresponding signal emitted.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorResourcePreviewGenerator">
            <summary>
            <para>Custom code to generate previews. Please check <c>file_dialog/thumbnail_size</c> in <see cref="T:Godot.EditorSettings"/> to find out the right size to do previews at.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePreviewGenerator.CanGenerateSmallPreview">
            <summary>
            <para>If this function returns <c>true</c>, the generator will call <see cref="M:Godot.EditorResourcePreviewGenerator.Generate(Godot.Resource,Godot.Vector2)"/> or <see cref="M:Godot.EditorResourcePreviewGenerator.GenerateFromPath(System.String,Godot.Vector2)"/> for small previews as well.</para>
            <para>By default, it returns <c>false</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePreviewGenerator.Generate(Godot.Resource,Godot.Vector2)">
            <summary>
            <para>Generate a preview from a given resource with the specified size. This must always be implemented.</para>
            <para>Returning an empty texture is an OK way to fail and let another generator take care.</para>
            <para>Care must be taken because this function is always called from a thread (not the main thread).</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePreviewGenerator.GenerateFromPath(System.String,Godot.Vector2)">
            <summary>
            <para>Generate a preview directly from a path with the specified size. Implementing this is optional, as default code will load and call <see cref="M:Godot.EditorResourcePreviewGenerator.Generate(Godot.Resource,Godot.Vector2)"/>.</para>
            <para>Returning an empty texture is an OK way to fail and let another generator take care.</para>
            <para>Care must be taken because this function is always called from a thread (not the main thread).</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePreviewGenerator.GenerateSmallPreviewAutomatically">
            <summary>
            <para>If this function returns <c>true</c>, the generator will automatically generate the small previews from the normal preview texture generated by the methods <see cref="M:Godot.EditorResourcePreviewGenerator.Generate(Godot.Resource,Godot.Vector2)"/> or <see cref="M:Godot.EditorResourcePreviewGenerator.GenerateFromPath(System.String,Godot.Vector2)"/>.</para>
            <para>By default, it returns <c>false</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorResourcePreviewGenerator.Handles(System.String)">
            <summary>
            <para>Returns <c>true</c> if your generator supports the resource of type <c>type</c>.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorSceneImporter">
            <summary>
            <para><see cref="T:Godot.EditorSceneImporter"/> allows to define an importer script for a third-party 3D format.</para>
            <para>To use <see cref="T:Godot.EditorSceneImporter"/>, register it using the <see cref="M:Godot.EditorPlugin.AddSceneImportPlugin(Godot.EditorSceneImporter)"/> method first.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorSceneImporterFBX">
            <summary>
            <para>This is an FBX 3D asset importer with full support for most FBX features.</para>
            <para>If exporting a FBX scene from Autodesk Maya, use these FBX export settings:</para>
            <para><code>
            - Smoothing Groups
            - Smooth Mesh
            - Triangluate (for meshes with blend shapes)
            - Bake Animation
            - Resample All
            - Deformed Models
            - Skins
            - Blend Shapes
            - Curve Filters
            - Constant Key Reducer
            - Auto Tangents Only
            - *Do not check* Constraints (as it will break the file)
            - Can check Embed Media (embeds textures into the exported FBX file)
              - Note that when importing embedded media, the texture and mesh will be a single immutable file.
              - You will have to re-export then re-import the FBX if the texture has changed.
            - Units: Centimeters
            - Up Axis: Y
            - Binary format in FBX 2017
            </code></para>
            </summary>
        </member>
        <member name="T:Godot.EditorSceneImporterGLTF">
            <summary>
            <para>Note: This class is only compiled in editor builds. Run-time glTF loading and saving is not available in exported projects. References to <see cref="T:Godot.EditorSceneImporterGLTF"/> within a script will cause an error in an exported project.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorScenePostImport">
            <summary>
            <para>Imported scenes can be automatically modified right after import by setting their Custom Script Import property to a <c>tool</c> script that inherits from this class.</para>
            <para>The <see cref="M:Godot.EditorScenePostImport.PostImport(Godot.Object)"/> callback receives the imported scene's root node and returns the modified version of the scene. Usage example:</para>
            <para><code>
            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
            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)
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorScenePostImport.PostImport(Godot.Object)">
            <summary>
            <para>Called after the scene was imported. This method must return the modified version of the scene.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorScenePostImport.GetSourceFolder">
            <summary>
            <para>Returns the resource folder the imported scene file is located in.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorScenePostImport.GetSourceFile">
            <summary>
            <para>Returns the source file path which got imported (e.g. <c>res://scene.dae</c>).</para>
            </summary>
        </member>
        <member name="T:Godot.EditorScript">
            <summary>
            <para>Scripts extending this class and implementing its <see cref="M:Godot.EditorScript._Run"/> method can be executed from the Script Editor's File &gt; Run menu option (or by pressing <c>Ctrl+Shift+X</c>) while the editor is running. This is useful for adding custom in-editor functionality to Godot. For more complex additions, consider using <see cref="T:Godot.EditorPlugin"/>s instead.</para>
            <para>Note: Extending scripts need to have <c>tool</c> mode enabled.</para>
            <para>Example script:</para>
            <para><code>
            tool
            extends EditorScript
            
            func _run():
                print("Hello from the Godot Editor!")
            </code></para>
            <para>Note: 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 Output dock.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorScript._Run">
            <summary>
            <para>This method is executed by the Editor when File &gt; Run is used.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorScript.AddRootNode(Godot.Node)">
            <summary>
            <para>Adds <c>node</c> as a child of the root node in the editor context.</para>
            <para>Warning: The implementation of this method is currently disabled.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorScript.GetScene">
            <summary>
            <para>Returns the Editor's currently active scene.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorScript.GetEditorInterface">
            <summary>
            <para>Returns the <see cref="T:Godot.EditorInterface"/> singleton instance.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorScriptPicker">
            <summary>
            <para>Similar to <see cref="T:Godot.EditorResourcePicker"/> this <see cref="T:Godot.Control"/> node is used in the editor's Inspector dock, but only to edit the <c>script</c> property of a <see cref="T:Godot.Node"/>. Default options for creating new resources of all possible subtypes are replaced with dedicated buttons that open the "Attach Node Script" dialog. Can be used with <see cref="T:Godot.EditorInspectorPlugin"/> to recreate the same behavior.</para>
            <para>Note: You must set the <see cref="P:Godot.EditorScriptPicker.ScriptOwner"/> for the custom context menu items to work.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorScriptPicker.ScriptOwner">
            <summary>
            <para>The owner <see cref="T:Godot.Node"/> of the script property that holds the edited resource.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorSelection">
            <summary>
            <para>This object manages the SceneTree selection in the editor.</para>
            <para>Note: This class shouldn't be instantiated directly. Instead, access the singleton using <see cref="M:Godot.EditorInterface.GetSelection"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSelection.Clear">
            <summary>
            <para>Clear the selection.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSelection.AddNode(Godot.Node)">
            <summary>
            <para>Adds a node to the selection.</para>
            <para>Note: The newly selected node will not be automatically edited in the inspector. If you want to edit a node, use <see cref="M:Godot.EditorInterface.EditNode(Godot.Node)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSelection.RemoveNode(Godot.Node)">
            <summary>
            <para>Removes a node from the selection.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSelection.GetSelectedNodes">
            <summary>
            <para>Gets the list of selected nodes.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSelection.GetTransformableSelectedNodes">
            <summary>
            <para>Gets the list of selected nodes, optimized for transform operations (i.e. moving them, rotating, etc). This list avoids situations where a node is selected and also child/grandchild.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorSettings">
            <summary>
            <para>Object that holds the project-independent editor settings. These settings are generally visible in the Editor &gt; Editor Settings menu.</para>
            <para>Property names use slash delimiters to distinguish sections. Setting values can be of any <c>Variant</c> type. It's recommended to use <c>snake_case</c> for editor settings to be consistent with the Godot editor itself.</para>
            <para>Accessing the settings can be done using the following methods, such as:</para>
            <para><code>
            # `settings.set("some/property", value)` also works as this class overrides `_set()` internally.
            settings.set_setting("some/property",value)
            
            # `settings.get("some/property", value)` also works as this class overrides `_get()` internally.
            settings.get_setting("some/property")
            
            var list_of_settings = settings.get_property_list()
            </code></para>
            <para>Note: This class shouldn't be instantiated directly. Instead, access the singleton using <see cref="M:Godot.EditorInterface.GetEditorSettings"/>.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorSettings.NotificationEditorSettingsChanged">
            <summary>
            <para>Emitted after any editor setting has changed. It's used by various editor plugins to update their visuals on theme changes or logic on configuration changes.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.HasSetting(System.String)">
            <summary>
            <para>Returns <c>true</c> if the setting specified by <c>name</c> exists, <c>false</c> otherwise.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.SetSetting(System.String,System.Object)">
            <summary>
            <para>Sets the <c>value</c> of the setting specified by <c>name</c>. This is equivalent to using <see cref="M:Godot.Object.Set(System.String,System.Object)"/> on the EditorSettings instance.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.GetSetting(System.String)">
            <summary>
            <para>Returns the value of the setting specified by <c>name</c>. This is equivalent to using <see cref="M:Godot.Object.Get(System.String)"/> on the EditorSettings instance.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.Erase(System.String)">
            <summary>
            <para>Erases the setting whose name is specified by <c>property</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.SetInitialValue(System.String,System.Object,System.Boolean)">
            <summary>
            <para>Sets the initial value of the setting specified by <c>name</c> to <c>value</c>. This is used to provide a value for the Revert button in the Editor Settings. If <c>update_current</c> is true, the current value of the setting will be set to <c>value</c> as well.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.PropertyCanRevert(System.String)">
            <summary>
            <para>Returns <c>true</c> if the setting specified by <c>name</c> can have its value reverted to the default value, <c>false</c> otherwise. When this method returns <c>true</c>, a Revert button will display next to the setting in the Editor Settings.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.PropertyGetRevert(System.String)">
            <summary>
            <para>Returns the default value of the setting specified by <c>name</c>. This is the value that would be applied when clicking the Revert button in the Editor Settings.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.AddPropertyInfo(Godot.Collections.Dictionary)">
            <summary>
            <para>Adds a custom property info to a property. The dictionary must contain:</para>
            <para>- <c>name</c>: <see cref="T:System.String"/> (the name of the property)</para>
            <para>- <c>type</c>: <see cref="T:System.Int32"/> (see <see cref="T:Godot.Variant.Type"/>)</para>
            <para>- optionally <c>hint</c>: <see cref="T:System.Int32"/> (see <see cref="T:Godot.PropertyHint"/>) and <c>hint_string</c>: <see cref="T:System.String"/></para>
            <para>Example:</para>
            <para><code>
            editor_settings.set("category/property_name", 0)
            
            var property_info = {
                "name": "category/property_name",
                "type": TYPE_INT,
                "hint": PROPERTY_HINT_ENUM,
                "hint_string": "one,two,three"
            }
            
            editor_settings.add_property_info(property_info)
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.GetSettingsDir">
            <summary>
            <para>Gets the global settings path for the engine. Inside this path, you can find some standard paths such as:</para>
            <para><c>settings/tmp</c> - Used for temporary storage of files</para>
            <para><c>settings/templates</c> - Where export templates are located</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.GetProjectSettingsDir">
            <summary>
            <para>Returns the project-specific settings path. Projects all have a unique subdirectory inside the settings path where project-specific settings are saved.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.SetProjectMetadata(System.String,System.String,System.Object)">
            <summary>
            <para>Sets project-specific metadata with the <c>section</c>, <c>key</c> and <c>data</c> specified. This metadata is stored outside the project folder and therefore won't be checked into version control. See also <see cref="M:Godot.EditorSettings.GetProjectMetadata(System.String,System.String,System.Object)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.GetProjectMetadata(System.String,System.String,System.Object)">
            <summary>
            <para>Returns project-specific metadata for the <c>section</c> and <c>key</c> specified. If the metadata doesn't exist, <c>default</c> will be returned instead. See also <see cref="M:Godot.EditorSettings.SetProjectMetadata(System.String,System.String,System.Object)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.SetFavorites(System.String[])">
            <summary>
            <para>Sets the list of favorite files and directories for this project.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.GetFavorites">
            <summary>
            <para>Returns the list of favorite files and directories for this project.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.SetRecentDirs(System.String[])">
            <summary>
            <para>Sets the list of recently visited folders in the file dialog for this project.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSettings.GetRecentDirs">
            <summary>
            <para>Returns the list of recently visited folders in the file dialog for this project.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorSpatialGizmo">
            <summary>
            <para>Custom gizmo that is used for providing custom visualization and editing (handles) for 3D Spatial objects. See <see cref="T:Godot.EditorSpatialGizmoPlugin"/> for more information.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.CommitHandle(System.Int32,System.Object,System.Boolean)">
            <summary>
            <para>Commit a handle being edited (handles must have been previously added by <see cref="M:Godot.EditorSpatialGizmo.AddHandles(Godot.Vector3[],Godot.Material,System.Boolean,System.Boolean)"/>).</para>
            <para>If the <c>cancel</c> parameter is <c>true</c>, an option to restore the edited value to the original is provided.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.GetHandleName(System.Int32)">
            <summary>
            <para>Gets the name of an edited handle (handles must have been previously added by <see cref="M:Godot.EditorSpatialGizmo.AddHandles(Godot.Vector3[],Godot.Material,System.Boolean,System.Boolean)"/>).</para>
            <para>Handles can be named for reference to the user when editing.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.GetHandleValue(System.Int32)">
            <summary>
            <para>Gets actual value of a handle. This value can be anything and used for eventually undoing the motion when calling <see cref="M:Godot.EditorSpatialGizmo.CommitHandle(System.Int32,System.Object,System.Boolean)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.IsHandleHighlighted(System.Int32)">
            <summary>
            <para>Returns <c>true</c> if the handle at index <c>index</c> is highlighted by being hovered with the mouse.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.Redraw">
            <summary>
            <para>This function is called when the <see cref="T:Godot.Spatial"/> this gizmo refers to changes (the <see cref="M:Godot.Spatial.UpdateGizmo"/> is called).</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.SetHandle(System.Int32,Godot.Camera,Godot.Vector2)">
            <summary>
            <para>This function is used when the user drags a gizmo handle (previously added with <see cref="M:Godot.EditorSpatialGizmo.AddHandles(Godot.Vector3[],Godot.Material,System.Boolean,System.Boolean)"/>) in screen coordinates.</para>
            <para>The <see cref="T:Godot.Camera"/> is also provided so screen coordinates can be converted to raycasts.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.AddLines(Godot.Vector3[],Godot.Material,System.Boolean,System.Nullable{Godot.Color})">
            <summary>
            <para>Adds lines to the gizmo (as sets of 2 points), with a given material. The lines are used for visualizing the gizmo. Call this function during <see cref="M:Godot.EditorSpatialGizmo.Redraw"/>.</para>
            </summary>
            <param name="modulate">If the parameter is null, then the default value is new Color(1, 1, 1, 1)</param>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.AddMesh(Godot.Mesh,System.Boolean,Godot.SkinReference,Godot.Material)">
            <summary>
            <para>Adds a mesh to the gizmo with the specified <c>billboard</c> state, <c>skeleton</c> and <c>material</c>. If <c>billboard</c> is <c>true</c>, the mesh will rotate to always face the camera. Call this function during <see cref="M:Godot.EditorSpatialGizmo.Redraw"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.AddCollisionSegments(Godot.Vector3[])">
            <summary>
            <para>Adds the specified <c>segments</c> to the gizmo's collision shape for picking. Call this function during <see cref="M:Godot.EditorSpatialGizmo.Redraw"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.AddCollisionTriangles(Godot.TriangleMesh)">
            <summary>
            <para>Adds collision triangles to the gizmo for picking. A <see cref="T:Godot.TriangleMesh"/> can be generated from a regular <see cref="T:Godot.Mesh"/> too. Call this function during <see cref="M:Godot.EditorSpatialGizmo.Redraw"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.AddUnscaledBillboard(Godot.Material,System.Single,System.Nullable{Godot.Color})">
            <summary>
            <para>Adds an unscaled billboard for visualization. Call this function during <see cref="M:Godot.EditorSpatialGizmo.Redraw"/>.</para>
            </summary>
            <param name="modulate">If the parameter is null, then the default value is new Color(1, 1, 1, 1)</param>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.AddHandles(Godot.Vector3[],Godot.Material,System.Boolean,System.Boolean)">
            <summary>
            <para>Adds a list of handles (points) which can be used to deform the object being edited.</para>
            <para>There are virtual functions which will be called upon editing of these handles. Call this function during <see cref="M:Godot.EditorSpatialGizmo.Redraw"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.SetSpatialNode(Godot.Node)">
            <summary>
            <para>Sets the reference <see cref="T:Godot.Spatial"/> node for the gizmo. <c>node</c> must inherit from <see cref="T:Godot.Spatial"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.GetSpatialNode">
            <summary>
            <para>Returns the Spatial node associated with this gizmo.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.GetPlugin">
            <summary>
            <para>Returns the <see cref="T:Godot.EditorSpatialGizmoPlugin"/> that owns this gizmo. It's useful to retrieve materials using <see cref="M:Godot.EditorSpatialGizmoPlugin.GetMaterial(System.String,Godot.EditorSpatialGizmo)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.Clear">
            <summary>
            <para>Removes everything in the gizmo including meshes, collisions and handles.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmo.SetHidden(System.Boolean)">
            <summary>
            <para>Sets the gizmo's hidden state. If <c>true</c>, the gizmo will be hidden. If <c>false</c>, it will be shown.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorSpatialGizmoPlugin">
            <summary>
            <para><see cref="T:Godot.EditorSpatialGizmoPlugin"/> allows you to define a new type of Gizmo. There are two main ways to do so: extending <see cref="T:Godot.EditorSpatialGizmoPlugin"/> for the simpler gizmos, or creating a new <see cref="T:Godot.EditorSpatialGizmo"/> type. See the tutorial in the documentation for more info.</para>
            <para>To use <see cref="T:Godot.EditorSpatialGizmoPlugin"/>, register it using the <see cref="M:Godot.EditorPlugin.AddSpatialGizmoPlugin(Godot.EditorSpatialGizmoPlugin)"/> method first.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.CanBeHidden">
            <summary>
            <para>Override this method to define whether the gizmo can be hidden or not. Returns <c>true</c> if not overridden.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.CommitHandle(Godot.EditorSpatialGizmo,System.Int32,System.Object,System.Boolean)">
            <summary>
            <para>Override this method to commit gizmo handles. Called for this plugin's active gizmos.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.CreateGizmo(Godot.Spatial)">
            <summary>
            <para>Override this method to return a custom <see cref="T:Godot.EditorSpatialGizmo"/> for the spatial nodes of your choice, return <c>null</c> for the rest of nodes. See also <see cref="M:Godot.EditorSpatialGizmoPlugin.HasGizmo(Godot.Spatial)"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.GetHandleName(Godot.EditorSpatialGizmo,System.Int32)">
            <summary>
            <para>Override this method to provide gizmo's handle names. Called for this plugin's active gizmos.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.GetHandleValue(Godot.EditorSpatialGizmo,System.Int32)">
            <summary>
            <para>Gets actual value of a handle from gizmo. Called for this plugin's active gizmos.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.GetName">
            <summary>
            <para>Override this method to provide the name that will appear in the gizmo visibility menu.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.GetPriority">
            <summary>
            <para>Override this method to set the gizmo's priority. Higher values correspond to higher priority. If a gizmo with higher priority conflicts with another gizmo, only the gizmo with higher priority will be used.</para>
            <para>All built-in editor gizmos return a priority of <c>-1</c>. If not overridden, this method will return <c>0</c>, which means custom gizmos will automatically override built-in gizmos.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.HasGizmo(Godot.Spatial)">
            <summary>
            <para>Override this method to define which Spatial nodes have a gizmo from this plugin. Whenever a <see cref="T:Godot.Spatial"/> node is added to a scene this method is called, if it returns <c>true</c> the node gets a generic <see cref="T:Godot.EditorSpatialGizmo"/> assigned and is added to this plugin's list of active gizmos.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.IsHandleHighlighted(Godot.EditorSpatialGizmo,System.Int32)">
            <summary>
            <para>Gets whether a handle is highlighted or not. Called for this plugin's active gizmos.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.IsSelectableWhenHidden">
            <summary>
            <para>Override this method to define whether a Spatial with this gizmo should be selectable even when the gizmo is hidden.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.Redraw(Godot.EditorSpatialGizmo)">
            <summary>
            <para>Callback to redraw the provided gizmo. Called for this plugin's active gizmos.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.SetHandle(Godot.EditorSpatialGizmo,System.Int32,Godot.Camera,Godot.Vector2)">
            <summary>
            <para>Update the value of a handle after it has been updated. Called for this plugin's active gizmos.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.CreateMaterial(System.String,Godot.Color,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            <para>Creates an unshaded material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with <see cref="M:Godot.EditorSpatialGizmoPlugin.GetMaterial(System.String,Godot.EditorSpatialGizmo)"/> and used in <see cref="M:Godot.EditorSpatialGizmo.AddMesh(Godot.Mesh,System.Boolean,Godot.SkinReference,Godot.Material)"/> and <see cref="M:Godot.EditorSpatialGizmo.AddLines(Godot.Vector3[],Godot.Material,System.Boolean,System.Nullable{Godot.Color})"/>. Should not be overridden.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.CreateIconMaterial(System.String,Godot.Texture,System.Boolean,System.Nullable{Godot.Color})">
            <summary>
            <para>Creates an icon material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with <see cref="M:Godot.EditorSpatialGizmoPlugin.GetMaterial(System.String,Godot.EditorSpatialGizmo)"/> and used in <see cref="M:Godot.EditorSpatialGizmo.AddUnscaledBillboard(Godot.Material,System.Single,System.Nullable{Godot.Color})"/>. Should not be overridden.</para>
            </summary>
            <param name="color">If the parameter is null, then the default value is new Color(1, 1, 1, 1)</param>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.CreateHandleMaterial(System.String,System.Boolean,Godot.Texture)">
            <summary>
            <para>Creates a handle material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with <see cref="M:Godot.EditorSpatialGizmoPlugin.GetMaterial(System.String,Godot.EditorSpatialGizmo)"/> and used in <see cref="M:Godot.EditorSpatialGizmo.AddHandles(Godot.Vector3[],Godot.Material,System.Boolean,System.Boolean)"/>. Should not be overridden.</para>
            <para>You can optionally provide a texture to use instead of the default icon.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.AddMaterial(System.String,Godot.SpatialMaterial)">
            <summary>
            <para>Adds a new material to the internal material list for the plugin. It can then be accessed with <see cref="M:Godot.EditorSpatialGizmoPlugin.GetMaterial(System.String,Godot.EditorSpatialGizmo)"/>. Should not be overridden.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorSpatialGizmoPlugin.GetMaterial(System.String,Godot.EditorSpatialGizmo)">
            <summary>
            <para>Gets material from the internal list of materials. If an <see cref="T:Godot.EditorSpatialGizmo"/> is provided, it will try to get the corresponding variant (selected and/or editable).</para>
            </summary>
        </member>
        <member name="T:Godot.EditorSpinSlider">
            <summary>
            <para>This <see cref="T:Godot.Control"/> node is used in the editor's Inspector dock to allow editing of numeric values. Can be used with <see cref="T:Godot.EditorInspectorPlugin"/> to recreate the same behavior.</para>
            </summary>
        </member>
        <member name="P:Godot.EditorSpinSlider.HideSlider">
            <summary>
            <para>If <c>true</c>, the slider is hidden.</para>
            </summary>
        </member>
        <member name="T:Godot.EditorVCSInterface">
            <summary>
            <para>Defines the API that the editor uses to extract information from the underlying VCS. The implementation of this API is included in VCS plugins, which are scripts that inherit <see cref="T:Godot.EditorVCSInterface"/> and are attached (on demand) to the singleton instance of <see cref="T:Godot.EditorVCSInterface"/>. Instead of performing the task themselves, all the virtual functions listed below are calling the internally overridden functions in the VCS plugins to provide a plug-n-play experience. A custom VCS plugin is supposed to inherit from <see cref="T:Godot.EditorVCSInterface"/> and override these virtual functions.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorVCSInterface.ChangeType.New">
            <summary>
            <para>A new file has been added.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorVCSInterface.ChangeType.Modified">
            <summary>
            <para>An earlier added file has been modified.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorVCSInterface.ChangeType.Renamed">
            <summary>
            <para>An earlier added file has been renamed.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorVCSInterface.ChangeType.Deleted">
            <summary>
            <para>An earlier added file has been deleted.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorVCSInterface.ChangeType.Typechange">
            <summary>
            <para>An earlier added file has been typechanged.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorVCSInterface.ChangeType.Unmerged">
            <summary>
            <para>A file is left unmerged.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorVCSInterface.TreeArea.Commit">
            <summary>
            <para>A commit is encountered from the commit area.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorVCSInterface.TreeArea.Staged">
            <summary>
            <para>A file is encountered from the staged area.</para>
            </summary>
        </member>
        <member name="F:Godot.EditorVCSInterface.TreeArea.Unstaged">
            <summary>
            <para>A file is encountered from the unstaged area.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._CheckoutBranch(System.String)">
            <summary>
            <para>Checks out a <c>branch_name</c> in the VCS.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._Commit(System.String)">
            <summary>
            <para>Commits the currently staged changes and applies the commit <c>msg</c> to the resulting commit.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._CreateBranch(System.String)">
            <summary>
            <para>Creates a new branch named <c>branch_name</c> in the VCS.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._CreateRemote(System.String,System.String)">
            <summary>
            <para>Creates a new remote destination with name <c>remote_name</c> and points it to <c>remote_url</c>. This can be both an HTTPS remote or an SSH remote.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._DiscardFile(System.String)">
            <summary>
            <para>Discards the changes made in file present at <c>file_path</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._Fetch(System.String)">
            <summary>
            <para>Fetches new changes from the remote, but doesn't write changes to the current working directory. Equivalent to <c>git fetch</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._GetBranchList">
            <summary>
            <para>Gets an instance of an <see cref="T:Godot.Collections.Array"/> of <see cref="T:System.String"/>s containing available branch names in the VCS.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._GetCurrentBranchName">
            <summary>
            <para>Gets the current branch name defined in the VCS.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._GetDiff(System.String,System.Int32)">
            <summary>
            <para>Returns an <see cref="T:Godot.Collections.Array"/> of <see cref="T:Godot.Collections.Dictionary"/> items (see <see cref="M:Godot.EditorVCSInterface.CreateDiffFile(System.String,System.String)"/>, <see cref="M:Godot.EditorVCSInterface.CreateDiffHunk(System.Int32,System.Int32,System.Int32,System.Int32)"/>, <see cref="M:Godot.EditorVCSInterface.CreateDiffLine(System.Int32,System.Int32,System.String,System.String)"/>, <see cref="M:Godot.EditorVCSInterface.AddLineDiffsIntoDiffHunk(Godot.Collections.Dictionary,Godot.Collections.Array)"/> and <see cref="M:Godot.EditorVCSInterface.AddDiffHunksIntoDiffFile(Godot.Collections.Dictionary,Godot.Collections.Array)"/>), each containing information about a diff. If <c>identifier</c> is a file path, returns a file diff, and if it is a commit identifier, then returns a commit diff.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._GetLineDiff(System.String,System.String)">
            <summary>
            <para>Returns an <see cref="T:Godot.Collections.Array"/> of <see cref="T:Godot.Collections.Dictionary"/> items (see <see cref="M:Godot.EditorVCSInterface.CreateDiffHunk(System.Int32,System.Int32,System.Int32,System.Int32)"/>), each containing a line diff between a file at <c>file_path</c> and the <c>text</c> which is passed in.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._GetModifiedFilesData">
            <summary>
            <para>Returns an <see cref="T:Godot.Collections.Array"/> of <see cref="T:Godot.Collections.Dictionary"/> items (see <see cref="M:Godot.EditorVCSInterface.CreateStatusFile(System.String,Godot.EditorVCSInterface.ChangeType,Godot.EditorVCSInterface.TreeArea)"/>), each containing the status data of every modified file in the project folder.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._GetPreviousCommits(System.Int32)">
            <summary>
            <para>Returns an <see cref="T:Godot.Collections.Array"/> of <see cref="T:Godot.Collections.Dictionary"/> items (see <see cref="M:Godot.EditorVCSInterface.CreateCommit(System.String,System.String,System.String,System.Int64,System.Int64)"/>), each containing the data for a past commit.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._GetRemotes">
            <summary>
            <para>Returns an <see cref="T:Godot.Collections.Array"/> of <see cref="T:System.String"/>s, each containing the name of a remote configured in the VCS.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._GetVcsName">
            <summary>
            <para>Returns the name of the underlying VCS provider.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._Initialize(System.String)">
            <summary>
            <para>Initializes the VCS plugin when called from the editor. Returns whether or not the plugin was successfully initialized. A VCS project is initialized at <c>project_path</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._Pull(System.String)">
            <summary>
            <para>Pulls changes from the remote. This can give rise to merge conflicts.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._Push(System.String,System.Boolean)">
            <summary>
            <para>Pushes changes to the <c>remote</c>. Optionally, if <c>force</c> is set to true, a force push will override the change history already present on the remote.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._RemoveBranch(System.String)">
            <summary>
            <para>Remove a branch from the local VCS.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._RemoveRemote(System.String)">
            <summary>
            <para>Remove a remote from the local VCS.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._SetCredentials(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            <para>Set user credentials in the underlying VCS. <c>username</c> and <c>password</c> are used only during HTTPS authentication unless not already mentioned in the remote URL. <c>ssh_public_key_path</c>, <c>ssh_private_key_path</c>, and <c>ssh_passphrase</c> are only used during SSH authentication.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._ShutDown">
            <summary>
            <para>Shuts down VCS plugin instance. Called when the user either closes the editor or shuts down the VCS plugin through the editor UI.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._StageFile(System.String)">
            <summary>
            <para>Stages the file present at <c>file_path</c> to the staged area.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface._UnstageFile(System.String)">
            <summary>
            <para>Unstages the file present at <c>file_path</c> from the staged area to the unstaged area.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface.CreateDiffLine(System.Int32,System.Int32,System.String,System.String)">
            <summary>
            <para>Helper function to create a <c>Dictionary</c> for storing a line diff. <c>new_line_no</c> is the line number in the new file (can be <c>-1</c> if the line is deleted). <c>old_line_no</c> is the line number in the old file (can be <c>-1</c> if the line is added). <c>content</c> is the diff text. <c>status</c> is a single character string which stores the line origin.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface.CreateDiffHunk(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Helper function to create a <c>Dictionary</c> for storing diff hunk data. <c>old_start</c> is the starting line number in old file. <c>new_start</c> is the starting line number in new file. <c>old_lines</c> is the number of lines in the old file. <c>new_lines</c> is the number of lines in the new file.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface.CreateDiffFile(System.String,System.String)">
            <summary>
            <para>Helper function to create a <c>Dictionary</c> for storing old and new diff file paths.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface.CreateCommit(System.String,System.String,System.String,System.Int64,System.Int64)">
            <summary>
            <para>Helper function to create a commit <see cref="T:Godot.Collections.Dictionary"/> item. <c>msg</c> is the commit message of the commit. <c>author</c> is a single human-readable string containing all the author's details, e.g. the email and name configured in the VCS. <c>id</c> is the identifier of the commit, in whichever format your VCS may provide an identifier to commits. <c>unix_timestamp</c> is the UTC Unix timestamp of when the commit was created. <c>offset_minutes</c> is the timezone offset in minutes, recorded from the system timezone where the commit was created.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface.CreateStatusFile(System.String,Godot.EditorVCSInterface.ChangeType,Godot.EditorVCSInterface.TreeArea)">
            <summary>
            <para>Helper function to create a <c>Dictionary</c> used by editor to read the status of a file.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface.AddDiffHunksIntoDiffFile(Godot.Collections.Dictionary,Godot.Collections.Array)">
            <summary>
            <para>Helper function to add an array of <c>diff_hunks</c> into a <c>diff_file</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface.AddLineDiffsIntoDiffHunk(Godot.Collections.Dictionary,Godot.Collections.Array)">
            <summary>
            <para>Helper function to add an array of <c>line_diffs</c> into a <c>diff_hunk</c>.</para>
            </summary>
        </member>
        <member name="M:Godot.EditorVCSInterface.PopupError(System.String)">
            <summary>
            <para>Pops up an error message in the edior.</para>
            </summary>
        </member>
        <member name="T:Godot.GLTFMesh">
            <summary>
            <para>Note: This class is only compiled in editor builds. Run-time glTF loading and saving is not available in exported projects. References to <see cref="T:Godot.GLTFMesh"/> within a script will cause an error in an exported project.</para>
            </summary>
        </member>
        <member name="T:Godot.ScriptCreateDialog">
            <summary>
            <para>The <see cref="T:Godot.ScriptCreateDialog"/> creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling one of the <see cref="M:Godot.Popup.Popup_(System.Nullable{Godot.Rect2})"/> methods.</para>
            <para><code>
            func _ready():
                dialog.config("Node", "res://new_node.gd") # For in-engine types
                dialog.config("\"res://base_node.gd\"", "res://derived_node.gd") # For script types
                dialog.popup_centered()
            </code></para>
            </summary>
        </member>
        <member name="M:Godot.ScriptCreateDialog.Config(System.String,System.String,System.Boolean,System.Boolean)">
            <summary>
            <para>Prefills required fields to configure the ScriptCreateDialog for use.</para>
            </summary>
        </member>
        <member name="T:Godot.ScriptEditor">
            <summary>
            <para>Note: This class shouldn't be instantiated directly. Instead, access the singleton using <see cref="M:Godot.EditorInterface.GetScriptEditor"/>.</para>
            </summary>
        </member>
        <member name="M:Godot.ScriptEditor.GotoLine(System.Int32)">
            <summary>
            <para>Goes to the specified line in the current script.</para>
            </summary>
        </member>
        <member name="M:Godot.ScriptEditor.GetCurrentScript">
            <summary>
            <para>Returns a <see cref="T:Godot.Script"/> that is currently active in editor.</para>
            </summary>
        </member>
        <member name="M:Godot.ScriptEditor.GetOpenScripts">
            <summary>
            <para>Returns an array with all <see cref="T:Godot.Script"/> objects which are currently open in editor.</para>
            </summary>
        </member>
        <member name="M:Godot.ScriptEditor.OpenScriptCreateDialog(System.String,System.String)">
            <summary>
            <para>Opens the script create dialog. The script will extend <c>base_name</c>. The file extension can be omitted from <c>base_path</c>. It will be added based on the selected scripting language.</para>
            </summary>
        </member>
        <member name="M:Godot.ScriptEditor.ReloadScripts">
            <summary>
            <para>Reload all currently opened scripts from disk in case the file contents are newer.</para>
            </summary>
        </member>
        <member name="M:Godot.VisualScriptEditor.AddCustomNode(System.String,System.String,Godot.Script)">
            <summary>
            <para>Add a custom Visual Script node to the editor. It'll be placed under "Custom Nodes" with the <c>category</c> as the parameter.</para>
            </summary>
        </member>
        <member name="M:Godot.VisualScriptEditor.RemoveCustomNode(System.String,System.String)">
            <summary>
            <para>Remove a custom Visual Script node from the editor. Custom nodes already placed on scripts won't be removed.</para>
            </summary>
        </member>
    </members>
</doc>
