2013-04-17 6 views

Antwort

5

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 EditorCustomScriptEditor 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();    
     } 

    } 
} 
+0

Großartig! Arbeiten Sie auch gut mit der Startansicht! – Klamore74