ProcedureVerifyResources.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using GameFramework.Event;
  2. using UnityGameFramework.Runtime;
  3. using ProcedureOwner = GameFramework.Fsm.IFsm<GameFramework.Procedure.IProcedureManager>;
  4. namespace GFMain
  5. {
  6. public class ProcedureVerifyResources : ProcedureBase
  7. {
  8. private bool m_VerifyResourcesComplete = false;
  9. public override bool UseNativeDialog
  10. {
  11. get
  12. {
  13. return true;
  14. }
  15. }
  16. protected override void OnEnter(ProcedureOwner procedureOwner)
  17. {
  18. base.OnEnter(procedureOwner);
  19. MainEntry.Event.Subscribe(ResourceVerifyStartEventArgs.EventId, OnResourceVerifyStart);
  20. MainEntry.Event.Subscribe(ResourceVerifySuccessEventArgs.EventId, OnResourceVerifySuccess);
  21. MainEntry.Event.Subscribe(ResourceVerifyFailureEventArgs.EventId, OnResourceVerifyFailure);
  22. m_VerifyResourcesComplete = false;
  23. MainEntry.Resource.VerifyResources(OnVerifyResourcesComplete);
  24. }
  25. protected override void OnLeave(ProcedureOwner procedureOwner, bool isShutdown)
  26. {
  27. base.OnLeave(procedureOwner, isShutdown);
  28. MainEntry.Event.Unsubscribe(ResourceVerifyStartEventArgs.EventId, OnResourceVerifyStart);
  29. MainEntry.Event.Unsubscribe(ResourceVerifySuccessEventArgs.EventId, OnResourceVerifySuccess);
  30. MainEntry.Event.Unsubscribe(ResourceVerifyFailureEventArgs.EventId, OnResourceVerifyFailure);
  31. }
  32. protected override void OnUpdate(ProcedureOwner procedureOwner, float elapseSeconds, float realElapseSeconds)
  33. {
  34. base.OnUpdate(procedureOwner, elapseSeconds, realElapseSeconds);
  35. if (!m_VerifyResourcesComplete)
  36. {
  37. return;
  38. }
  39. ChangeState<ProcedureCheckResources>(procedureOwner);
  40. }
  41. private void OnVerifyResourcesComplete(bool result)
  42. {
  43. m_VerifyResourcesComplete = true;
  44. Log.Info("Verify resources complete, result is '{0}'.", result);
  45. }
  46. private void OnResourceVerifyStart(object sender, GameEventArgs e)
  47. {
  48. ResourceVerifyStartEventArgs ne = (ResourceVerifyStartEventArgs)e;
  49. Log.Info("Start verify resources, verify resource count '{0}', verify resource total length '{1}'.", ne.Count, ne.TotalLength);
  50. }
  51. private void OnResourceVerifySuccess(object sender, GameEventArgs e)
  52. {
  53. ResourceVerifySuccessEventArgs ne = (ResourceVerifySuccessEventArgs)e;
  54. Log.Info("Verify resource '{0}' success.", ne.Name);
  55. }
  56. private void OnResourceVerifyFailure(object sender, GameEventArgs e)
  57. {
  58. ResourceVerifyFailureEventArgs ne = (ResourceVerifyFailureEventArgs)e;
  59. Log.Warning("Verify resource '{0}' failure.", ne.Name);
  60. }
  61. }
  62. }