少年修仙传客户端基础资源
lwb
2020-11-12 3b747898c22e4802e8f68c27261c163f7638cbca
9527 资源加载方式的工具
2个文件已修改
2个文件已添加
85 ■■■■ 已修改文件
.gitignore 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/AssetSourceSettings.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/AssetSourceSettings.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/RemoveMissingScripts.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -53,3 +53,5 @@
/Assets/luaIde.meta
/*.code-workspace
/Snxxz_Android.userprefs
/Assets/VSCode.meta
/Assets/VSCode
Assets/Editor/Tool/AssetSourceSettings.cs
New file
@@ -0,0 +1,44 @@
using UnityEngine;
using UnityEditor;
namespace Assets.Editor.Tool
{
    public class AssetSourceSettings : EditorWindow
    {
        private bool allFromEditor;
        private bool audioFromEditor;
        private bool effectFromEditor;
        private bool mobFromEditor;
        private bool refdataFromEditor;
        private bool shaderFromEditor;
        private bool sceneFromEditor;
        private bool uiFromEditor;
        private bool builtInFromEditor;
        [MenuItem("Tools/资源加载方式")]
        public static void ShowWindow()
        {
            EditorWindow.GetWindow<AssetSourceSettings>("资源加载方式").Show();
        }
        private void OnGUI()
        {
            // allFromEditor = EditorGUILayout.Toggle("allFromEditor:", AssetSource.allFromEditor);
            AssetSource.audioFromEditor = EditorGUILayout.Toggle("audioFromEditor:", AssetSource.audioFromEditor);
            AssetSource.effectFromEditor = EditorGUILayout.Toggle("effectFromEditor:", AssetSource.effectFromEditor);
            AssetSource.mobFromEditor = EditorGUILayout.Toggle("mobFromEditor:", AssetSource.mobFromEditor);
            AssetSource.refdataFromEditor = EditorGUILayout.Toggle("refdataFromEditor:", AssetSource.refdataFromEditor);
            AssetSource.shaderFromEditor = EditorGUILayout.Toggle("shaderFromEditor:", AssetSource.shaderFromEditor);
            AssetSource.sceneFromEditor = EditorGUILayout.Toggle("sceneFromEditor:", AssetSource.sceneFromEditor);
            AssetSource.uiFromEditor = EditorGUILayout.Toggle("uiFromEditor:", AssetSource.uiFromEditor);
            AssetSource.builtInFromEditor = EditorGUILayout.Toggle("builtInFromEditor:", AssetSource.builtInFromEditor);
            EditorGUILayout.Space();
            if (GUILayout.Button("全部切换"))
            {
                AssetSource.allFromEditor = !AssetSource.allFromEditor;
            }
        }
    }
}
Assets/Editor/Tool/AssetSourceSettings.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 0b2840c0a4ef9304fb735bd3ab3694bc
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Editor/Tool/RemoveMissingScripts.cs
@@ -52,25 +52,31 @@
            count2++;
            EditorUtility.DisplayProgressBar("Processing...", "遍历丢失脚本Prefab中....", count / pathList.Count);
            GameObject obj = (GameObject)AssetDatabase.LoadAssetAtPath(path, typeof(GameObject));
            getAllChild(obj.transform);
            checkMissing(obj);
            getAllChild(obj);
        }
        EditorUtility.ClearProgressBar();
    }
    void getAllChild(Transform tf)
    void getAllChild(GameObject go)
    {
        foreach (Transform child in tf)
        foreach (Transform child in go.transform)
        {
            var components = child.GetComponents<Component>();
            for (int j = 0; j < components.Length; j++)
            checkMissing(child.gameObject);
            getAllChild(child.gameObject);
        }
    }
    void checkMissing(GameObject go)
    {
        var components = go.GetComponents<Component>();
        for (int j = 0; j < components.Length; j++)
        {
            if (components[j] == null)
            {
                if (components[j] == null)
                {
                    missObj.Add(child.gameObject);
                    continue;
                }
                missObj.Add(go.gameObject);
                continue;
            }
            getAllChild(child);
        }
    }