Boot.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using UnityEngine;
  6. using YooAsset;
  7. using Cysharp.Threading.Tasks;
  8. public class Boot : MonoBehaviour
  9. {
  10. ///<summary>訧埭婦</summary>
  11. public static ResourcePackage package;
  12. private async void Awake()
  13. {
  14. if (await InitYooAsset() == EOperationStatus.Succeed)
  15. {
  16. gameObject.AddComponent<GameManager>();
  17. }
  18. }
  19. /// <summary>
  20. /// 場宎趙YooAsset
  21. /// </summary>
  22. /// <returns></returns>
  23. public async UniTask<EOperationStatus> InitYooAsset()
  24. {
  25. YooAssets.Initialize();
  26. var package = YooAssets.CreatePackage("DefaultPackage");
  27. YooAssets.SetDefaultPackage(package);
  28. InitializationOperation operation = null;
  29. #if UNITY_EDITOR
  30. var initParameters = new EditorSimulateModeParameters();
  31. var simulateManifestFilePath = EditorSimulateModeHelper.SimulateBuild(EDefaultBuildPipeline.BuiltinBuildPipeline, "DefaultPackage");
  32. initParameters.SimulateManifestFilePath = simulateManifestFilePath;
  33. operation = package.InitializeAsync(initParameters);
  34. await operation.Task;
  35. #else
  36. var initParameters = new OfflinePlayModeParameters();
  37. operation = package.InitializeAsync(initParameters);
  38. await operation.Task;
  39. #endif
  40. return operation.Status;
  41. }
  42. /// <summary>
  43. /// 堈傷訧埭華硊脤戙督昢濬
  44. /// </summary>
  45. private class RemoteServices : IRemoteServices
  46. {
  47. private readonly string _defaultHostServer;
  48. private readonly string _fallbackHostServer;
  49. public RemoteServices(string defaultHostServer, string fallbackHostServer)
  50. {
  51. _defaultHostServer = defaultHostServer;
  52. _fallbackHostServer = fallbackHostServer;
  53. }
  54. string IRemoteServices.GetRemoteMainURL(string fileName)
  55. {
  56. return $"{_defaultHostServer}/{fileName}";
  57. }
  58. string IRemoteServices.GetRemoteFallbackURL(string fileName)
  59. {
  60. return $"{_fallbackHostServer}/{fileName}";
  61. }
  62. }
  63. }