UpdateVersions.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. namespace VEngine
  2. {
  3. public sealed class UpdateVersions : Operation
  4. {
  5. public ManifestAsset asset;
  6. public string file;
  7. public string version { get; private set; }
  8. public bool changed { get; private set; }
  9. public override void Start()
  10. {
  11. base.Start();
  12. if (Versions.OfflineMode)
  13. {
  14. Finish();
  15. return;
  16. }
  17. asset = ManifestAsset.LoadAsync(file);
  18. }
  19. public void Override()
  20. {
  21. if (Versions.OfflineMode) return;
  22. asset.Override();
  23. }
  24. public void Dispose()
  25. {
  26. if (asset == null) return;
  27. if (asset.status != LoadableStatus.Unloaded) asset.Release();
  28. }
  29. protected override void Update()
  30. {
  31. if (status == OperationStatus.Processing)
  32. {
  33. if (!asset.isDone) return;
  34. version = asset.assetVersion.version.ToString();
  35. changed = asset.changed;
  36. Finish(asset.error);
  37. }
  38. }
  39. }
  40. }