Sie können nicht erzwingen, um Ihren benutzerdefinierten Inspektor anderswo als im Inspektorfenster zu zeichnen.
Btw Sie können eine Editor
mit Editor.CreateEditor Methode manuell instatizieren. Da Sie einen benutzerdefinierten Inspektor anzeigen, sollte es möglich sein, es manuell aus der Methode Window.OnGUI
instanziieren und die öffentliche Methode OnInspectorGUI
des Editors verwenden, um den Editor in Ihrem Fenster zu zeichnen.
Zum Beispiel, wenn Sie ein Skript angebracht CustomScript
zu einem GameObject
genannt und haben einen im Zusammenhang Editor
CustomScriptEditor
genannt, angenommen Sie die GameObject
aus der Hierarchie ausgewählt haben, dieser Code zu visualisieren den benutzerdefinierten Inspektoren innerhalb eines EditorWindow
:
using UnityEditor;
using UnityEngine;
public class TestWindow : EditorWindow
{
[MenuItem ("Window/Editor Window Test")]
static void Init()
{
// Get existing open window or if none, make a new one:
TestWindow window = (TestWindow)EditorWindow.GetWindow (typeof (TestWindow));
}
void OnGUI() {
GameObject sel = Selection.activeGameObject;
CustomScript targetComp = sel.GetComponent<CustomScript>();
if (targetComp != null)
{
var editor = Editor.CreateEditor(targetComp);
editor.OnInspectorGUI();
}
}
}
Großartig! Arbeiten Sie auch gut mit der Startansicht! – Klamore74