示例#1
0
 private void CreateNewSettings()
 {
     ClearEditorCache();
     patternSettings = CreateInstance <AssetPatternSettings>();
     AssetDatabase.CreateAsset(patternSettings, SETTINGS_PATH);
     Selection.activeObject = patternSettings;
 }
示例#2
0
        private void OnGUI()
        {
            GUILayout.BeginVertical(string.Empty, "Window");

            #region Select Directory
            GUILayout.BeginHorizontal();
            GUILayout.Label("Target Directory", GUILayout.Width(LABEL_WIDTH));
            targetDirectory = GUILayout.TextField(targetDirectory);
            if (GUILayout.Button("Browse", GUILayout.Width(BUTTON_WIDTH)))
            {
                SelectDirectory();
            }
            GUILayout.EndHorizontal();
            #endregion

            #region Pattern Settings
            GUILayout.BeginHorizontal();
            GUILayout.Label("Pattern Settings", GUILayout.Width(LABEL_WIDTH));
            EditorGUI.BeginChangeCheck();
            patternSettings = EditorGUILayout.ObjectField(patternSettings, typeof(AssetPatternSettings), false) as AssetPatternSettings;
            if (EditorGUI.EndChangeCheck())
            {
                ClearEditorCache();
            }
            if (GUILayout.Button("New", GUILayout.Width(BUTTON_WIDTH)))
            {
                CreateNewSettings();
            }
            GUILayout.EndHorizontal();
            #endregion

            #region Top Tool Bar
            GUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            if (GUILayout.Button("Check", GUILayout.Width(BUTTON_WIDTH)))
            {
                CheckAssetsName();
            }
            if (GUILayout.Button("Clear", GUILayout.Width(BUTTON_WIDTH)))
            {
                ClearEditorCache();
            }
            GUILayout.EndHorizontal();
            #endregion

            #region Mismatch Assets
            GUILayout.BeginHorizontal();
            GUILayout.Label("Mismatch Assets", GUILayout.Width(LABEL_WIDTH));
            GUILayout.Label(filterAssets.Count.ToString());
            GUILayout.EndHorizontal();

            scrollPos = GUILayout.BeginScrollView(scrollPos, "Box");
            var startIndex = pageIndex * EACHPAGE_COUNT;
            var limitCount = Math.Min(EACHPAGE_COUNT, filterAssets.Count - startIndex);
            for (int i = startIndex; i < startIndex + limitCount; i++)
            {
                if (GUILayout.Button(filterAssets[i], "TextField"))
                {
                    Selection.activeObject = AssetDatabase.LoadAssetAtPath(filterAssets[i], typeof(UnityEngine.Object));
                }
            }
            GUILayout.EndScrollView();
            #endregion

            #region Bottom Tool Bar
            if (pageCount > 1)
            {
                GUILayout.BeginHorizontal();
                if (pageIndex > 0)
                {
                    if (GUILayout.Button("Previous", GUILayout.Width(BUTTON_WIDTH)))
                    {
                        pageIndex--;
                        scrollPos = Vector2.zero;
                    }
                }
                else
                {
                    GUILayout.Label(string.Empty, GUILayout.Width(BUTTON_WIDTH));
                }

                GUILayout.FlexibleSpace();
                GUILayout.Label(pageIndex + 1 + " / " + pageCount);
                GUILayout.FlexibleSpace();

                if (pageIndex < pageCount - 1)
                {
                    if (GUILayout.Button("Next", GUILayout.Width(BUTTON_WIDTH)))
                    {
                        pageIndex++;
                        scrollPos = Vector2.zero;
                    }
                }
                else
                {
                    GUILayout.Label(string.Empty, GUILayout.Width(BUTTON_WIDTH));
                }
                GUILayout.EndHorizontal();
            }
            #endregion

            GUILayout.EndVertical();
        }
示例#3
0
 private void OnEnable()
 {
     targetDirectory = EditorPrefs.GetString(TARGET_DIRECTORY_KEY, targetDirectory);
     patternSettings = AssetDatabase.LoadAssetAtPath(SETTINGS_PATH, typeof(AssetPatternSettings)) as AssetPatternSettings;
 }