using System; using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; using YooAsset; using Cysharp.Threading.Tasks; public class Boot : MonoBehaviour { ///<summary>��Դ��</summary> public static ResourcePackage package; private async void Awake() { Application.targetFrameRate = 60; if (await InitYooAsset() == EOperationStatus.Succeed) { gameObject.AddComponent<GameManager>(); } } /// <summary> /// ��ʼ��YooAsset /// </summary> /// <returns></returns> public async UniTask<EOperationStatus> InitYooAsset() { YooAssets.Initialize(); var package = YooAssets.CreatePackage("DefaultPackage"); YooAssets.SetDefaultPackage(package); InitializationOperation operation = null; #if UNITY_EDITOR var initParameters = new EditorSimulateModeParameters(); var simulateManifestFilePath = EditorSimulateModeHelper.SimulateBuild(EDefaultBuildPipeline.BuiltinBuildPipeline, "DefaultPackage"); initParameters.SimulateManifestFilePath = simulateManifestFilePath; operation = package.InitializeAsync(initParameters); await operation.Task; #else var initParameters = new OfflinePlayModeParameters(); operation = package.InitializeAsync(initParameters); await operation.Task; #endif return operation.Status; } /// <summary> /// Զ����Դ��ַ��ѯ������ /// </summary> private class RemoteServices : IRemoteServices { private readonly string _defaultHostServer; private readonly string _fallbackHostServer; public RemoteServices(string defaultHostServer, string fallbackHostServer) { _defaultHostServer = defaultHostServer; _fallbackHostServer = fallbackHostServer; } string IRemoteServices.GetRemoteMainURL(string fileName) { return $"{_defaultHostServer}/{fileName}"; } string IRemoteServices.GetRemoteFallbackURL(string fileName) { return $"{_fallbackHostServer}/{fileName}"; } } }