bingo 项目提交

This commit is contained in:
2026-04-20 13:49:36 +08:00
commit ad5920ac6a
5585 changed files with 1216243 additions and 0 deletions
@@ -0,0 +1,90 @@
using System;
using System.IO;
using UnityEditor;
using UnityEngine;
namespace BingoBrain.Editor
{
public class AssetBundleBuildKit
{
public const string AssetBundleRootPath = "Assets/AssetHotFix/";
public const string AssetBundleSuffix = ".assetbundle";
static void SetABName(string assetPath)
{
var importerPath = $"Assets{assetPath[Application.dataPath.Length..]}";
importerPath = importerPath.Replace("\\", "/");
const string assetBundleRootPath = AssetBundleRootPath;
if (importerPath.StartsWith(assetBundleRootPath))
{
var bundleName = importerPath.Replace(assetBundleRootPath, "");
var endIndex = bundleName.LastIndexOf("/", StringComparison.Ordinal);
if (endIndex <= 0)
{
return;
}
var fileInfo = new FileInfo(importerPath);
if ((fileInfo.Attributes & FileAttributes.Directory) == 0)
{
try
{
bundleName = bundleName.ToLower().Substring(0, endIndex).Replace("/", ".");
var importer = AssetImporter.GetAtPath(importerPath);
if (importer != null)
{
importer.assetBundleName = $"{bundleName}{AssetBundleSuffix}";
if (importer.assetBundleName != null)
{
importer.assetBundleVariant = "";
}
}
}
catch (Exception e)
{
Debug.LogError(importerPath);
Debug.LogError(endIndex);
Debug.LogError(e.Message);
throw;
}
}
}
}
public static void SetAssetBundlesName(string _assetsPath)
{
var dir = new DirectoryInfo(_assetsPath);
var files = dir.GetFileSystemInfos();
for (var i = 0; i < files.Length; i++)
{
if (files[i] is DirectoryInfo)
{
SetAssetBundlesName(files[i].FullName);
}
else if (!files[i].Name.EndsWith(".meta"))
{
SetABName(files[i].FullName);
}
}
}
public static void ClearAssetBundlesName()
{
var abNames = AssetDatabase.GetAllAssetBundleNames();
for (var i = 0; i < abNames.Length; i++)
{
AssetDatabase.RemoveAssetBundleName(abNames[i], true);
}
}
}
}