copy依赖资源到指定位置

2022/8/23 6:23:45

本文主要是介绍copy依赖资源到指定位置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#

using System.IO;
using UnityEditor;
using UnityEngine;

namespace xui.Editor
{

    public class ResDeps
    {

        [MenuItem("Assets/myTool/打印依赖", false, 99)]
        public static void DumpDeps()
        {
            if (null == Selection.activeObject) return;
            var resPath = AssetDatabase.GetAssetPath(Selection.activeObject);
            if (string.IsNullOrEmpty(resPath)) return;

            var deps = AssetDatabase.GetDependencies(resPath, true);
            Debug.Log("========== begin");
            for (var i = 0; i < deps.Length; ++i)
            {
                Debug.Log(deps[i]);
            }
            Debug.Log("==========");
        }

        [MenuItem("Assets/myTool/打印并copy依赖", false, 99)]
        public static void DumpDeps2()
        {
            if (null == Selection.activeObject) return;
            var resPath = AssetDatabase.GetAssetPath(Selection.activeObject);
            if (string.IsNullOrEmpty(resPath)) return;

            var deps = AssetDatabase.GetDependencies(resPath, true);
            Debug.Log("========== begin");
            for (var i = 0; i < deps.Length; ++i)
            {
                Debug.Log(deps[i]);
                var dstFileFullPath = $"D:/MyConfiguration/win/Desktop/deps/{deps[i]}";
                if (!File.Exists(dstFileFullPath))
                {
                    var fileFolderFullPath = Path.GetDirectoryName(dstFileFullPath);
                    if (!Directory.Exists(fileFolderFullPath))
                        Directory.CreateDirectory(fileFolderFullPath);
                    File.Copy(deps[i], dstFileFullPath);
                    Debug.Log($"copy ->: {fileFolderFullPath}");
                }

                var srcFileMetaPath = $"{deps[i]}.meta";
                var dstFileMetaFullPath = $"{dstFileFullPath}.meta";
                if (!File.Exists(dstFileMetaFullPath))
                {
                    File.Copy(srcFileMetaPath, dstFileMetaFullPath);
                    Debug.Log($"copy meta");
                }
                Debug.Log($"=====");
            }
            Debug.Log("==========");
        }
    }

}

 



这篇关于copy依赖资源到指定位置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程