FSDownloadFileOperation.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. 
  2. namespace YooAsset
  3. {
  4. internal abstract class FSDownloadFileOperation : AsyncOperationBase
  5. {
  6. public PackageBundle Bundle { private set; get; }
  7. /// <summary>
  8. /// 引用计数
  9. /// </summary>
  10. public int RefCount { private set; get; }
  11. /// <summary>
  12. /// HTTP返回码
  13. /// </summary>
  14. public long HttpCode { protected set; get; }
  15. /// <summary>
  16. /// 当前下载的字节数
  17. /// </summary>
  18. public long DownloadedBytes { protected set; get; }
  19. /// <summary>
  20. /// 当前下载进度(0f - 1f)
  21. /// </summary>
  22. public float DownloadProgress { protected set; get; }
  23. public FSDownloadFileOperation(PackageBundle bundle)
  24. {
  25. Bundle = bundle;
  26. RefCount = 0;
  27. HttpCode = 0;
  28. DownloadedBytes = 0;
  29. DownloadProgress = 0;
  30. }
  31. internal override string InternalGetDesc()
  32. {
  33. return $"RefCount : {RefCount}";
  34. }
  35. /// <summary>
  36. /// 减少引用计数
  37. /// </summary>
  38. public virtual void Release()
  39. {
  40. RefCount--;
  41. }
  42. /// <summary>
  43. /// 增加引用计数
  44. /// </summary>
  45. public virtual void Reference()
  46. {
  47. RefCount++;
  48. }
  49. }
  50. }