using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEditor;
using UnityEngine;
public class MoveABToSA
{
[MenuItem("AB包工具/移动选中资源到StreamingAssets中")]
private static void MoveABToStreamingAssets()
{
//获取Project窗口中选中的资源
Object[] selectAssets = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
if (selectAssets.Length == 0)
return;
//用于拼接本地默认AB包资源信息字符串
string abCompareInfo = "";
//遍历选中的资源对象
foreach (Object asset in selectAssets)
{
//获取资源路径
string assetPath = AssetDatabase.GetAssetPath(asset);
//截取字符串最后一个斜杆后内容作为文件名(包含斜杆,不包含加1)
string fileName = assetPath.Substring(assetPath.LastIndexOf('/'));
//排除有后缀文件
if (fileName.IndexOf('.') != -1)
continue;
//复制文件到StreamingAssets
AssetDatabase.CopyAsset(assetPath, "Assets/StreamingAssets" + fileName);
//获取拷贝文件信息
FileInfo fileInfo = new FileInfo(Application.streamingAssetsPath + fileName);
//拼接字符串
abCompareInfo += fileInfo.Name + " " + fileInfo.Length + " " + CreateABCompare.Get_md5(fileInfo.FullName);
abCompareInfo += "|";
}
abCompareInfo = abCompareInfo.Substring(0, abCompareInfo.Length - 1);
//将本地默认资源对此文件存入
File.WriteAllText(Application.streamingAssetsPath + "/ABCompareInfo.txt", abCompareInfo);
//刷新窗口
AssetDatabase.Refresh();
}
}
UnityAB包 默认资源
最新推荐文章于 2024-06-15 17:37:41 发布