public override void OnInspectorGUI() { if (self == null) { return; } serializedObject.Update(); EditorGUIUtility.labelWidth = 140; EditorGUILayout.Space(); DrawHeader("Base settings"); EditorGUILayout.PropertyField(autoStart); detectionEventHasListener.boolValue = EditorTools.CheckUnityEventHasActivePersistentListener(detectionEvent); CheckAdditionalEventsForListeners(); if (autoStart.boolValue && !detectionEventHasListener.boolValue && !AdditionalEventsHasListeners()) { EditorGUILayout.LabelField(new GUIContent("You need to add at least one active item to the Events in order to use Auto Start feature!"), GUITools.BoldLabel); } else if (!autoStart.boolValue) { EditorGUILayout.LabelField(new GUIContent("Don't forget to start detection!", "You should start detector from code using ObscuredCheatingDetector.StartDetection() method. See readme for details."), GUITools.BoldLabel); EditorGUILayout.Separator(); } EditorGUILayout.PropertyField(autoDispose); EditorGUILayout.PropertyField(keepAlive); EditorGUILayout.Separator(); if (DrawUniqueDetectorProperties()) { EditorGUILayout.Separator(); } //DrawHeader("Events"); EditorGUILayout.PropertyField(detectionEvent); DrawAdditionalEvents(); serializedObject.ApplyModifiedProperties(); EditorGUIUtility.labelWidth = 0; }