Boot.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. Application.targetFrameRate = 60;
  15. if (await InitYooAsset() == EOperationStatus.Succeed)
  16. {
  17. gameObject.AddComponent<GameManager>();
  18. }
  19. }
  20. /// <summary>
  21. /// 場宎趙YooAsset
  22. /// </summary>
  23. /// <returns></returns>
  24. public async UniTask<EOperationStatus> InitYooAsset()
  25. {
  26. YooAssets.Initialize();
  27. var package = YooAssets.CreatePackage("DefaultPackage");
  28. YooAssets.SetDefaultPackage(package);
  29. InitializationOperation operation = null;
  30. #if UNITY_EDITOR
  31. var initParameters = new EditorSimulateModeParameters();
  32. var simulateManifestFilePath = EditorSimulateModeHelper.SimulateBuild(EDefaultBuildPipeline.BuiltinBuildPipeline, "DefaultPackage");
  33. initParameters.SimulateManifestFilePath = simulateManifestFilePath;
  34. operation = package.InitializeAsync(initParameters);
  35. await operation.Task;
  36. #else
  37. var initParameters = new OfflinePlayModeParameters();
  38. operation = package.InitializeAsync(initParameters);
  39. await operation.Task;
  40. #endif
  41. return operation.Status;
  42. }
  43. /// <summary>
  44. /// 堈傷訧埭華硊脤戙督昢濬
  45. /// </summary>
  46. private class RemoteServices : IRemoteServices
  47. {
  48. private readonly string _defaultHostServer;
  49. private readonly string _fallbackHostServer;
  50. public RemoteServices(string defaultHostServer, string fallbackHostServer)
  51. {
  52. _defaultHostServer = defaultHostServer;
  53. _fallbackHostServer = fallbackHostServer;
  54. }
  55. string IRemoteServices.GetRemoteMainURL(string fileName)
  56. {
  57. return $"{_defaultHostServer}/{fileName}";
  58. }
  59. string IRemoteServices.GetRemoteFallbackURL(string fileName)
  60. {
  61. return $"{_fallbackHostServer}/{fileName}";
  62. }
  63. }
  64. }