DWRFSRequestPackageVersionOperation.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. 
  2. namespace YooAsset
  3. {
  4. internal class DWRFSRequestPackageVersionOperation : FSRequestPackageVersionOperation
  5. {
  6. private enum ESteps
  7. {
  8. None,
  9. RequestPackageVersion,
  10. Done,
  11. }
  12. private readonly DefaultWebRemoteFileSystem _fileSystem;
  13. private readonly bool _appendTimeTicks;
  14. private readonly int _timeout;
  15. private RequestWebRemotePackageVersionOperation _requestWebPackageVersionOp;
  16. private ESteps _steps = ESteps.None;
  17. internal DWRFSRequestPackageVersionOperation(DefaultWebRemoteFileSystem fileSystem, bool appendTimeTicks, int timeout)
  18. {
  19. _fileSystem = fileSystem;
  20. _appendTimeTicks = appendTimeTicks;
  21. _timeout = timeout;
  22. }
  23. internal override void InternalStart()
  24. {
  25. _steps = ESteps.RequestPackageVersion;
  26. }
  27. internal override void InternalUpdate()
  28. {
  29. if (_steps == ESteps.None || _steps == ESteps.Done)
  30. return;
  31. if (_steps == ESteps.RequestPackageVersion)
  32. {
  33. if (_requestWebPackageVersionOp == null)
  34. {
  35. _requestWebPackageVersionOp = new RequestWebRemotePackageVersionOperation(_fileSystem, _appendTimeTicks, _timeout);
  36. _requestWebPackageVersionOp.StartOperation();
  37. AddChildOperation(_requestWebPackageVersionOp);
  38. }
  39. _requestWebPackageVersionOp.UpdateOperation();
  40. Progress = _requestWebPackageVersionOp.Progress;
  41. if (_requestWebPackageVersionOp.IsDone == false)
  42. return;
  43. if (_requestWebPackageVersionOp.Status == EOperationStatus.Succeed)
  44. {
  45. _steps = ESteps.Done;
  46. PackageVersion = _requestWebPackageVersionOp.PackageVersion;
  47. Status = EOperationStatus.Succeed;
  48. }
  49. else
  50. {
  51. _steps = ESteps.Done;
  52. Status = EOperationStatus.Failed;
  53. Error = _requestWebPackageVersionOp.Error;
  54. }
  55. }
  56. }
  57. }
  58. }