VirtualBundleResult.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using UnityEngine.SceneManagement;
  2. namespace YooAsset
  3. {
  4. internal class VirtualBundleResult : BundleResult
  5. {
  6. private readonly IFileSystem _fileSystem;
  7. private readonly PackageBundle _packageBundle;
  8. public VirtualBundleResult(IFileSystem fileSystem, PackageBundle bundle)
  9. {
  10. _fileSystem = fileSystem;
  11. _packageBundle = bundle;
  12. }
  13. public override void UnloadBundleFile()
  14. {
  15. }
  16. public override string GetBundleFilePath()
  17. {
  18. return _fileSystem.GetBundleFilePath(_packageBundle);
  19. }
  20. public override byte[] ReadBundleFileData()
  21. {
  22. return _fileSystem.ReadBundleFileData(_packageBundle);
  23. }
  24. public override string ReadBundleFileText()
  25. {
  26. return _fileSystem.ReadBundleFileText(_packageBundle);
  27. }
  28. public override FSLoadAssetOperation LoadAssetAsync(AssetInfo assetInfo)
  29. {
  30. var operation = new VirtualBundleLoadAssetOperation(_packageBundle, assetInfo);
  31. return operation;
  32. }
  33. public override FSLoadAllAssetsOperation LoadAllAssetsAsync(AssetInfo assetInfo)
  34. {
  35. var operation = new VirtualBundleLoadAllAssetsOperation(_packageBundle, assetInfo);
  36. return operation;
  37. }
  38. public override FSLoadSubAssetsOperation LoadSubAssetsAsync(AssetInfo assetInfo)
  39. {
  40. var operation = new VirtualBundleLoadSubAssetsOperation(_packageBundle, assetInfo);
  41. return operation;
  42. }
  43. public override FSLoadSceneOperation LoadSceneOperation(AssetInfo assetInfo, LoadSceneParameters loadParams, bool suspendLoad)
  44. {
  45. var operation = new VirtualBundleLoadSceneOperation(assetInfo, loadParams, suspendLoad);
  46. return operation;
  47. }
  48. }
  49. }