资源简介
ab打包
代码片段和文件信息
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;
using System.Linq;
public class AssetbundlePackat
{
//把需要热更的Resources资源放入HotUpdate文件夹如果需要默认读取resources/HotUpdate下的资源
//请不要添加到LevelVersion.xml版本中也不要生成ab包等需要热更修改内容时,再包含进去版本中,并生成ab包
//注意:不要为了省时间,只打一个需要的ab包,需要整体重新打ab包,因为会生成ab依赖分析包
static string m_beginPath;
static string beginPath
{
get
{
if (string.IsNullOrEmpty(m_beginPath))
{
int index = Application.dataPath.LastIndexOf(“Assets“);
m_beginPath = Application.dataPath.Remove(index);
}
return m_beginPath;
}
}
#region 清除AssetBundle包名
[MenuItem(“HotTools/ClearAbName“)]
static void ClearABNames()
{
//清除旧的ab包名
EditorUtility.DisplayProgressBar(“搜索ab包名“ “进行中...“ 0.2f);
string[] abnames = AssetDatabase.GetAllAssetBundleNames();
for(int i=0;i {
EditorUtility.DisplayProgressBar(“清除ab包名“ abnames[i] (i+1f) / abnames.Length);
AssetDatabase.RemoveAssetBundleName(abnames[i] true);
}
EditorUtility.ClearProgressBar();
}
#endregion
#region 设置AssetBundle包名
const int ReferenceThreshold = 2;//大于阀值设置ab名字,不被包含,而被依赖
static int objDependencieCount = 0;//依赖计数
static Dictionary dicAtlasSetAbNameFlag = new Dictionary();//图集设置assetName标识
static Dictionary> dicObjRelyNum = new Dictionary>();//key=objPath value=依赖列表
static Dictionary> dicAtlasObjRelyNum = new Dictionary>();//key=packing Tag value=依赖列表
static void InitSetAssetBundle()
{
AssetDatabase.SaveAssets();
objDependencieCount = 0;
dicAtlasSetAbNameFlag.Clear();
dicObjRelyNum.Clear();
dicAtlasObjRelyNum.Clear();
dicSpritePackingTagList.Clear();
GetSpriteListAtPackingTag(Application.dataPath);
}
#region packing Tag sprite列表
static Dictionary> dicSpritePackingTagList = new Dictionary>();//packing Tag sprite列表
static void GetSpriteListAtPackingTag(string path)
{
string[] filePaths = Directory.GetFiles(path);
List ignoreExtens = new List { ““ “.lua“ “.cs“ “.dll“ “.json“ “.mat“ “.meta“ “.DS_Store“ “.text“ “.xml“ “.prefab“ “.ab“ “.mp4“ “.mp3“ };
for (int i=0;i {
string fp = filePaths[i];
string exten = Path.GetExtension(fp);
if (ignoreExtens.Contains(exten)) continue;
string relativePath = fp.Replace(Application.dataPath “Assets“);
EditorUtility.DisplayProgressBar(“分析图集Sprite“ relativePat
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 18456 2020-10-19 18:59 AssetbundlePackat.cs
----------- --------- ---------- ----- ----
18456 1
- 上一篇:C#与正运动控制卡
- 下一篇:百度在线翻译API (使用)
相关资源
- 轮询RabbitMQ消息队列
- C#与Matlab混合编程的几种方式
- C# 操作 RabbitMQ
- RabbitMQ消息的发送和接收C#
- WPF圆润的TabItem和TabControl
- MATLAB GUI设计学习手记(罗华飞)
- ASP.NET Zero Core v8.1.0 (2019-12-20)
- C#实现封装SPC过程能力工具类ProcessC
- 控件重绘 C# WinForm控件美化扩展系列之
- C# 调用MATLAB程序绘图
- matlab文件+dll文件和C#程序
- Adaboost人脸检测的emgu实现C#
- C#调用matlab画图,解决图像嵌入Winfo
- 彩色 ExcelTab 标签
-
《Beginning C# 2008 Databa
ses (英文版) -
Visual C# and Databa
ses - C#导出Excel(DataTable生成Excel)
- ABB机器人二次开发说明书
- 基于Handsontable的ASP.NET可编辑动态表格
-
Beginning C# 2005 Databa
ses - C#读取ABPLC驱动程序和ABPLC模拟器
- 基于循环取货的车辆路径优化
- XPTable-winform很强大的表格控件
- winform导航菜单,多窗口tab 源码程序
- matlab绘图Figure嵌入C# Winform窗体中
- RabbitMQ封装.rar
- NPOI操作C# ExcelToDataTable DataTableToExce
- C#与ABB机器人通讯及控制
- C# DataTable生成excel并将excel添加附件发
- TabControl重绘添加关闭按钮与Treeview导
评论
共有 条评论