Update samples

This commit is contained in:
hevinci
2022-10-08 12:10:34 +08:00
parent 38c0ca0ce1
commit 852d031254
27 changed files with 1941 additions and 773 deletions
@@ -2,13 +2,14 @@
using System.Collections;
using UnityEngine;
using YooAsset;
using Better.StreamingAssets;
public class BootScene : MonoBehaviour
{
public static BootScene Instance { private set; get; }
public static YooAssets.EPlayMode GamePlayMode;
public static EPlayMode GamePlayMode;
public YooAssets.EPlayMode PlayMode = YooAssets.EPlayMode.EditorSimulateMode;
public EPlayMode PlayMode = EPlayMode.EditorSimulateMode;
void Awake()
{
@@ -36,36 +37,37 @@ public class BootScene : MonoBehaviour
GamePlayMode = PlayMode;
Debug.Log($"资源系统运行模式:{PlayMode}");
// 初始化BetterStreaming
BetterStreamingAssets.Initialize();
// 初始化资源系统
YooAssets.Initialize();
// 编辑器下的模拟模式
if (PlayMode == YooAssets.EPlayMode.EditorSimulateMode)
if (PlayMode == EPlayMode.EditorSimulateMode)
{
var createParameters = new YooAssets.EditorSimulateModeParameters();
var createParameters = new EditorSimulateModeParameters();
createParameters.LocationServices = new AddressLocationServices();
createParameters.BuildinPackageName = "DefaultPackage";
//createParameters.SimulatePatchManifestPath = GetPatchManifestPath();
createParameters.SimulatePatchManifestPath = EditorSimulateModeHelper.SimulateBuild("DefaultPackage", true);
yield return YooAssets.InitializeAsync(createParameters);
}
// 单机运行模式
if (PlayMode == YooAssets.EPlayMode.OfflinePlayMode)
if (PlayMode == EPlayMode.OfflinePlayMode)
{
var createParameters = new YooAssets.OfflinePlayModeParameters();
var createParameters = new OfflinePlayModeParameters();
createParameters.LocationServices = new AddressLocationServices();
createParameters.BuildinPackageName = "DefaultPackage";
yield return YooAssets.InitializeAsync(createParameters);
}
// 联机运行模式
if (PlayMode == YooAssets.EPlayMode.HostPlayMode)
if (PlayMode == EPlayMode.HostPlayMode)
{
var createParameters = new YooAssets.HostPlayModeParameters();
var createParameters = new HostPlayModeParameters();
createParameters.LocationServices = new AddressLocationServices();
createParameters.BuildinPackageName = "DefaultPackage";
createParameters.DecryptionServices = null;
createParameters.ClearCacheWhenDirty = false;
createParameters.QueryServices = new QueryStreamingAssetsFileServices();
createParameters.DefaultHostServer = GetHostServerURL();
createParameters.FallbackHostServer = GetHostServerURL();
createParameters.VerifyLevel = EVerifyLevel.High;
yield return YooAssets.InitializeAsync(createParameters);
}
@@ -73,11 +75,6 @@ public class BootScene : MonoBehaviour
PatchUpdater.Run();
}
private string GetPatchManifestPath()
{
string directory = System.IO.Path.GetDirectoryName(Application.dataPath);
return $"{directory}/Bundles/StandaloneWindows64/UnityManifest_SimulateBuild/PatchManifest_100.bytes";
}
private string GetHostServerURL()
{
//string hostServerIP = "http://10.0.2.2"; //安卓模拟器地址
@@ -104,4 +101,11 @@ public class BootScene : MonoBehaviour
return $"{hostServerIP}/CDN/PC/{gameVersion}";
#endif
}
private class QueryStreamingAssetsFileServices : IQueryServices
{
public bool QueryStreamingAssets(string fileName)
{
return BetterStreamingAssets.FileExists($"YooAssets/{fileName}");
}
}
}
@@ -46,11 +46,11 @@ public class GameScene1 : MonoBehaviour
void InitWindow()
{
var playMode = CanvasRoot.transform.Find("play_mode/label").GetComponent<Text>();
if (BootScene.GamePlayMode == YooAssets.EPlayMode.EditorSimulateMode)
if (BootScene.GamePlayMode == EPlayMode.EditorSimulateMode)
playMode.text = "编辑器下模拟模式";
else if (BootScene.GamePlayMode == YooAssets.EPlayMode.OfflinePlayMode)
else if (BootScene.GamePlayMode == EPlayMode.OfflinePlayMode)
playMode.text = "离线运行模式";
else if (BootScene.GamePlayMode == YooAssets.EPlayMode.HostPlayMode)
else if (BootScene.GamePlayMode == EPlayMode.HostPlayMode)
playMode.text = "网络运行模式";
else
throw new NotImplementedException();
@@ -24,7 +24,7 @@ public class FsmUpdateManifest : IFsmNode
yield return new WaitForSecondsRealtime(0.5f);
// 更新补丁清单
var operation = YooAssets.UpdateManifestAsync("DefaultPackage", PatchUpdater.PackageCRC, 30);
var operation = YooAssets.UpdateManifestAsync(PatchUpdater.PackageCRC, 30);
yield return operation;
if(operation.Status == EOperationStatus.Succeed)
@@ -24,7 +24,7 @@ internal class FsmUpdateStaticVersion : IFsmNode
yield return new WaitForSecondsRealtime(0.5f);
// 更新资源版本号
var operation = YooAssets.UpdateStaticVersionAsync("DefaultPackage", 30);
var operation = YooAssets.UpdateStaticVersionAsync(30);
yield return operation;
if (operation.Status == EOperationStatus.Succeed)