2016-02-13 72 views
0

請幫助我在自定義編輯器中顯示UnityEvent變量。custstorm編輯器中的UnityEvent變量

腳本:

public class BTNPattern : MonoBehaviour { 
    public UnityEvent testEvent; 
} 

編輯腳本:

CustomEditor(typeof(BTNPattern))] 
public class BTNPatternEditor : Editor { 
    public override void OnInspectorGUI() { 
     BTNPattern myTarget = (BTNPattern) target; 
     // what to put here to show myTarget.testEvent ? 
} 
+0

它的默認操作表演。無需定製編輯器。 – Everts

+0

即時通訊使用自定義編輯器,因爲其他變量和有用的方式來處理它。統一事件只是一個問題,出現在我的情況 – user2698308

+0

可能重複[無法更改在Unity中的Inspector變量中的數組大小](http://stackoverflow.com/questions/35165995/unable-to-change-array-尺寸功能於檢查員可變功能於統一) – Fattie

回答

0

好,我找到了一個方法:
SerializedProperty sprop = serializedObject.FindProperty("testEvent"); EditorGUIUtility.LookLikeControls(); EditorGUILayout.PropertyField(sprop); serializedObject.ApplyModifiedProperties();
,但現在我的問題是如何顯示的
public class BTNPattern : MonoBehaviour{ public List UnityEvent testEventS; }
編輯一個腳本:
CustomEditor(typeof(BTNPattern))] public class BTNPatternEditor : Editor{ public override void OnInspectorGUI(){ BTNPattern myTarget = (BTNPattern)target; // SerializedProperty sprop = serializedObject.FindProperty("testEvent"); // want to see myTarget.testEvents(1); EditorGUIUtility.LookLikeControls(); EditorGUILayout.PropertyField(sprop); serializedObject.ApplyModifiedProperties(); } }

0
public class BTNPattern : MonoBehaviour{ 
public List<UnityEvent> testEventS; } 


SerializedProperty sprop = serializedObject.FindProperty("testEventS"); 
EditorGUILayout.PropertyField(sprop.GetArrayElementAtIndex(i), true); 

所以現在我需要顯示此
public List testEventS; public List _EventsList { set { testEventS= value; } get { return testEventS; } }