Fix C# main screen plugin example and document C# EditorInterface singleton (#9399)

* 🐞 fix(plugins): fix syntax errors

Correct the syntax errors in the plugin development section, specifically by modifying 'EditorInterface' to 'EditorInterface.Singleton' in the C# portion. It is imperative to utilize the singleton pattern here to ensure the plugin successfully compiles.

* 🐞 fix(different): ADD exceptions

Provide explanations for Singleton exceptions of `EditorInterface`
This commit is contained in:
easterNday
2024-12-11 03:08:19 +08:00
committed by GitHub
parent fdf7e1aebf
commit f967e9e135
2 changed files with 14 additions and 3 deletions

View File

@@ -92,7 +92,7 @@ Add five extra methods such that the script looks like this:
public override Texture2D _GetPluginIcon()
{
return EditorInterface.GetEditorTheme().GetIcon("Node", "EditorIcons");
return EditorInterface.Singleton.GetEditorTheme().GetIcon("Node", "EditorIcons");
}
}
#endif
@@ -210,7 +210,7 @@ Here is the full plugin script:
{
MainPanelInstance = (Control)MainPanel.Instantiate();
// Add the main panel to the editor's main viewport.
EditorInterface.GetEditorMainScreen().AddChild(MainPanelInstance);
EditorInterface.Singleton.GetEditorMainScreen().AddChild(MainPanelInstance);
// Hide the main panel. Very much required.
_MakeVisible(false);
}
@@ -244,7 +244,7 @@ Here is the full plugin script:
public override Texture2D _GetPluginIcon()
{
// Must return some kind of Texture for the icon.
return EditorInterface.GetEditorTheme().GetIcon("Node", "EditorIcons");
return EditorInterface.Singleton.GetEditorTheme().GetIcon("Node", "EditorIcons");
}
}
#endif

View File

@@ -363,6 +363,17 @@ Example:
Input.Singleton.JoyConnectionChanged += Input_JoyConnectionChanged;
If you are developing main screen plugins using C#, it is essential to note the
distinctions between ``GDScript`` and ``C#`` during setup. Unlike in ``GDScript``,
this portion is not a static class in ``C#``. Consequently, you must employ the singleton
pattern to obtain an instance of the ``EditorInterface``:
==================== ==============================================================
GDScript C#
==================== ==============================================================
``EditorInterface`` ``EditorInterface.Singleton``
==================== ==============================================================
String
------