2025-07-02 10:05:26 +08:00
|
|
|
|
using Cysharp.Threading.Tasks;
|
|
|
|
|
|
using Main;
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using YooAsset;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Stary.Evo
|
|
|
|
|
|
{
|
2025-09-02 14:15:18 +08:00
|
|
|
|
public class LoadResMainState : AbstractFSMIStateAsync
|
2025-07-02 10:05:26 +08:00
|
|
|
|
{
|
|
|
|
|
|
private string _doMain = "Main";
|
|
|
|
|
|
|
2025-09-02 14:15:18 +08:00
|
|
|
|
public LoadResMainState(IFsmSystemAsync system) : base(system)
|
2025-07-02 10:05:26 +08:00
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|