using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using YooAsset;
using Cysharp.Threading.Tasks;
public class Boot : MonoBehaviour
{
///资源包
public static ResourcePackage package;
private async void Awake()
{
Application.targetFrameRate = 60;
if (await InitYooAsset() == EOperationStatus.Succeed)
{
gameObject.AddComponent();
}
}
///
/// 初始化YooAsset
///
///
public async UniTask 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;
}
///
/// 远端资源地址查询服务类
///
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}";
}
}
}