public override void OnGUI() { if (PluginContainer.anyVersionMismatch) { LudiqGUI.VersionMismatchShieldLayout(); return; } accessor.UpdatePrefabModifications(); EditorGUI.BeginChangeCheck(); LudiqGUI.Space(EditorGUIUtility.standardVerticalSpacing); editor.DrawControlLayout(21); if (editor.isHeightDirty) { rootEditor.Repaint(); } if (EditorGUI.EndChangeCheck()) { rootEditor.Repaint(); } if (LudiqCore.Configuration.developerMode && LudiqCore.Configuration.developerEditorMenu) { debugFoldout = EditorGUILayout.Foldout(debugFoldout, "Developer", true); if (debugFoldout) { var target = serializedObject.targetObject; if (GUILayout.Button("Show Serialized Data")) { ((ILudiqRootObject)target).ShowData(); } EditorGUI.BeginDisabledGroup(true); EditorGUILayout.Toggle("Prefab definition", target.IsPrefabDefinition()); EditorGUILayout.Toggle("Prefab instance", target.IsPrefabInstance()); EditorGUILayout.Toggle("Connected prefab instance", target.IsConnectedPrefabInstance()); EditorGUILayout.Toggle("Disconnected prefab instance", target.IsDisconnectedPrefabInstance()); EditorGUILayout.Toggle("Scene bound", target.IsSceneBound()); EditorGUILayout.ObjectField("Prefab definition", target.GetPrefabDefinition(), typeof(Object), true); EditorGUI.EndDisabledGroup(); } } else { LudiqGUI.Space(EditorGUIUtility.standardVerticalSpacing); } }
public override void OnGUI() { if (EditorApplication.isCompiling) { LudiqGUI.CenterLoader(); return; } using (LudiqEditorUtility.editedObject.Override(serializedObject.targetObject)) { if (PluginContainer.anyVersionMismatch) { LudiqGUI.VersionMismatchShieldLayout(); return; } if (inspector == null) { inspector = metadata.Editor(); } EditorGUI.BeginChangeCheck(); LudiqGUI.Space(EditorGUIUtility.standardVerticalSpacing); inspector.DrawLayout(GUIContent.none, 20); if (EditorGUI.EndChangeCheck()) { editorParent.Repaint(); } if (LudiqCore.Configuration.developerMode) { debugFoldout = EditorGUILayout.Foldout(debugFoldout, "Developer", true); if (debugFoldout) { var target = serializedObject.targetObject; if (GUILayout.Button("Show Serialized Data")) { ((SerializationData)dataProperty.GetUnderlyingValue()).ShowString(target.ToString()); } EditorGUI.BeginDisabledGroup(true); EditorGUILayout.PropertyField(dataProperty.FindPropertyRelativeOrFail("_" + nameof(SerializationData.objectReferences))); EditorGUILayout.Toggle("Prefab definition", target.IsPrefabDefinition()); EditorGUILayout.Toggle("Prefab instance", target.IsPrefabInstance()); EditorGUILayout.Toggle("Connected prefab instance", target.IsConnectedPrefabInstance()); EditorGUILayout.Toggle("Disconnected prefab instance", target.IsDisconnectedPrefabInstance()); EditorGUILayout.Toggle("Scene bound", target.IsSceneBound()); EditorGUILayout.ObjectField("Prefab definition", target.GetPrefabDefinition(), typeof(UnityEngine.Object), true); EditorGUI.EndDisabledGroup(); } } else { LudiqGUI.Space(EditorGUIUtility.standardVerticalSpacing); } } }