public override void OnInspectorGUI()
        {
            serializedObject.Update();
            EZEditorGUIUtility.ScriptableObjectTitle(target as ScriptableObject, !serializedObject.isEditingMultipleObjects);

            EditorGUILayout.LabelField("File Association", EditorStyles.boldLabel);
            EditorGUI.indentLevel++;
            EditorGUILayout.PropertyField(m_FilePatterns, true);
            EditorGUILayout.PropertyField(m_IncludePaths, true);
            EditorGUILayout.PropertyField(m_ExcludePaths, true);
            EditorGUI.indentLevel--;

            EditorGUILayout.LabelField("Analysis", EditorStyles.boldLabel);
            EditorGUI.indentLevel++;
            EditorGUILayout.PropertyField(m_InfoLineCount);
            EditorGUILayout.PropertyField(m_AuthorRegex);
            EditorGUILayout.PropertyField(m_CreateTimeRegex);
            EditorGUILayout.PropertyField(m_ValidLineRegex);
            EditorGUILayout.HelpBox(new StringBuilder()
                                    .AppendLine(@"'^\W*(\w+)[\S\s]*$': line contains word characters")
                                    .AppendLine(@"'^\W*(\S+)[\S\s]*$': line contains non-white-space characters")
                                    .ToString(), MessageType.Info);
            EditorGUI.indentLevel--;

            if (GUILayout.Button("Refresh"))
            {
                RefreshResult();
            }

            EditorGUILayout.Space();
            EditorGUILayout.LabelField("Results", EditorStyles.boldLabel);
            foreach (var subAsset in AssetDatabase.LoadAllAssetRepresentationsAtPath(AssetDatabase.GetAssetPath(target)))
            {
                if (subAsset == null)
                {
                    continue;
                }
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.ObjectField(subAsset.name, subAsset, typeof(EZScriptStatisticResult), false);
                if (GUILayout.Button("Remove", GUILayout.Width(80)))
                {
                    Undo.RecordObject(target, "Remove Result");
                    Undo.DestroyObjectImmediate(subAsset);
                    EditorUtility.SetDirty(target);
                    AssetDatabase.SaveAssets();
                }
                EditorGUILayout.EndHorizontal();
            }

            serializedObject.ApplyModifiedProperties();
        }
Пример #2
0
        public override void OnInspectorGUI()
        {
            serializedObject.Update();
            EZEditorGUIUtility.ScriptableObjectTitle(target as ScriptableObject, !serializedObject.isEditingMultipleObjects);

            EditorGUILayout.PropertyField(m_FilePath);
            if (GUILayout.Button("Open Folder"))
            {
                if (!string.IsNullOrEmpty(m_FilePath.stringValue))
                {
                    Directory.CreateDirectory(m_FilePath.stringValue);
                }
                string projectPath = Application.dataPath.Substring(0, Application.dataPath.Length - 7);
                Application.OpenURL(string.Format("file://{0}/{1}", projectPath, m_FilePath.stringValue));
            }

            EditorGUILayout.Space();
            EditorGUILayout.HelpBox("Game View Capture is only available when playing", MessageType.Info);
            GUI.enabled = EditorApplication.isPlaying;
            if (GUILayout.Button("Game View Capture"))
            {
                if (!string.IsNullOrEmpty(m_FilePath.stringValue))
                {
                    Directory.CreateDirectory(m_FilePath.stringValue);
                }
                capturer.ScreenCapture(GetPath());
            }
            GUI.enabled = true;

            EditorGUILayout.Space();
            camera = (Camera)EditorGUILayout.ObjectField("Target Camera", camera, typeof(Camera), true);
            EditorGUILayout.PropertyField(m_Resolution);
            EditorGUILayout.PropertyField(m_TextureFormat);
            if (camera == null)
            {
                GUI.enabled = false;
            }
            if (GUILayout.Button("Camera Capture"))
            {
                if (!string.IsNullOrEmpty(m_FilePath.stringValue))
                {
                    Directory.CreateDirectory(m_FilePath.stringValue);
                }
                capturer.CameraCapture(camera, GetPath());
            }
            GUI.enabled = true;

            serializedObject.ApplyModifiedProperties();
        }
Пример #3
0
        public override void OnInspectorGUI()
        {
            EZEditorGUIUtility.ScriptableObjectTitle(target as ScriptableObject);
            serializedObject.Update();

            if (GUILayout.Button("Execute"))
            {
                renamer.Execute();
            }

            EditorGUILayout.PropertyField(m_IndexStep);
            EditorGUILayout.PropertyField(m_IndexOffset);
            EditorGUILayout.PropertyField(m_IndexFormat);
            EditorGUILayout.PropertyField(m_CaptureRegex);
            objectList.DoLayoutList();

            serializedObject.ApplyModifiedProperties();
        }
        public override void OnInspectorGUI()
        {
            serializedObject.Update();
            EZEditorGUIUtility.ScriptableObjectTitle(target as ScriptableObject, !serializedObject.isEditingMultipleObjects);
            scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);

            EditorGUILayout.LabelField("File Association", EditorStyles.boldLabel);
            EditorGUI.indentLevel++;
            EditorGUILayout.PropertyField(m_FilePatterns, true);
            EditorGUILayout.PropertyField(m_IncludePaths, true);
            EditorGUILayout.PropertyField(m_ExcludePaths, true);
            EditorGUI.indentLevel--;

            EditorGUILayout.LabelField("Analysis", EditorStyles.boldLabel);
            EditorGUI.indentLevel++;
            EditorGUILayout.PropertyField(m_InfoLineCount);
            EditorGUILayout.PropertyField(m_AuthorRegex);
            EditorGUILayout.PropertyField(m_CreateTimeRegex);
            EditorGUILayout.PropertyField(m_ValidLineRegex);
            EditorGUILayout.HelpBox(new StringBuilder()
                                    .AppendLine(@"'^\W*(\w+)[\S\s]*$': line contains word characters")
                                    .AppendLine(@"'^\W*(\S+)[\S\s]*$': line contains non-white-space characters")
                                    .ToString(), MessageType.Info);
            EditorGUI.indentLevel--;

            if (GUILayout.Button("Refresh"))
            {
                RefreshResult();
            }

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Result: " + targetObject.resultTime, EditorStyles.boldLabel);
            EditorGUILayout.PropertyField(m_ShowAsset);
            EditorGUILayout.EndHorizontal();
            EditorGUI.indentLevel++;
            DrawResult(targetObject);
            EditorGUI.indentLevel--;

            EditorGUILayout.EndScrollView();
            serializedObject.ApplyModifiedProperties();
        }
Пример #5
0
        public override void OnInspectorGUI()
        {
            EZEditorGUIUtility.ScriptableObjectTitle(target as ScriptableObject, false);
            serializedObject.Update();

            EditorGUILayout.Space();
            EditorGUILayout.LabelField("Model Importer Settings", EditorStyles.boldLabel);
            EditorGUILayout.PropertyField(m_DefaultModelImporterOverrides, m_DefaultModelImporterOverrides.isExpanded);
            modelImporterList.DoLayoutList();

            EditorGUILayout.Space();
            EditorGUILayout.LabelField("Texture Importer Settings", EditorStyles.boldLabel);
            EditorGUILayout.PropertyField(m_DefaultTextureImporterOverrides, m_DefaultTextureImporterOverrides.isExpanded);
            textureImporterList.DoLayoutList();

            EditorGUILayout.Space();
            EditorGUILayout.LabelField("Audio Importer Settings", EditorStyles.boldLabel);
            audioImporterList.DoLayoutList();

            serializedObject.ApplyModifiedProperties();
        }
        public override void OnInspectorGUI()
        {
            serializedObject.Update();
            EZEditorGUIUtility.ScriptableObjectTitle(target as ScriptableObject, !serializedObject.isEditingMultipleObjects);

            EditorGUILayout.Space();
            EditorGUILayout.LabelField("Contributors", EditorStyles.boldLabel);
            scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
            foreach (Contributor contributor in result.contributors)
            {
                EditorGUILayout.BeginHorizontal();
                float  unitWidth = Mathf.Min(60, EditorGUIUtility.currentViewWidth / 10);
                string label     = string.Format("{0} - (proportion:{1:P2}, files:{2})", contributor.author, contributor.proportion, contributor.scriptList.Count);
                EditorGUI.indentLevel++;
                contributor.foldout = EditorGUILayout.Foldout(contributor.foldout, label, true);
                EditorGUI.indentLevel--;
                EditorGUILayout.TextField(contributor.lineCount.ToString(), GUILayout.Width(unitWidth));
                EditorGUILayout.TextField(contributor.validLineCount.ToString(), GUILayout.Width(unitWidth));
                EditorGUILayout.EndHorizontal();

                if (contributor.foldout)
                {
                    foreach (ScriptInfo script in contributor.scriptList)
                    {
                        EditorGUILayout.BeginHorizontal();
                        EditorGUI.indentLevel++;
                        EditorGUILayout.TextField(script.filePath);
                        EditorGUI.indentLevel--;
                        EditorGUILayout.ObjectField(script.fileObject, typeof(UnityEngine.Object), true, GUILayout.MaxWidth(unitWidth * 2.5f));
                        EditorGUILayout.TextField(script.createTime, GUILayout.MaxWidth(unitWidth * 2.5f));
                        EditorGUILayout.TextField(script.lineCount.ToString(), GUILayout.Width(unitWidth));
                        EditorGUILayout.TextField(script.validLineCount.ToString(), GUILayout.Width(unitWidth));
                        EditorGUILayout.EndHorizontal();
                    }
                }
            }
            EditorGUILayout.EndScrollView();

            serializedObject.ApplyModifiedProperties();
        }