using System.Threading.Tasks; using Cysharp.Threading.Tasks; using GameConfig; using HotScripts.GameLauncher; using Luban; using Plugins.JNGame.System; using SHFrame; using UnityEngine; using YooAsset; namespace HotScripts.GameScripts.Luban { public class LubanManager : SystemBase { private Tables _tables; public Tables Tables => _tables; public override async Task OnInit() { await UniTask.DelayFrame(1); Log.Debug($"配置文件 初始化中"); App.EventLauncher.DispatchEvent(HotLauncherEvent.InitSystem,$"配置文件 初始化中"); _tables = new Tables(LoadByteBuf); Log.Debug($"配置文件 初始化完成 {Tables.TbGMap.DataList[0].MapName}"); } /// /// 加载二进制配置。 /// /// FileName /// ByteBuf private ByteBuf LoadByteBuf(string file) { var handle = YooAssets.LoadAssetSync(file); return new ByteBuf((handle.AssetObject as TextAsset)?.bytes); } } }