LocalBundle.cs 968 B

123456789101112131415161718192021222324252627282930313233343536
  1. using UnityEngine;
  2. namespace VEngine
  3. {
  4. internal class LocalBundle : Bundle
  5. {
  6. private AssetBundleCreateRequest request;
  7. protected override void OnLoad()
  8. {
  9. if(EncryptHelper.resKeyChars == null)
  10. {
  11. request = AssetBundle.LoadFromFileAsync(pathOrURL);
  12. }
  13. else
  14. {
  15. var encrpytData = EncryptHelper.GetDecryptData(pathOrURL, EncryptHelper.resKeyChars);
  16. request = AssetBundle.LoadFromMemoryAsync(encrpytData);
  17. }
  18. }
  19. public override void LoadImmediate()
  20. {
  21. if (isDone) return;
  22. OnLoaded(request.assetBundle);
  23. request = null;
  24. }
  25. protected override void OnUpdate()
  26. {
  27. if (status != LoadableStatus.Loading) return;
  28. progress = request.progress;
  29. if (request.isDone) OnLoaded(request.assetBundle);
  30. }
  31. }
  32. }