コード例 #1
0
            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);
                }
            }
コード例 #2
0
            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);
                    }
                }
            }