From 6a97704daba6c3d00ffe348140b76f8819d480d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E5=86=A0=E5=B3=B0?= Date: Tue, 7 Jan 2025 15:14:43 +0800 Subject: [PATCH] update test sample --- .../Runtime/AssetBundleCollectorMaker.cs | 11 +++ .../Runtime/BuildinFileSystemTester.cs | 7 ++ .../Runtime/EditorFileSystemTester.cs | 7 ++ .../Test Sample/Runtime/TestLoadPanel.cs | 40 +++++++++ .../Test Sample/Runtime/TestLoadPanel.cs.meta | 11 +++ .../Samples~/Test Sample/TestRes/Panel.meta | 8 ++ .../Test Sample/TestRes/Panel/panel_a.prefab | 81 +++++++++++++++++++ .../TestRes/Panel/panel_a.prefab.meta | 7 ++ .../Test Sample/TestRes/Panel/panel_b.prefab | 81 +++++++++++++++++++ .../TestRes/Panel/panel_b.prefab.meta | 7 ++ .../TestRes/Panel/panel_canvas.prefab | 70 ++++++++++++++++ .../TestRes/Panel/panel_canvas.prefab.meta | 7 ++ 12 files changed, 337 insertions(+) create mode 100644 Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPanel.cs create mode 100644 Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPanel.cs.meta create mode 100644 Assets/YooAsset/Samples~/Test Sample/TestRes/Panel.meta create mode 100644 Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_a.prefab create mode 100644 Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_a.prefab.meta create mode 100644 Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_b.prefab create mode 100644 Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_b.prefab.meta create mode 100644 Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab create mode 100644 Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab.meta diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs index f1804cb4..188ef797 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs @@ -60,6 +60,17 @@ public static class AssetBundleCollectorMaker YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(spriteGroup, collector2); } + // 面板 + var panelGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "PanelGroup"); + { + var collector1 = new YooAsset.Editor.AssetBundleCollector(); + collector1.CollectPath = ""; + collector1.CollectorGUID = "4e9a00d6e825d644b9be75155d88daa6"; //TestRes/Panel目录 + collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector; + collector1.PackRuleName = nameof(YooAsset.Editor.PackSeparately); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(panelGroup, collector1); + } + // 预制体 var prefabGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "PrefabGroup"); { diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs index d5cef736..165cba77 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs @@ -119,6 +119,13 @@ public class BuildinFileSystemTester : IPrebuildSetup, IPostBuildCleanup } } + [UnityTest] + public IEnumerator TestLoadAsyncTask() + { + var tester = new TestLoadPanel(); + yield return tester.RuntimeTester(); + } + [UnityTest] public IEnumerator TestLoadAudio() { diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs index 5341fa5e..738f9455 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs @@ -148,6 +148,13 @@ public class EditorFileSystemTester : IPrebuildSetup, IPostBuildCleanup } } + [UnityTest] + public IEnumerator TestLoadAsyncTask() + { + var tester = new TestLoadPanel(); + yield return tester.RuntimeTester(); + } + [UnityTest] public IEnumerator TestLoadAudio() { diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPanel.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPanel.cs new file mode 100644 index 00000000..bdb48a42 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPanel.cs @@ -0,0 +1,40 @@ +using System; +using System.IO; +using System.Text; +using System.Collections; +using System.Threading.Tasks; +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.U2D; +using UnityEngine.TestTools; +using NUnit.Framework; +using YooAsset; + +public class TestLoadPanel +{ + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.TestPackageName); + Assert.IsNotNull(package); + + // 异步加载面板 + { + var assetsHandle = package.LoadAssetAsync("panel_canvas"); + var handleTask = assetsHandle.Task; + while (!handleTask.IsCompleted) + yield return null; + yield return null; + Assert.AreEqual(EOperationStatus.Succeed, assetsHandle.Status); + + var instantiateOp = assetsHandle.InstantiateAsync(); + var operationTask = instantiateOp.Task; + while (!handleTask.IsCompleted) + yield return null; + yield return null; + Assert.AreEqual(EOperationStatus.Succeed, instantiateOp.Status); + + Assert.IsNotNull(instantiateOp.Result); + TestLogger.Log(this, instantiateOp.Result.name); + } + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPanel.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPanel.cs.meta new file mode 100644 index 00000000..96a344a9 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPanel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3260bac2b14f0e949a2555a073cfb9fc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel.meta new file mode 100644 index 00000000..364171c3 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4e9a00d6e825d644b9be75155d88daa6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_a.prefab b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_a.prefab new file mode 100644 index 00000000..ebf2a16a --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_a.prefab @@ -0,0 +1,81 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6283027362666271047 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2037322908504346998} + - component: {fileID: 7980853937325680292} + - component: {fileID: 8207247306684829080} + m_Layer: 0 + m_Name: panel_a + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2037322908504346998 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + 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: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7980853937325680292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_CullTransparentMesh: 1 +--- !u!114 &8207247306684829080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + 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_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: this is panel a ! diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_a.prefab.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_a.prefab.meta new file mode 100644 index 00000000..41de09c2 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_a.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d60a4c3149ab06b468e38b88612419d6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_b.prefab b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_b.prefab new file mode 100644 index 00000000..4d57d6cc --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_b.prefab @@ -0,0 +1,81 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6283027362666271047 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2037322908504346998} + - component: {fileID: 7980853937325680292} + - component: {fileID: 8207247306684829080} + m_Layer: 0 + m_Name: panel_b + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2037322908504346998 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + 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: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7980853937325680292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_CullTransparentMesh: 1 +--- !u!114 &8207247306684829080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + 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_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: this is panel b ! diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_b.prefab.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_b.prefab.meta new file mode 100644 index 00000000..36cdb33b --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_b.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 515c0ceab1fb10c4180748003da58232 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab new file mode 100644 index 00000000..516de91b --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab @@ -0,0 +1,70 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6283027362666271047 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2037322908504346998} + - component: {fileID: 7980853937325680292} + - component: {fileID: -2226153785594138141} + m_Layer: 0 + m_Name: panel_canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2037322908504346998 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + 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: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7980853937325680292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_CullTransparentMesh: 1 +--- !u!223 &-2226153785594138141 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 1 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab.meta new file mode 100644 index 00000000..3d478c97 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bbefb050721c78a4fb44853720eaa76c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: