mirror of https://github.com/tuyoogame/YooAsset
58 lines
1.8 KiB
C#
58 lines
1.8 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Collections;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using UnityEngine.U2D;
|
|
using UnityEngine.SceneManagement;
|
|
using UnityEngine.TestTools;
|
|
using NUnit.Framework;
|
|
using YooAsset;
|
|
|
|
public class TestLoadScene
|
|
{
|
|
public IEnumerator RuntimeTester()
|
|
{
|
|
ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.TestPackageName);
|
|
Assert.IsNotNull(package);
|
|
|
|
// 异步加载主场景
|
|
{
|
|
var sceneHandle = package.LoadSceneAsync("scene_a", LoadSceneMode.Single);
|
|
yield return sceneHandle;
|
|
Assert.AreEqual(EOperationStatus.Succeed, sceneHandle.Status);
|
|
|
|
var scene = sceneHandle.SceneObject;
|
|
Assert.IsNotNull(scene);
|
|
}
|
|
|
|
// 异步加载附加场景
|
|
yield return new WaitForSeconds(1f);
|
|
{
|
|
var sceneHandle = package.LoadSceneAsync("scene_b", LoadSceneMode.Additive);
|
|
yield return sceneHandle;
|
|
Assert.AreEqual(EOperationStatus.Succeed, sceneHandle.Status);
|
|
|
|
var scene = sceneHandle.SceneObject;
|
|
Assert.IsNotNull(scene);
|
|
}
|
|
|
|
// 异步加载附加场景
|
|
yield return new WaitForSeconds(1f);
|
|
{
|
|
var sceneHandle = package.LoadSceneSync("scene_c", LoadSceneMode.Additive);
|
|
yield return sceneHandle;
|
|
Assert.AreEqual(EOperationStatus.Succeed, sceneHandle.Status);
|
|
|
|
var scene = sceneHandle.SceneObject;
|
|
Assert.IsNotNull(scene);
|
|
|
|
// 异步销毁附加场景
|
|
yield return new WaitForSeconds(1f);
|
|
var unloadSceneOp = sceneHandle.UnloadAsync();
|
|
yield return unloadSceneOp;
|
|
Assert.AreEqual(EOperationStatus.Succeed, unloadSceneOp.Status);
|
|
}
|
|
}
|
|
} |