12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- using UnityGameFramework.Runtime;
- using ProcedureOwner = GameFramework.Fsm.IFsm<GameFramework.Procedure.IProcedureManager>;
- namespace MetaClient
- {
- public class ProcedureCheckResources : ProcedureBase
- {
- private bool m_CheckResourcesComplete = false;
- private bool m_NeedUpdateResources = false;
- private int m_UpdateResourceCount = 0;
- private long m_UpdateResourceTotalCompressedLength = 0L;
- public override bool UseNativeDialog
- {
- get
- {
- return true;
- }
- }
- protected override void OnEnter(ProcedureOwner procedureOwner)
- {
- base.OnEnter(procedureOwner);
- m_CheckResourcesComplete = false;
- m_NeedUpdateResources = false;
- m_UpdateResourceCount = 0;
- m_UpdateResourceTotalCompressedLength = 0L;
- GameEntry.Resource.CheckResources(OnCheckResourcesComplete);
- }
- protected override void OnUpdate(ProcedureOwner procedureOwner, float elapseSeconds, float realElapseSeconds)
- {
- base.OnUpdate(procedureOwner, elapseSeconds, realElapseSeconds);
- if (!m_CheckResourcesComplete)
- {
- return;
- }
- if (m_NeedUpdateResources)
- {
- procedureOwner.SetData<VarInt32>("UpdateResourceCount", m_UpdateResourceCount);
- procedureOwner.SetData<VarInt64>("UpdateResourceTotalCompressedLength", m_UpdateResourceTotalCompressedLength);
- ChangeState<ProcedureUpdateResources>(procedureOwner);
- }
- else
- {
- ChangeState<ProcedurePreload>(procedureOwner);
- }
- }
- private void OnCheckResourcesComplete(int movedCount, int removedCount, int updateCount, long updateTotalLength, long updateTotalCompressedLength)
- {
- m_CheckResourcesComplete = true;
- m_NeedUpdateResources = updateCount > 0;
- m_UpdateResourceCount = updateCount;
- m_UpdateResourceTotalCompressedLength = updateTotalCompressedLength;
- Log.Info("Check resources complete, '{0}' resources need to update, compressed length is '{1}', uncompressed length is '{2}'.", updateCount.ToString(), updateTotalCompressedLength.ToString(), updateTotalLength.ToString());
- }
- }
- }
|