Files
vampire-like/Assets/GameMain/Scripts/Procedure/Base/ProcedureUpdateVersion.cs
T
SepComet edd7088804 规范命名空间
具体来说就是 SepCore 开头,然后接所属的模块名,比如 SepCore.Entity,SepCore.Simulation,SepCore.Procedure
2026-06-03 16:57:40 +08:00

71 lines
2.6 KiB
C#

//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
// Homepage: https://gameframework.cn/
// Feedback: mailto:ellan@gameframework.cn
//------------------------------------------------------------
using GameFramework.Resource;
using UnityGameFramework.Runtime;
using ProcedureOwner = GameFramework.Fsm.IFsm<GameFramework.Procedure.IProcedureManager>;
namespace SepCore.Procedure
{
public class ProcedureUpdateVersion : ProcedureBase
{
private bool m_UpdateVersionComplete = false;
private UpdateVersionListCallbacks m_UpdateVersionListCallbacks = null;
public override bool UseNativeDialog
{
get
{
return true;
}
}
protected override void OnInit(ProcedureOwner procedureOwner)
{
base.OnInit(procedureOwner);
m_UpdateVersionListCallbacks = new UpdateVersionListCallbacks(OnUpdateVersionListSuccess, OnUpdateVersionListFailure);
}
protected override void OnEnter(ProcedureOwner procedureOwner)
{
base.OnEnter(procedureOwner);
m_UpdateVersionComplete = false;
GameEntry.Resource.UpdateVersionList(procedureOwner.GetData<VarInt32>("VersionListLength"), procedureOwner.GetData<VarInt32>("VersionListHashCode"), procedureOwner.GetData<VarInt32>("VersionListCompressedLength"), procedureOwner.GetData<VarInt32>("VersionListCompressedHashCode"), m_UpdateVersionListCallbacks);
procedureOwner.RemoveData("VersionListLength");
procedureOwner.RemoveData("VersionListHashCode");
procedureOwner.RemoveData("VersionListCompressedLength");
procedureOwner.RemoveData("VersionListCompressedHashCode");
}
protected override void OnUpdate(ProcedureOwner procedureOwner, float elapseSeconds, float realElapseSeconds)
{
base.OnUpdate(procedureOwner, elapseSeconds, realElapseSeconds);
if (!m_UpdateVersionComplete)
{
return;
}
ChangeState<ProcedureVerifyResources>(procedureOwner);
}
private void OnUpdateVersionListSuccess(string downloadPath, string downloadUri)
{
m_UpdateVersionComplete = true;
Log.Info("Update version list from '{0}' success.", downloadUri);
}
private void OnUpdateVersionListFailure(string downloadUri, string errorMessage)
{
Log.Warning("Update version list from '{0}' failure, error message is '{1}'.", downloadUri, errorMessage);
}
}
}