public override void OnInspectorGUI() { DrawDefaultInspector(); ThreeArgGameEvent <T, U, V> myGameEvent = (ThreeArgGameEvent <T, U, V>)target; GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); EditorGUILayout.LabelField("First Argument Default (" + typeof(T).ToString() + ")"); FirstField(myGameEvent); myGameEvent.DefaultT = DefaultMessageT; GUILayout.EndVertical(); GUILayout.BeginVertical(); EditorGUILayout.LabelField("Second Argument Default (" + typeof(U).ToString() + ")"); SecondField(myGameEvent); myGameEvent.DefaultU = DefaultMessageU; GUILayout.EndVertical(); GUILayout.EndHorizontal(); GUILayout.BeginVertical(); EditorGUILayout.LabelField("Third Argument Default (" + typeof(V).ToString() + ")"); ThirdField(myGameEvent); myGameEvent.DefaultV = DefaultMessageV; GUILayout.EndVertical(); if (GUILayout.Button("Raise Event")) { myGameEvent.Raise(); } }
protected override void ThirdField(ThreeArgGameEvent <Vector3, Vector3, Vector3> myGameEvent) { DefaultMessageV = EditorGUILayout.Vector3Field("", myGameEvent.DefaultV); }
protected override void SecondField(ThreeArgGameEvent <Vector3, Vector3, Vector3> myGameEvent) { DefaultMessageU = EditorGUILayout.Vector3Field("", myGameEvent.DefaultU); }
protected override void ThirdField(ThreeArgGameEvent <string, string, string> myGameEvent) { DefaultMessageV = EditorGUILayout.TextField(myGameEvent.DefaultV); }
protected override void SecondField(ThreeArgGameEvent <string, string, string> myGameEvent) { DefaultMessageU = EditorGUILayout.TextField(myGameEvent.DefaultU); }
protected virtual void ThirdField(ThreeArgGameEvent <T, U, V> myGameEvent) { }
protected override void ThirdField(ThreeArgGameEvent <GameObject, GameObject, GameObject> myGameEvent) { DefaultMessageV = (GameObject)EditorGUILayout.ObjectField("", myGameEvent.DefaultV, typeof(GameObject), false); }
protected override void SecondField(ThreeArgGameEvent <int, int, int> myGameEvent) { DefaultMessageU = EditorGUILayout.IntField(myGameEvent.DefaultU); }
protected override void ThirdField(ThreeArgGameEvent <int, int, int> myGameEvent) { DefaultMessageV = EditorGUILayout.IntField(myGameEvent.DefaultV); }
protected override void FirstField(ThreeArgGameEvent <Vector2, Vector2, Vector2> myGameEvent) { DefaultMessageT = EditorGUILayout.Vector2Field("", myGameEvent.DefaultT); }
protected override void SecondField(ThreeArgGameEvent <ScriptableObject, ScriptableObject, ScriptableObject> myGameEvent) { DefaultMessageU = (ScriptableObject)EditorGUILayout.ObjectField("", myGameEvent.DefaultU, typeof(ScriptableObject), false); }
protected override void ThirdField(ThreeArgGameEvent <bool, bool, bool> myGameEvent) { DefaultMessageV = EditorGUILayout.Toggle(myGameEvent.DefaultV); }
protected override void SecondField(ThreeArgGameEvent <bool, bool, bool> myGameEvent) { DefaultMessageU = EditorGUILayout.Toggle(myGameEvent.DefaultU); }
protected override void FirstField(ThreeArgGameEvent <float, float, float> myGameEvent) { DefaultMessageT = EditorGUILayout.FloatField(myGameEvent.DefaultT); }