Files
plugin-library/Assets/Main/HotfixUpdateScript/Runtime/HotUpdate/Init/Fsm/LoadResMainState.cs

88 lines
2.9 KiB
C#
Raw Normal View History

2025-07-02 10:05:26 +08:00
using Cysharp.Threading.Tasks;
using Main;
using UnityEngine;
using YooAsset;
namespace Stary.Evo
{
public class LoadResMainState : AbstractFSMIState
{
private string _doMain = "Main";
public LoadResMainState(IFsmSystem system) : base(system)
{
}
public override async UniTask OnEnterAsync()
{
// Debug.Log("加载资源...");
// var package = YooAssets.GetPackage(_doMain);
//
// DomainConfig config = null;
// //加载热更配置文件
// var loadHotfixSettingsOp = package.LoadAssetAsync<DomainConfig>("Config_DomainConfig");
// await loadHotfixSettingsOp;
// if (loadHotfixSettingsOp.Status == EOperationStatus.Succeed)
// {
// //更新成功
// Debug.Log($"UnityEvo:加载主配置文件 loadHotfixSettings : 【成功】");
// config = loadHotfixSettingsOp.AssetObject as DomainConfig;
// }
// else
// {
// Debug.LogError($"UnityEvo:加载主配置文件 loadHotfixSettings : 【失败】");
// }
//
// // 加载热更资源
// var loadOperation = package.LoadAssetAsync<GameObject>(config.mainPrefab);
//
// await loadOperation;
// if (loadOperation.Status == EOperationStatus.Succeed)
// {
// GameObject loadhotfix = loadOperation.InstantiateSync();
// AppConfig.SetDefaultMainInstance(loadhotfix);
// if (loadhotfix != null)
// {
// DomainBase hotfixInstance = loadhotfix.GetComponent<MainDomain>();
// if (hotfixInstance == null)
// {
// hotfixInstance = loadhotfix.AddComponent<MainDomain>();
// }
//
// if (hotfixInstance == null)
// {
// Debug.LogError($"热更类{loadhotfix.name}实例创建失败必须继承MonoBehaviour");
// return;
// }
//
//
// // 原有调用逻辑修改为使用实例
// hotfixInstance.OnEnter("");
// hotfixInstance.OnEnterAsync("");
// }
// }
}
public override UniTask OnEnterAsync<T>(T param)
{
return UniTask.CompletedTask;
}
public override UniTask OnEnterAsync<T1, T2>(T1 param1, T2 param2)
{
return UniTask.CompletedTask;
}
public override void OnUpdate()
{
base.OnUpdate();
}
public override UniTask OnExitAsync()
{
return UniTask.CompletedTask;
}
}
}