update test sample

pull/497/head
何冠峰 2025-03-06 10:55:54 +08:00
parent 408f0942ee
commit 62fdc93a82
40 changed files with 432 additions and 256 deletions

View File

@ -1,28 +0,0 @@
using System;
using System.IO;
using System.Text;
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.U2D;
using UnityEngine.TestTools;
using NUnit.Framework;
using YooAsset;
public class AssetBundleCollectorPreapre : IPrebuildSetup, IPostBuildCleanup
{
void IPrebuildSetup.Setup()
{
AssetBundleCollectorMaker.MakeCollectorSettingData();
}
void IPostBuildCleanup.Cleanup()
{
}
[Test]
public void InitializeYooAssets()
{
// 初始化YooAsset
YooAssets.Initialize();
}
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 4fe5a148d03f71e49bd1ce0b9faf81a3
guid: 1b6c0cef725372943a5938f3fa73743b
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,7 +1,17 @@

public static class AssetBundleCollectorMaker
using System;
using System.IO;
using System.Text;
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.U2D;
using UnityEngine.TestTools;
using NUnit.Framework;
using YooAsset;
public class T0_InitYooAssets : IPrebuildSetup, IPostBuildCleanup
{
public static void MakeCollectorSettingData()
void IPrebuildSetup.Setup()
{
#if UNITY_EDITOR
// 清空旧数据
@ -15,12 +25,15 @@ public static class AssetBundleCollectorMaker
YooAsset.Editor.AssetBundleCollectorSettingData.FixFile();
#endif
}
void IPostBuildCleanup.Cleanup()
{
}
#if UNITY_EDITOR
private static void CreateAssetBundlePackageCollector()
{
// 创建AssetBundlePackage
var testPackage = YooAsset.Editor.AssetBundleCollectorSettingData.CreatePackage(AssetBundleCollectorDefine.AssetBundlePackageName);
var testPackage = YooAsset.Editor.AssetBundleCollectorSettingData.CreatePackage(TestDefine.AssetBundlePackageName);
testPackage.EnableAddressable = true;
testPackage.AutoCollectShaders = true;
testPackage.IgnoreRuleName = "NormalIgnoreRule";
@ -108,11 +121,50 @@ public static class AssetBundleCollectorMaker
collector1.PackRuleName = nameof(YooAsset.Editor.PackSeparately);
YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(scriptableObjectGroup, collector1);
}
// 引用测试文件
var referenceGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "ReferenceGroup");
{
var collector1 = new YooAsset.Editor.AssetBundleCollector();
collector1.CollectPath = "";
collector1.CollectorGUID = "26b9f7e0454f2bc4a84b44a018075d8f"; //TestRes2/PanelA目录
collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector;
collector1.PackRuleName = nameof(YooAsset.Editor.PackDirectory);
YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(referenceGroup, collector1);
var collector2 = new YooAsset.Editor.AssetBundleCollector();
collector2.CollectPath = "";
collector2.CollectorGUID = "b5cace4be4d008e408c0738f157708a0"; //TestRes2/PanelB目录
collector2.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector;
collector2.PackRuleName = nameof(YooAsset.Editor.PackDirectory);
YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(referenceGroup, collector2);
var collector3 = new YooAsset.Editor.AssetBundleCollector();
collector3.CollectPath = "";
collector3.CollectorGUID = "aa7f70ef09d60844ba62f85ff2414a9c"; //TestRes2/PanelAImage目录
collector3.CollectorType = YooAsset.Editor.ECollectorType.DependAssetCollector;
collector3.PackRuleName = nameof(YooAsset.Editor.PackDirectory);
YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(referenceGroup, collector3);
var collector4 = new YooAsset.Editor.AssetBundleCollector();
collector4.CollectPath = "";
collector4.CollectorGUID = "96d800f068cc69c4dbd20ffdcec40920"; //TestRes2/PanelBImage目录
collector4.CollectorType = YooAsset.Editor.ECollectorType.DependAssetCollector;
collector4.PackRuleName = nameof(YooAsset.Editor.PackDirectory);
YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(referenceGroup, collector4);
var collector5 = new YooAsset.Editor.AssetBundleCollector();
collector5.CollectPath = "";
collector5.CollectorGUID = "4264f3aa222d7f548a028d6c3411b1b0"; //TestRes2/PanelMat目录
collector5.CollectorType = YooAsset.Editor.ECollectorType.DependAssetCollector;
collector5.PackRuleName = nameof(YooAsset.Editor.PackDirectory);
YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(referenceGroup, collector5);
}
}
private static void CreateRawBundlePackageCollector()
{
// 创建RawBundlePackage
var rawPackage = YooAsset.Editor.AssetBundleCollectorSettingData.CreatePackage(AssetBundleCollectorDefine.RawBundlePackageName);
var rawPackage = YooAsset.Editor.AssetBundleCollectorSettingData.CreatePackage(TestDefine.RawBundlePackageName);
rawPackage.EnableAddressable = true;
rawPackage.AutoCollectShaders = true;
rawPackage.IgnoreRuleName = "RawFileIgnoreRule";
@ -140,4 +192,11 @@ public static class AssetBundleCollectorMaker
}
}
#endif
[Test]
public void InitializeYooAssets()
{
// 初始化YooAsset
YooAssets.Initialize();
}
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 07f7c95e8e42fd04f81b9925b2dcf0d0
guid: e2d300bf1a8f8194f9748f4aaebf6e03
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -19,7 +19,7 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
#if UNITY_EDITOR
// 构建资源包
{
var simulateParams = new PackageInvokeBuildParam(AssetBundleCollectorDefine.AssetBundlePackageName);
var simulateParams = new PackageInvokeBuildParam(TestDefine.AssetBundlePackageName);
simulateParams.BuildPipelineName = "EditorSimulateBuildPipeline";
simulateParams.InvokeAssmeblyName = "YooAsset.Test.Editor";
simulateParams.InvokeClassFullName = "TestPackageBuilder";
@ -30,7 +30,7 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
// 构建资源包
{
var simulateParams = new PackageInvokeBuildParam(AssetBundleCollectorDefine.RawBundlePackageName);
var simulateParams = new PackageInvokeBuildParam(TestDefine.RawBundlePackageName);
simulateParams.BuildPipelineName = "EditorSimulateBuildPipeline";
simulateParams.InvokeAssmeblyName = "YooAsset.Test.Editor";
simulateParams.InvokeClassFullName = "TestPackageBuilder";
@ -56,7 +56,7 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
if (Directory.Exists(packageRoot) == false)
throw new Exception($"Not found package root : {packageRoot}");
var package = YooAssets.CreatePackage(AssetBundleCollectorDefine.AssetBundlePackageName);
var package = YooAssets.CreatePackage(TestDefine.AssetBundlePackageName);
// 初始化资源包
var initParams = new EditorSimulateModeParameters();
@ -91,7 +91,7 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
if (Directory.Exists(packageRoot) == false)
throw new Exception($"Not found package root : {packageRoot}");
var package = YooAssets.CreatePackage(AssetBundleCollectorDefine.RawBundlePackageName);
var package = YooAssets.CreatePackage(TestDefine.RawBundlePackageName);
// 初始化资源包
var initParams = new EditorSimulateModeParameters();
@ -119,63 +119,63 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
}
[UnityTest]
public IEnumerator B_TestLoadAsyncTask()
public IEnumerator B1_TestLoadAsyncTask()
{
var tester = new TestLoadPanel();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadAudio()
public IEnumerator B2_TestLoadAudio()
{
var tester = new TestLoadAudio();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadImage()
public IEnumerator B3_TestLoadImage()
{
var tester = new TestLoadImage();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadPrefab()
public IEnumerator B4_TestLoadPrefab()
{
var tester = new TestLoadPrefab();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadScene()
{
var tester = new TestLoadScene();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadScriptableObject()
{
var tester = new TestLoadScriptableObject();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadSpriteAtlas()
public IEnumerator B5_TestLoadSpriteAtlas()
{
var tester = new TestLoadSpriteAtlas();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadRawFile()
public IEnumerator B6_TestLoadScriptableObject()
{
var tester = new TestLoadScriptableObject();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B7_TestLoadScene()
{
var tester = new TestLoadScene();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B8_TestLoadRawFile()
{
var tester = new TestLoadRawFile();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadVideo()
public IEnumerator B9_TestLoadVideo()
{
var tester = new TestLoadVideo();
yield return tester.RuntimeTester();
@ -186,27 +186,27 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
{
// 销毁旧资源包
{
var package = YooAssets.GetPackage(AssetBundleCollectorDefine.AssetBundlePackageName);
var package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName);
var destroyOp = package.DestroyAsync();
yield return destroyOp;
if (destroyOp.Status != EOperationStatus.Succeed)
Debug.LogError(destroyOp.Error);
Assert.AreEqual(EOperationStatus.Succeed, destroyOp.Status);
bool result = YooAssets.RemovePackage(AssetBundleCollectorDefine.AssetBundlePackageName);
bool result = YooAssets.RemovePackage(TestDefine.AssetBundlePackageName);
Assert.IsTrue(result);
}
// 销毁旧资源包
{
var package = YooAssets.GetPackage(AssetBundleCollectorDefine.RawBundlePackageName);
var package = YooAssets.GetPackage(TestDefine.RawBundlePackageName);
var destroyOp = package.DestroyAsync();
yield return destroyOp;
if (destroyOp.Status != EOperationStatus.Succeed)
Debug.LogError(destroyOp.Error);
Assert.AreEqual(EOperationStatus.Succeed, destroyOp.Status);
bool result = YooAssets.RemovePackage(AssetBundleCollectorDefine.RawBundlePackageName);
bool result = YooAssets.RemovePackage(TestDefine.RawBundlePackageName);
Assert.IsTrue(result);
}
}

View File

@ -19,7 +19,7 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup
#if UNITY_EDITOR
// 构建AssetBundlePackage
{
var buildParams = new PackageInvokeBuildParam(AssetBundleCollectorDefine.AssetBundlePackageName);
var buildParams = new PackageInvokeBuildParam(TestDefine.AssetBundlePackageName);
buildParams.BuildPipelineName = "ScriptableBuildPipeline";
buildParams.InvokeAssmeblyName = "YooAsset.Test.Editor";
buildParams.InvokeClassFullName = "TestPackageBuilder";
@ -30,7 +30,7 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup
// 构建RawBundlePackage
{
var buildParams = new PackageInvokeBuildParam(AssetBundleCollectorDefine.RawBundlePackageName);
var buildParams = new PackageInvokeBuildParam(TestDefine.RawBundlePackageName);
buildParams.BuildPipelineName = "RawFileBuildPipeline";
buildParams.InvokeAssmeblyName = "YooAsset.Test.Editor";
buildParams.InvokeClassFullName = "TestPackageBuilder";
@ -56,7 +56,7 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup
if (Directory.Exists(packageRoot) == false)
throw new Exception($"Not found package root : {packageRoot}");
var package = YooAssets.CreatePackage(AssetBundleCollectorDefine.AssetBundlePackageName);
var package = YooAssets.CreatePackage(TestDefine.AssetBundlePackageName);
// 初始化资源包
var initParams = new OfflinePlayModeParameters();
@ -91,7 +91,7 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup
if (Directory.Exists(packageRoot) == false)
throw new Exception($"Not found package root : {packageRoot}");
var package = YooAssets.CreatePackage(AssetBundleCollectorDefine.RawBundlePackageName);
var package = YooAssets.CreatePackage(TestDefine.RawBundlePackageName);
// 初始化资源包
var initParams = new OfflinePlayModeParameters();
@ -120,94 +120,101 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup
}
[UnityTest]
public IEnumerator B_TestLoadAsyncTask()
public IEnumerator B1_TestLoadAsyncTask()
{
var tester = new TestLoadPanel();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadAudio()
public IEnumerator B2_TestLoadAudio()
{
var tester = new TestLoadAudio();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadImage()
public IEnumerator B3_TestLoadImage()
{
var tester = new TestLoadImage();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadPrefab()
public IEnumerator B4_TestLoadPrefab()
{
var tester = new TestLoadPrefab();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadScene()
{
var tester = new TestLoadScene();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadScriptableObject()
{
var tester = new TestLoadScriptableObject();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadSpriteAtlas()
public IEnumerator B5_TestLoadSpriteAtlas()
{
var tester = new TestLoadSpriteAtlas();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadRawFile()
public IEnumerator B6_TestLoadScriptableObject()
{
var tester = new TestLoadScriptableObject();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B7_TestLoadScene()
{
var tester = new TestLoadScene();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B8_TestLoadRawFile()
{
var tester = new TestLoadRawFile();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator B_TestLoadVideo()
public IEnumerator B9_TestLoadVideo()
{
var tester = new TestLoadVideo();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator C_DestroyPackage()
public IEnumerator C_TestBundleReference()
{
var tester = new TestBundleReference();
yield return tester.RuntimeTester();
}
[UnityTest]
public IEnumerator D_DestroyPackage()
{
// 销毁旧资源包
{
var package = YooAssets.GetPackage(AssetBundleCollectorDefine.AssetBundlePackageName);
var package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName);
var destroyOp = package.DestroyAsync();
yield return destroyOp;
if (destroyOp.Status != EOperationStatus.Succeed)
Debug.LogError(destroyOp.Error);
Assert.AreEqual(EOperationStatus.Succeed, destroyOp.Status);
bool result = YooAssets.RemovePackage(AssetBundleCollectorDefine.AssetBundlePackageName);
bool result = YooAssets.RemovePackage(TestDefine.AssetBundlePackageName);
Assert.IsTrue(result);
}
// 销毁旧资源包
{
var package = YooAssets.GetPackage(AssetBundleCollectorDefine.RawBundlePackageName);
var package = YooAssets.GetPackage(TestDefine.RawBundlePackageName);
var destroyOp = package.DestroyAsync();
yield return destroyOp;
if (destroyOp.Status != EOperationStatus.Succeed)
Debug.LogError(destroyOp.Error);
Assert.AreEqual(EOperationStatus.Succeed, destroyOp.Status);
bool result = YooAssets.RemovePackage(AssetBundleCollectorDefine.RawBundlePackageName);
bool result = YooAssets.RemovePackage(TestDefine.RawBundlePackageName);
Assert.IsTrue(result);
}
}

View File

@ -0,0 +1,72 @@
using System;
using System.IO;
using System.Text;
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.U2D;
using UnityEngine.TestTools;
using NUnit.Framework;
using YooAsset;
public class TestBundleReference
{
public IEnumerator RuntimeTester()
{
ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName);
Assert.IsNotNull(package);
// 加载HeroA
{
var assetHandle = package.LoadAssetAsync<GameObject>("hero_a");
yield return assetHandle;
Assert.AreEqual(EOperationStatus.Succeed, assetHandle.Status);
var pos = new Vector3(-1, -1, 0);
var go = assetHandle.InstantiateSync(pos, Quaternion.identity);
Assert.IsNotNull(go);
}
// 加载HeroB
AssetHandle heroHandle;
GameObject heroObject;
{
heroHandle = package.LoadAssetAsync<GameObject>("hero_b");
yield return heroHandle;
Assert.AreEqual(EOperationStatus.Succeed, heroHandle.Status);
var pos = new Vector3(1, -1, 0);
heroObject = heroHandle.InstantiateSync(pos, Quaternion.identity);
Assert.IsNotNull(heroObject);
}
// 卸载HeroB
{
heroHandle.Release();
GameObject.Destroy(heroObject);
yield return new WaitForEndOfFrame();
}
// 清理未使用资源
{
var operation = package.UnloadUnusedAssetsAsync();
yield return operation;
Assert.AreEqual(EOperationStatus.Succeed, operation.Status);
}
// 再次加载HeroB
{
heroHandle = package.LoadAssetAsync<GameObject>("hero_b");
yield return heroHandle;
Assert.AreEqual(EOperationStatus.Succeed, heroHandle.Status);
var pos = new Vector3(1, -1, 0);
heroObject = heroHandle.InstantiateSync(pos, Quaternion.identity);
Assert.IsNotNull(heroObject);
// 检测材质球关联的纹理是否为空
var mat = heroObject.GetComponent<MeshRenderer>().material;
Assert.IsNotNull(mat.mainTexture);
}
}
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 88e4ec854876f3f40bce38bc880c0f6a
guid: 31ab830e018f9934f8b95ca1a63b3a03
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,5 +1,5 @@

public class AssetBundleCollectorDefine
public class TestDefine
{
public const string AssetBundlePackageName = "AssetBundlePackage";
public const string RawBundlePackageName = "RawBundlePackage";

View File

@ -13,7 +13,7 @@ public class TestLoadAudio
{
public IEnumerator RuntimeTester()
{
ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.AssetBundlePackageName);
ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName);
Assert.IsNotNull(package);
// 音乐异步加载

View File

@ -13,7 +13,7 @@ public class TestLoadImage
{
public IEnumerator RuntimeTester()
{
ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.AssetBundlePackageName);
ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName);
Assert.IsNotNull(package);
// 异步加载子对象

View File

@ -14,7 +14,7 @@ public class TestLoadPanel
{
public IEnumerator RuntimeTester()
{
ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.AssetBundlePackageName);
ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName);
Assert.IsNotNull(package);
// 异步加载面板

View File

@ -13,7 +13,7 @@ public class TestLoadPrefab
{
public IEnumerator RuntimeTester()
{
ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.AssetBundlePackageName);
ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName);
Assert.IsNotNull(package);
// 异步加载所有预制体

View File

@ -13,7 +13,7 @@ public class TestLoadRawFile
{
public IEnumerator RuntimeTester()
{
ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.RawBundlePackageName);
ResourcePackage package = YooAssets.GetPackage(TestDefine.RawBundlePackageName);
Assert.IsNotNull(package);
// 测试异步加载

View File

@ -14,7 +14,7 @@ public class TestLoadScene
{
public IEnumerator RuntimeTester()
{
ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.AssetBundlePackageName);
ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName);
Assert.IsNotNull(package);
// 异步加载主场景

View File

@ -13,7 +13,7 @@ public class TestLoadScriptableObject
{
public IEnumerator RuntimeTester()
{
ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.AssetBundlePackageName);
ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName);
Assert.IsNotNull(package);
// 异步加载序列化对象

View File

@ -13,7 +13,7 @@ public class TestLoadSpriteAtlas
{
public IEnumerator RuntimeTester()
{
ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.AssetBundlePackageName);
ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName);
Assert.IsNotNull(package);
var assetHandle = package.LoadAssetAsync<SpriteAtlas>("atlas_icon");

View File

@ -14,7 +14,7 @@ public class TestLoadVideo
{
public IEnumerator RuntimeTester()
{
ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.RawBundlePackageName);
ResourcePackage package = YooAssets.GetPackage(TestDefine.RawBundlePackageName);
Assert.IsNotNull(package);
var rawFileHandle = package.LoadRawFileAsync("video_logo");

View File

@ -0,0 +1,107 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4059564725991332062
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2814047041419432423}
- component: {fileID: 7391047190560268262}
- component: {fileID: 7835762725330213047}
- component: {fileID: 3411817372972863152}
m_Layer: 0
m_Name: hero_a
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2814047041419432423
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4059564725991332062}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.1263859, y: -1.2676215, z: -5.186572}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &7391047190560268262
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4059564725991332062}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &7835762725330213047
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4059564725991332062}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 5b64055494366334a84ebd727ead0d35, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &3411817372972863152
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4059564725991332062}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,107 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4059564725991332062
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2814047041419432423}
- component: {fileID: 7391047190560268262}
- component: {fileID: 7835762725330213047}
- component: {fileID: 3411817372972863152}
m_Layer: 0
m_Name: hero_b
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2814047041419432423
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4059564725991332062}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.1263859, y: -1.2676215, z: -5.186572}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &7391047190560268262
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4059564725991332062}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &7835762725330213047
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4059564725991332062}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 98e7bdd86b945194a818097dd192453c, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &3411817372972863152
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4059564725991332062}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 8d758e0d9489eee47ab6ec8eb6dcb0cc
guid: 8dcc97687b7279d44955a47de56ce845
PrefabImporter:
externalObjects: {}
userData:

View File

@ -7,7 +7,7 @@ Material:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: panel_a_mat
m_Name: hero_a_mat
m_Shader: {fileID: 10703, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0

View File

@ -7,7 +7,7 @@ Material:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: panel_b_mat
m_Name: hero_b_mat
m_Shader: {fileID: 10703, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0

View File

@ -1,74 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4681025877766398847
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 803375445599620493}
- component: {fileID: 5200708881923248931}
- component: {fileID: 6178648831511584876}
m_Layer: 0
m_Name: PanelA
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &803375445599620493
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4681025877766398847}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -5.186572}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -1.1263859, y: -1.2676215}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5200708881923248931
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4681025877766398847}
m_CullTransparentMesh: 1
--- !u!114 &6178648831511584876
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4681025877766398847}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: 5b64055494366334a84ebd727ead0d35, type: 2}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 0}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1

View File

@ -1,74 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4681025877766398847
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 803375445599620493}
- component: {fileID: 9119719132009767594}
- component: {fileID: 8951156678157791856}
m_Layer: 0
m_Name: PanelB
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &803375445599620493
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4681025877766398847}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -5.186572}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -1.1263859, y: -1.2676215}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9119719132009767594
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4681025877766398847}
m_CullTransparentMesh: 1
--- !u!114 &8951156678157791856
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4681025877766398847}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: 98e7bdd86b945194a818097dd192453c, type: 2}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 0}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1