This commit is contained in:
CortexCore
2024-11-14 17:17:46 +08:00
parent 416e3322db
commit b65b45c062
368 changed files with 1785 additions and 400 deletions

View File

@@ -0,0 +1,49 @@
using System;
using System.Collections;
using System.Collections.Generic;
using BITKit.IO;
using Cysharp.Threading.Tasks;
using Microsoft.Extensions.Logging;
using UnityEditor;
using UnityEngine;
using YooAsset;
namespace BITKit.Mod
{
public class YooAssetMaterialFix:IDisposable
{
private readonly ILogger<YooAssetMaterialFix> _logger;
public YooAssetMaterialFix(ILogger<YooAssetMaterialFix> logger)
{
_logger = logger;
YooAssetUtils.OnPackageRegistered += OnPackageRegistered;
foreach (var packageName in YooAssetUtils.RegisteredPackages)
{
OnPackageRegistered(packageName);
}
}
private async void OnPackageRegistered(string obj)
{
var package = YooAssets.GetPackage(obj);
_logger.LogInformation("正在加载所有材质");
var assetInfos = package.GetAssetInfos("material");
foreach (var assetInfo in assetInfos)
{
var task = package.LoadAssetAsync<Material>(assetInfo.AssetPath);
await task;
var material = task.AssetObject.As<Material>();
material.shader = material.shader;
}
_logger.LogInformation($"所有材质加载完成,已更新{assetInfos.Length}个材质");
}
public void Dispose()
{
// TODO 在此释放托管资源
YooAssetUtils.OnPackageRegistered -= OnPackageRegistered;
}
}
}