diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T0_InitYooAssets/T0_InitYooAssets.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T0_InitYooAssets/T0_InitYooAssets.cs index 14378d69..f4e1788c 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/T0_InitYooAssets/T0_InitYooAssets.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T0_InitYooAssets/T0_InitYooAssets.cs @@ -187,6 +187,31 @@ public class T0_InitYooAssets : IPrebuildSetup, IPostBuildCleanup collector3.PackRuleName = nameof(YooAsset.Editor.PackSeparately); YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(encryptGroup, collector3); } + + // 卸载测试文件 + var unloadGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "UnloadGroup"); + { + var collector1 = new YooAsset.Editor.AssetBundleCollector(); + collector1.CollectPath = ""; + collector1.CollectorGUID = "c8cebdb7cd80a4044b15a1522363bb86"; //TestRes4/Enemy目录 + collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector; + collector1.PackRuleName = nameof(YooAsset.Editor.PackDirectory); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(unloadGroup, collector1); + + var collector2 = new YooAsset.Editor.AssetBundleCollector(); + collector2.CollectPath = ""; + collector2.CollectorGUID = "3ba9252bc0a278145a7bde0cf876cbcb"; //TestRes4/EnemyImage目录 + collector2.CollectorType = YooAsset.Editor.ECollectorType.DependAssetCollector; + collector2.PackRuleName = nameof(YooAsset.Editor.PackDirectory); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(unloadGroup, collector2); + + var collector3 = new YooAsset.Editor.AssetBundleCollector(); + collector3.CollectPath = ""; + collector3.CollectorGUID = "65cc88e038c61ec488be24b82c4e2937"; //TestRes4/EnemyMat目录 + collector3.CollectorType = YooAsset.Editor.ECollectorType.DependAssetCollector; + collector3.PackRuleName = nameof(YooAsset.Editor.PackDirectory); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(unloadGroup, collector3); + } } private static void CreateRawBundlePackageCollector() { diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/T2_TestBuldinFileSystem.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/T2_TestBuldinFileSystem.cs index 8b28ef5a..dfcad1aa 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/T2_TestBuldinFileSystem.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/T2_TestBuldinFileSystem.cs @@ -188,9 +188,9 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup } [UnityTest] - public IEnumerator C1_TestBundleReference() + public IEnumerator C1_TestGetAssetInfos() { - var tester = new TestBundleReference(); + var tester = new TestGetAssetInfos(); yield return tester.RuntimeTester(); } @@ -208,6 +208,20 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup yield return tester.RuntimeTester(); } + [UnityTest] + public IEnumerator C4_TestBundleReference() + { + var tester = new TestBundleReference(); + yield return tester.RuntimeTester(); + } + + [UnityTest] + public IEnumerator C4_TestBundleUnload() + { + var tester = new TestBundleUnload(); + yield return tester.RuntimeTester(); + } + [UnityTest] public IEnumerator D_DestroyPackage() { diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleUnload.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleUnload.cs new file mode 100644 index 00000000..db5c29dc --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleUnload.cs @@ -0,0 +1,44 @@ +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; +using System.Linq; + +public class TestBundleUnload +{ + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName); + Assert.IsNotNull(package); + + string targetBundleName = "assets_samples_test_sample_testres4_enemy.bundle"; + + // 加载Enemy + AssetHandle assetHandle; + { + assetHandle = package.LoadAssetAsync("enemy"); + yield return assetHandle; + Assert.AreEqual(EOperationStatus.Succeed, assetHandle.Status); + + DebugPackageData debugData = package.GetDebugPackageData(); + var findItem = debugData.BundleInfos.Where(x => x.BundleName == targetBundleName); + Assert.AreEqual(findItem.Count(), 1); + } + + // 卸载Enemy + { + assetHandle.Release(); + package.TryUnloadUnusedAsset("enemy"); + + DebugPackageData debugData = package.GetDebugPackageData(); + var findItem = debugData.BundleInfos.Where(x => x.BundleName == targetBundleName); + Assert.AreEqual(findItem.Count(), 0); + } + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleUnload.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleUnload.cs.meta new file mode 100644 index 00000000..f23da883 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleUnload.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c9cf81becc940b94b98926a171bca520 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestGetAssetInfos.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestGetAssetInfos.cs new file mode 100644 index 00000000..7a85cfa8 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestGetAssetInfos.cs @@ -0,0 +1,29 @@ +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 TestGetAssetInfos +{ + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName); + Assert.IsNotNull(package); + + // 获取所有资源对象信息 + var allAssetInfos = package.GetAllAssetInfos(); + Assert.AreEqual(allAssetInfos.Length, 28); + + // 获取指定资源对象信息 + var assetInfos = package.GetAssetInfos("import"); + Assert.AreEqual(assetInfos.Length, 2); + + yield break; + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestGetAssetInfos.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestGetAssetInfos.cs.meta new file mode 100644 index 00000000..3c08ade8 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestGetAssetInfos.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ed2ce0f1d01df854da3622e757694128 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/T3_TestCacheFileSystem.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/T3_TestCacheFileSystem.cs index 3e58e657..437be6f3 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/T3_TestCacheFileSystem.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/T3_TestCacheFileSystem.cs @@ -93,21 +93,21 @@ public class T3_TestCacheFileSystem : IPrebuildSetup, IPostBuildCleanup } [UnityTest] - public IEnumerator B1_TestBundlePlaying() + public IEnumerator C1_TestBundlePlaying() { var tester = new TestBundlePlaying(); yield return tester.RuntimeTester(); } [UnityTest] - public IEnumerator B2_TestBundleImporter() + public IEnumerator C2_TestBundleImporter() { var tester = new TestBundleImporter(); yield return tester.RuntimeTester(); } [UnityTest] - public IEnumerator B3_TestBundleDownloader() + public IEnumerator C3_TestBundleDownloader() { var tester = new TestBundleDownloader(); yield return tester.RuntimeTester(); diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes4.meta new file mode 100644 index 00000000..965c03f9 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes4.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61de2fdfd6b37454a899dc28dab370ad +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4/Enemy.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes4/Enemy.meta new file mode 100644 index 00000000..4027ac80 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes4/Enemy.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c8cebdb7cd80a4044b15a1522363bb86 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4/Enemy/enemy.prefab b/Assets/YooAsset/Samples~/Test Sample/TestRes4/Enemy/enemy.prefab new file mode 100644 index 00000000..a1719d81 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes4/Enemy/enemy.prefab @@ -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: enemy + 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: 2c17b0f636a2ad64f9cd602aa8cd5a97, 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} diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4/Enemy/enemy.prefab.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes4/Enemy/enemy.prefab.meta new file mode 100644 index 00000000..93c4ec13 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes4/Enemy/enemy.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f6bc612163dcab34ea07eba9d7d242f6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyImage.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyImage.meta new file mode 100644 index 00000000..c2803b54 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyImage.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ba9252bc0a278145a7bde0cf876cbcb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyImage/enemy_image.png b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyImage/enemy_image.png new file mode 100644 index 00000000..801fe7d9 Binary files /dev/null and b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyImage/enemy_image.png differ diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyImage/enemy_image.png.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyImage/enemy_image.png.meta new file mode 100644 index 00000000..f34c255b --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyImage/enemy_image.png.meta @@ -0,0 +1,153 @@ +fileFormatVersion: 2 +guid: 1e26e6f8305ca99488e9e6e1a918e888 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyMat.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyMat.meta new file mode 100644 index 00000000..f22718de --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyMat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 65cc88e038c61ec488be24b82c4e2937 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyMat/enemy_mat.mat b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyMat/enemy_mat.mat new file mode 100644 index 00000000..567853df --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyMat/enemy_mat.mat @@ -0,0 +1,83 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: enemy_mat + m_Shader: {fileID: 10703, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 1e26e6f8305ca99488e9e6e1a918e888, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyMat/enemy_mat.mat.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyMat/enemy_mat.mat.meta new file mode 100644 index 00000000..a26c3e16 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes4/EnemyMat/enemy_mat.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2c17b0f636a2ad64f9cd602aa8cd5a97 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4/测试资产卸载.txt b/Assets/YooAsset/Samples~/Test Sample/TestRes4/测试资产卸载.txt new file mode 100644 index 00000000..e69de29b diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes4/测试资产卸载.txt.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes4/测试资产卸载.txt.meta new file mode 100644 index 00000000..e4362233 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes4/测试资产卸载.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6acc6db9c7096d34aae2928b58164ec3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: