88 lines
2.9 KiB
C#
88 lines
2.9 KiB
C#
|
|
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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|