public static void DrawResponse(UnityEventBase response) { var eventCount = response.GetPersistentEventCount(); for (int i = 0; i < eventCount; i++) { var validationState = ListenerUtility.ValidedResponse(response, i); if (validationState == ListenerValidionState.Valid) { EditorGUILayout.BeginHorizontal(); GUILayout.Box("", EditorStyles.helpBox, GUILayout.Width(5f), GUILayout.MinHeight(EditorGUIUtility.singleLineHeight * 2 + EditorGUIUtility.standardVerticalSpacing)); EditorGUILayout.BeginVertical(); var enabled = GUI.enabled; GUI.enabled = false; EditorGUILayout.ObjectField("Target", response.GetPersistentTarget(i), response.GetPersistentTarget(i).GetType(), true); GUI.enabled = enabled; EditorGUILayout.LabelField("Method name", response.GetPersistentMethodName(i)); EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); } else { EditorGUILayout.HelpBox(ValidationMessage.GetMessage(validationState), MessageType.Error); } } }
private void CheckForResponseProblems() { for (int i = 0; i < listeners.Count; i++) { var valid = ListenerUtility.IsListenerValid(listeners[i]); if (i >= validionStates.Count) { validionStates.Add(valid); } else { validionStates[i] = valid; } } }