diff --git a/Assets/YooAsset/Samples~/Test Sample.meta b/Assets/YooAsset/Samples~/Test Sample.meta new file mode 100644 index 00000000..411cb7d8 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22be2c9accaa3f7489f5f3bbce0f0a6c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Editor.meta b/Assets/YooAsset/Samples~/Test Sample/Editor.meta new file mode 100644 index 00000000..8a1ea996 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 909bee821e6d3154f917c21d62983a3f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Editor/TestSimulateBuilder.cs b/Assets/YooAsset/Samples~/Test Sample/Editor/TestSimulateBuilder.cs new file mode 100644 index 00000000..8526b3e4 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Editor/TestSimulateBuilder.cs @@ -0,0 +1,146 @@ +using UnityEditor; +using UnityEngine; +using YooAsset; +using YooAsset.Editor; + +public static class TestSimulateBuilder +{ + /// + /// 模拟构建 + /// + public static EditorSimulateBuildResult SimulateBuild(EditorSimulateBuildParam buildParam) + { + string packageName = buildParam.PackageName; + string buildPipelineName = buildParam.BuildPipelineName; + + if (buildPipelineName == EBuildPipeline.EditorSimulateBuildPipeline.ToString()) + { + var buildParameters = new EditorSimulateBuildParameters(); + buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot(); + buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot(); + buildParameters.BuildPipeline = EBuildPipeline.EditorSimulateBuildPipeline.ToString(); + buildParameters.BuildBundleType = (int)EBuildBundleType.VirtualBundle; + buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget; + buildParameters.PackageName = packageName; + buildParameters.PackageVersion = "Simulate"; + buildParameters.FileNameStyle = EFileNameStyle.HashName; + buildParameters.BuildinFileCopyOption = EBuildinFileCopyOption.None; + buildParameters.BuildinFileCopyParams = string.Empty; + + var pipeline = new EditorSimulateBuildPipeline(); + BuildResult buildResult = pipeline.Run(buildParameters, false); + if (buildResult.Success) + { + var reulst = new EditorSimulateBuildResult(); + reulst.PackageRootDirectory = buildResult.OutputPackageDirectory; + return reulst; + } + else + { + Debug.LogError(buildResult.ErrorInfo); + throw new System.Exception($"{nameof(EditorSimulateBuildPipeline)} build failed !"); + } + } + else if (buildPipelineName == EBuildPipeline.ScriptableBuildPipeline.ToString()) + { + var buildParameters = new ScriptableBuildParameters(); + buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot(); + buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot(); + buildParameters.BuildPipeline = EBuildPipeline.ScriptableBuildPipeline.ToString(); + buildParameters.BuildBundleType = (int)EBuildBundleType.AssetBundle; + buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget; + buildParameters.PackageName = packageName; + buildParameters.PackageVersion = "Simulate"; + buildParameters.EnableSharePackRule = true; + buildParameters.VerifyBuildingResult = true; + buildParameters.FileNameStyle = EFileNameStyle.HashName; + buildParameters.BuildinFileCopyOption = EBuildinFileCopyOption.None; + buildParameters.BuildinFileCopyParams = string.Empty; + buildParameters.CompressOption = ECompressOption.LZ4; + buildParameters.ClearBuildCacheFiles = true; + buildParameters.UseAssetDependencyDB = true; + + var pipeline = new ScriptableBuildPipeline(); + BuildResult buildResult = pipeline.Run(buildParameters, false); + if (buildResult.Success) + { + var reulst = new EditorSimulateBuildResult(); + reulst.PackageRootDirectory = buildResult.OutputPackageDirectory; + return reulst; + } + else + { + Debug.LogError(buildResult.ErrorInfo); + throw new System.Exception($"{nameof(ScriptableBuildPipeline)} build failed !"); + } + } + else if (buildPipelineName == EBuildPipeline.BuiltinBuildPipeline.ToString()) + { + var buildParameters = new BuiltinBuildParameters(); + buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot(); + buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot(); + buildParameters.BuildPipeline = EBuildPipeline.ScriptableBuildPipeline.ToString(); + buildParameters.BuildBundleType = (int)EBuildBundleType.AssetBundle; + buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget; + buildParameters.PackageName = packageName; + buildParameters.PackageVersion = "Simulate"; + buildParameters.EnableSharePackRule = true; + buildParameters.VerifyBuildingResult = true; + buildParameters.FileNameStyle = EFileNameStyle.HashName; + buildParameters.BuildinFileCopyOption = EBuildinFileCopyOption.None; + buildParameters.BuildinFileCopyParams = string.Empty; + buildParameters.CompressOption = ECompressOption.LZ4; + buildParameters.ClearBuildCacheFiles = true; + buildParameters.UseAssetDependencyDB = true; + + var pipeline = new BuiltinBuildPipeline(); + BuildResult buildResult = pipeline.Run(buildParameters, false); + if (buildResult.Success) + { + var reulst = new EditorSimulateBuildResult(); + reulst.PackageRootDirectory = buildResult.OutputPackageDirectory; + return reulst; + } + else + { + Debug.LogError(buildResult.ErrorInfo); + throw new System.Exception($"{nameof(BuiltinBuildPipeline)} build failed !"); + } + } + else if (buildPipelineName == EBuildPipeline.RawFileBuildPipeline.ToString()) + { + var buildParameters = new RawFileBuildParameters(); + buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot(); + buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot(); + buildParameters.BuildPipeline = EBuildPipeline.RawFileBuildPipeline.ToString(); + buildParameters.BuildBundleType = (int)EBuildBundleType.RawBundle; + buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget; + buildParameters.PackageName = packageName; + buildParameters.PackageVersion = "Simulate"; + buildParameters.VerifyBuildingResult = true; + buildParameters.FileNameStyle = EFileNameStyle.HashName; + buildParameters.BuildinFileCopyOption = EBuildinFileCopyOption.None; + buildParameters.BuildinFileCopyParams = string.Empty; + buildParameters.ClearBuildCacheFiles = true; + buildParameters.UseAssetDependencyDB = true; + + var pipeline = new RawFileBuildPipeline(); + BuildResult buildResult = pipeline.Run(buildParameters, false); + if (buildResult.Success) + { + var reulst = new EditorSimulateBuildResult(); + reulst.PackageRootDirectory = buildResult.OutputPackageDirectory; + return reulst; + } + else + { + Debug.LogError(buildResult.ErrorInfo); + throw new System.Exception($"{nameof(RawFileBuildPipeline)} build failed !"); + } + } + else + { + throw new System.NotImplementedException(buildPipelineName); + } + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Editor/TestSimulateBuilder.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Editor/TestSimulateBuilder.cs.meta new file mode 100644 index 00000000..7ffcefd0 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Editor/TestSimulateBuilder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 339682333f36d014e942a790dea6b1f7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Editor/YooAsset.Test.Editor.asmdef b/Assets/YooAsset/Samples~/Test Sample/Editor/YooAsset.Test.Editor.asmdef new file mode 100644 index 00000000..cdd38a85 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Editor/YooAsset.Test.Editor.asmdef @@ -0,0 +1,20 @@ +{ + "name": "YooAsset.Test.Editor", + "rootNamespace": "", + "references": [ + "YooAsset", + "YooAsset.Editor", + "YooAsset.Test" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Editor/YooAsset.Test.Editor.asmdef.meta b/Assets/YooAsset/Samples~/Test Sample/Editor/YooAsset.Test.Editor.asmdef.meta new file mode 100644 index 00000000..f48c2641 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Editor/YooAsset.Test.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 02d972ebdd15a8241a50cd49aae31b37 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime.meta new file mode 100644 index 00000000..a708afe1 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2a97de04ee53aa144bed1f43c5c9efdf +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs new file mode 100644 index 00000000..de75421a --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs @@ -0,0 +1,127 @@ +using System; +using System.IO; +using System.Text; +using System.Collections; +using UnityEngine; +using UnityEngine.TestTools; +using YooAsset; + +public static class AssetBundleCollectorMaker +{ + public static void MakeCollectorSettingData() + { +#if UNITY_EDITOR + // 清空旧数据 + YooAsset.Editor.AssetBundleCollectorSettingData.ClearAll(); + + // 创建正常文件Package + var testPackage = YooAsset.Editor.AssetBundleCollectorSettingData.CreatePackage("TestPackage"); + testPackage.EnableAddressable = true; + testPackage.AutoCollectShaders = true; + testPackage.IgnoreRuleName = "NormalIgnoreRule"; + + // 音频 + var audioGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "AudioGroup"); + { + var collector1 = new YooAsset.Editor.AssetBundleCollector(); + collector1.CollectPath = ""; + collector1.CollectorGUID = "bbce3e09a17b55c46b5615e995b5fc70"; //TestRes/Audios目录 + collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector; + collector1.PackRuleName = nameof(YooAsset.Editor.PackDirectory); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(audioGroup, collector1); + } + + // 图片 + var imageGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "ImageGroup"); + { + var collector1 = new YooAsset.Editor.AssetBundleCollector(); + collector1.CollectPath = ""; + collector1.CollectorGUID = "d4768b7c3d3101d4ea693f95b337861d"; //TestRes/Image目录 + collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector; + collector1.PackRuleName = nameof(YooAsset.Editor.PackDirectory); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(imageGroup, collector1); + } + + // 图集 + var spriteGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "SpriteGroup"); + { + var collector1 = new YooAsset.Editor.AssetBundleCollector(); + collector1.CollectPath = ""; + collector1.CollectorGUID = "634f8145b892c554ba440c212b36a933"; //TestRes/SpriteAtlas目录 + collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector; + collector1.PackRuleName = nameof(YooAsset.Editor.PackSeparately); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(spriteGroup, collector1); + + var collector2 = new YooAsset.Editor.AssetBundleCollector(); + collector2.CollectPath = ""; + collector2.CollectorGUID = "e41a9b5f04378154f9bd69ac5d52ec44"; //TestRes/Sprites目录 + collector2.CollectorType = YooAsset.Editor.ECollectorType.StaticAssetCollector; + collector2.PackRuleName = nameof(YooAsset.Editor.PackDirectory); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(spriteGroup, collector2); + } + + // 预制体 + var prefabGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "PrefabGroup"); + { + var collector1 = new YooAsset.Editor.AssetBundleCollector(); + collector1.CollectPath = ""; + collector1.CollectorGUID = "8da7a00d90270b44898e9b165f86f005"; //TestRes/Prefab目录 + collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector; + collector1.PackRuleName = nameof(YooAsset.Editor.PackDirectory); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(prefabGroup, collector1); + } + + // 场景 + var sceneGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "SceneGroup"); + { + var collector1 = new YooAsset.Editor.AssetBundleCollector(); + collector1.CollectPath = ""; + collector1.CollectorGUID = "3e169b07999abb0489113f5f4c015c89"; //TestRes/Scene目录 + collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector; + collector1.PackRuleName = nameof(YooAsset.Editor.PackSeparately); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(sceneGroup, collector1); + } + + // 序列化文件 + var scriptableObjectGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "ScriptableObjectGroup"); + { + var collector1 = new YooAsset.Editor.AssetBundleCollector(); + collector1.CollectPath = ""; + collector1.CollectorGUID = "af885cf1a7abb8c44bd9d139409d2961"; //TestRes/ScriptableObject目录 + collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector; + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(scriptableObjectGroup, collector1); + } + + // 创建原生文件Package + var rawPackage = YooAsset.Editor.AssetBundleCollectorSettingData.CreatePackage("RawPackage"); + rawPackage.EnableAddressable = true; + rawPackage.AutoCollectShaders = true; + rawPackage.IgnoreRuleName = "RawFileIgnoreRule"; + + // 原生文件 + var rawFileGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(rawPackage, "RawFileGroup"); + { + var collector1 = new YooAsset.Editor.AssetBundleCollector(); + collector1.CollectPath = ""; + collector1.CollectorGUID = "fddaaf9430e24344196cc82ac3d006b4"; //TestRes/RawFiles目录 + collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector; + collector1.PackRuleName = nameof(YooAsset.Editor.PackRawFile); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(rawFileGroup, collector1); + } + + // 视频文件 + var videoFileGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(rawPackage, "VideoFileGroup"); + { + var collector1 = new YooAsset.Editor.AssetBundleCollector(); + collector1.CollectPath = ""; + collector1.CollectorGUID = "9028a60fd472239448b89453084bfa0a"; //TestRes/Video目录 + collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector; + collector1.PackRuleName = nameof(YooAsset.Editor.PackVideoFile); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(videoFileGroup, collector1); + } + + // 修正配置路径为空导致的错误 + YooAsset.Editor.AssetBundleCollectorSettingData.FixFile(); +#endif + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs.meta new file mode 100644 index 00000000..59ffd09e --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 88e4ec854876f3f40bce38bc880c0f6a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs new file mode 100644 index 00000000..1c27f131 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs @@ -0,0 +1,133 @@ +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 BuildinFileSystemTester : IPrebuildSetup, IPostBuildCleanup +{ + private const string TEST_PACKAGE_ROOT_KEY = "TEST_PACKAGE_ROOT_KEY"; + private const string RAW_PACKAGE_ROOT_KEY = "RAW_PACKAGE_ROOT_KEY"; + + void IPrebuildSetup.Setup() + { +#if UNITY_EDITOR + AssetBundleCollectorMaker.MakeCollectorSettingData(); + + // 构建TestPackage + { + var simulateParams = new EditorSimulateBuildParam("TestPackage"); + simulateParams.BuildPipelineName = "ScriptableBuildPipeline"; + simulateParams.InvokeAssmeblyName = "YooAsset.Test.Editor"; + simulateParams.InvokeClassFullName = "TestSimulateBuilder"; + simulateParams.InvokeMethodName = "SimulateBuild"; + var simulateResult = EditorSimulateModeHelper.SimulateBuild(simulateParams); + UnityEditor.EditorPrefs.SetString(TEST_PACKAGE_ROOT_KEY, simulateResult.PackageRootDirectory); + } + + // 构建RawPackage + { + var simulateParams = new EditorSimulateBuildParam("RawPackage"); + simulateParams.BuildPipelineName = "RawFileBuildPipeline"; + simulateParams.InvokeAssmeblyName = "YooAsset.Test.Editor"; + simulateParams.InvokeClassFullName = "TestSimulateBuilder"; + simulateParams.InvokeMethodName = "SimulateBuild"; + var simulateResult = EditorSimulateModeHelper.SimulateBuild(simulateParams); + UnityEditor.EditorPrefs.SetString(RAW_PACKAGE_ROOT_KEY, simulateResult.PackageRootDirectory); + } +#endif + } + void IPostBuildCleanup.Cleanup() + { + } + + [UnitySetUp] + public virtual IEnumerator RuntimeSetup() + { + // 初始化YooAsset + YooAssets.Initialize(); + + // 初始化TestPackage + { + string packageRoot = string.Empty; +#if UNITY_EDITOR + packageRoot = UnityEditor.EditorPrefs.GetString(TEST_PACKAGE_ROOT_KEY); +#endif + if (Directory.Exists(packageRoot) == false) + throw new Exception($"Not found package root : {packageRoot}"); + + var package = YooAssets.CreatePackage("TestPackage"); + + // 初始化资源包 + var initParams = new OfflinePlayModeParameters(); + initParams.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(null, packageRoot); + var initializeOp = package.InitializeAsync(initParams); + yield return initializeOp; + if (initializeOp.Status != EOperationStatus.Succeed) + Debug.LogError(initializeOp.Error); + Assert.AreEqual(EOperationStatus.Succeed, initializeOp.Status); + + // 请求资源版本 + var requetVersionOp = package.RequestPackageVersionAsync(); + yield return requetVersionOp; + if (requetVersionOp.Status != EOperationStatus.Succeed) + Debug.LogError(requetVersionOp.Error); + Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status); + + // 更新资源清单 + var updateManifestOp = package.UpdatePackageManifestAsync(requetVersionOp.PackageVersion); + yield return updateManifestOp; + if (updateManifestOp.Status != EOperationStatus.Succeed) + Debug.LogError(updateManifestOp.Error); + Assert.AreEqual(EOperationStatus.Succeed, updateManifestOp.Status); + } + + // 初始化RawPackage + { + string packageRoot = string.Empty; +#if UNITY_EDITOR + packageRoot = UnityEditor.EditorPrefs.GetString(RAW_PACKAGE_ROOT_KEY); +#endif + if (Directory.Exists(packageRoot) == false) + throw new Exception($"Not found package root : {packageRoot}"); + + var package = YooAssets.CreatePackage("RawPackage"); + + // 初始化资源包 + var initParams = new OfflinePlayModeParameters(); + initParams.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(null, packageRoot); + initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.APPEND_FILE_EXTENSION, true); + var initializeOp = package.InitializeAsync(initParams); + yield return initializeOp; + if (initializeOp.Status != EOperationStatus.Succeed) + Debug.LogError(initializeOp.Error); + Assert.AreEqual(EOperationStatus.Succeed, initializeOp.Status); + + // 请求资源版本 + var requetVersionOp = package.RequestPackageVersionAsync(); + yield return requetVersionOp; + if (requetVersionOp.Status != EOperationStatus.Succeed) + Debug.LogError(requetVersionOp.Error); + Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status); + + // 更新资源清单 + var updateManifestOp = package.UpdatePackageManifestAsync(requetVersionOp.PackageVersion); + yield return updateManifestOp; + if (updateManifestOp.Status != EOperationStatus.Succeed) + Debug.LogError(updateManifestOp.Error); + Assert.AreEqual(EOperationStatus.Succeed, updateManifestOp.Status); + } + } + + [UnityTest] + public IEnumerator RuntimeInit() + { + // 声明该方法可以被自动化流程识别! + yield break; + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs.meta new file mode 100644 index 00000000..b8eaf5b4 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bcc55b0010a446748977341328325575 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/CacheFileSystemTester.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/CacheFileSystemTester.cs new file mode 100644 index 00000000..b2cd6116 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/CacheFileSystemTester.cs @@ -0,0 +1,20 @@ +using System; +using System.IO; +using System.Text; +using System.Collections; +using UnityEngine; +using UnityEngine.TestTools; +using YooAsset; + +public class CacheFileSystemTester : IPrebuildSetup, IPostBuildCleanup +{ + public void Setup() + { + throw new NotImplementedException(); + } + + public void Cleanup() + { + throw new NotImplementedException(); + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/CacheFileSystemTester.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/CacheFileSystemTester.cs.meta new file mode 100644 index 00000000..5016d6f7 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/CacheFileSystemTester.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a680882da8a6755498514f4fd2210a34 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs new file mode 100644 index 00000000..9fbdf45e --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs @@ -0,0 +1,20 @@ +using System; +using System.IO; +using System.Text; +using System.Collections; +using UnityEngine; +using UnityEngine.TestTools; +using YooAsset; + +public class EditorFileSystemTester : IPrebuildSetup, IPostBuildCleanup +{ + public void Setup() + { + throw new NotImplementedException(); + } + + public void Cleanup() + { + throw new NotImplementedException(); + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs.meta new file mode 100644 index 00000000..ddb3eb6c --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c2415e48396659e46baabff3fcaad34d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestEncryption.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestEncryption.cs new file mode 100644 index 00000000..46b1dfef --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestEncryption.cs @@ -0,0 +1,192 @@ +using System; +using System.IO; +using System.Text; +using UnityEngine; +using YooAsset; + +/// +/// 资源文件解密流 +/// +public class BundleStream : FileStream +{ + public const byte KEY = 64; + + public BundleStream(string path, FileMode mode, FileAccess access, FileShare share) : base(path, mode, access, share) + { + } + public BundleStream(string path, FileMode mode) : base(path, mode) + { + } + + public override int Read(byte[] array, int offset, int count) + { + var index = base.Read(array, offset, count); + for (int i = 0; i < array.Length; i++) + { + array[i] ^= KEY; + } + return index; + } +} + +/// +/// 资源文件流加载解密类 +/// +public class FileStreamDecryption : IDecryptionServices +{ + /// + /// 同步方式获取解密的资源包对象 + /// 注意:加载流对象在资源包对象释放的时候会自动释放 + /// + DecryptResult IDecryptionServices.LoadAssetBundle(DecryptFileInfo fileInfo) + { + BundleStream bundleStream = new BundleStream(fileInfo.FileLoadPath, FileMode.Open, FileAccess.Read, FileShare.Read); + DecryptResult decryptResult = new DecryptResult(); + decryptResult.ManagedStream = bundleStream; + decryptResult.Result = AssetBundle.LoadFromStream(bundleStream, fileInfo.FileLoadCRC, GetManagedReadBufferSize()); + return decryptResult; + } + + /// + /// 异步方式获取解密的资源包对象 + /// 注意:加载流对象在资源包对象释放的时候会自动释放 + /// + DecryptResult IDecryptionServices.LoadAssetBundleAsync(DecryptFileInfo fileInfo) + { + BundleStream bundleStream = new BundleStream(fileInfo.FileLoadPath, FileMode.Open, FileAccess.Read, FileShare.Read); + DecryptResult decryptResult = new DecryptResult(); + decryptResult.ManagedStream = bundleStream; + decryptResult.CreateRequest = AssetBundle.LoadFromStreamAsync(bundleStream, fileInfo.FileLoadCRC, GetManagedReadBufferSize()); + return decryptResult; + } + + /// + /// 获取解密的字节数据 + /// + byte[] IDecryptionServices.ReadFileData(DecryptFileInfo fileInfo) + { + throw new System.NotImplementedException(); + } + + /// + /// 获取解密的文本数据 + /// + string IDecryptionServices.ReadFileText(DecryptFileInfo fileInfo) + { + throw new System.NotImplementedException(); + } + + private static uint GetManagedReadBufferSize() + { + return 1024; + } +} + +/// +/// 资源文件偏移加载解密类 +/// +public class FileOffsetDecryption : IDecryptionServices +{ + /// + /// 同步方式获取解密的资源包对象 + /// 注意:加载流对象在资源包对象释放的时候会自动释放 + /// + DecryptResult IDecryptionServices.LoadAssetBundle(DecryptFileInfo fileInfo) + { + DecryptResult decryptResult = new DecryptResult(); + decryptResult.ManagedStream = null; + decryptResult.Result = AssetBundle.LoadFromFile(fileInfo.FileLoadPath, fileInfo.FileLoadCRC, GetFileOffset()); + return decryptResult; + } + + /// + /// 异步方式获取解密的资源包对象 + /// 注意:加载流对象在资源包对象释放的时候会自动释放 + /// + DecryptResult IDecryptionServices.LoadAssetBundleAsync(DecryptFileInfo fileInfo) + { + DecryptResult decryptResult = new DecryptResult(); + decryptResult.ManagedStream = null; + decryptResult.CreateRequest = AssetBundle.LoadFromFileAsync(fileInfo.FileLoadPath, fileInfo.FileLoadCRC, GetFileOffset()); + return decryptResult; + } + + /// + /// 获取解密的字节数据 + /// + byte[] IDecryptionServices.ReadFileData(DecryptFileInfo fileInfo) + { + throw new System.NotImplementedException(); + } + + /// + /// 获取解密的文本数据 + /// + string IDecryptionServices.ReadFileText(DecryptFileInfo fileInfo) + { + throw new System.NotImplementedException(); + } + + private static ulong GetFileOffset() + { + return 32; + } +} + +/// +/// 文件偏移加密方式 +/// +public class FileOffsetEncryption : IEncryptionServices +{ + public EncryptResult Encrypt(EncryptFileInfo fileInfo) + { + // 注意:只对音频资源包加密 + if (fileInfo.BundleName.Contains("_gameres_audio")) + { + int offset = 32; + byte[] fileData = File.ReadAllBytes(fileInfo.FileLoadPath); + var encryptedData = new byte[fileData.Length + offset]; + Buffer.BlockCopy(fileData, 0, encryptedData, offset, fileData.Length); + + EncryptResult result = new EncryptResult(); + result.Encrypted = true; + result.EncryptedData = encryptedData; + return result; + } + else + { + EncryptResult result = new EncryptResult(); + result.Encrypted = false; + return result; + } + } +} + +/// +/// 文件流加密方式 +/// +public class FileStreamEncryption : IEncryptionServices +{ + public EncryptResult Encrypt(EncryptFileInfo fileInfo) + { + if (fileInfo.BundleName.Contains("_gameres_audio")) + { + var fileData = File.ReadAllBytes(fileInfo.FileLoadPath); + for (int i = 0; i < fileData.Length; i++) + { + fileData[i] ^= BundleStream.KEY; + } + + EncryptResult result = new EncryptResult(); + result.Encrypted = true; + result.EncryptedData = fileData; + return result; + } + else + { + EncryptResult result = new EncryptResult(); + result.Encrypted = false; + return result; + } + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestEncryption.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestEncryption.cs.meta new file mode 100644 index 00000000..369fbbec --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestEncryption.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4e7786f8fc24d464d89b91d575076759 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadAudio.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadAudio.cs new file mode 100644 index 00000000..94c2f6b6 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadAudio.cs @@ -0,0 +1,40 @@ +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 TestLoadAudio +{ + [UnityTest] + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage("TestPackage"); + Assert.IsNotNull(package); + + // 音乐 + { + var assetHandle = package.LoadAssetAsync("music_a"); + yield return assetHandle; + Assert.AreEqual(EOperationStatus.Succeed, assetHandle.Status); + + var audioClip = assetHandle.AssetObject as AudioClip; + Assert.IsNotNull(audioClip); + } + + // 音效 + { + var assetHandle = package.LoadAssetAsync("sound_a"); + yield return assetHandle; + Assert.AreEqual(EOperationStatus.Succeed, assetHandle.Status); + + var audioClip = assetHandle.AssetObject as AudioClip; + Assert.IsNotNull(audioClip); + } + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadAudio.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadAudio.cs.meta new file mode 100644 index 00000000..596a4012 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadAudio.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f4add568c6b99dd439ae31ab4953d0a2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadImage.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadImage.cs new file mode 100644 index 00000000..9433632d --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadImage.cs @@ -0,0 +1,30 @@ +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 TestLoadImage +{ + [UnityTest] + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage("TestPackage"); + Assert.IsNotNull(package); + + var subAssetsHandle = package.LoadSubAssetsAsync("image_a"); + yield return subAssetsHandle; + Assert.AreEqual(EOperationStatus.Succeed, subAssetsHandle.Status); + + var subAssetObjects = subAssetsHandle.SubAssetObjects; + Assert.IsNotNull(subAssetObjects); + + int count = subAssetObjects.Count; + Assert.AreEqual(count, 3); + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadImage.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadImage.cs.meta new file mode 100644 index 00000000..a66569c6 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadImage.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6414488620921db45a18cb6f333addb2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPrefab.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPrefab.cs new file mode 100644 index 00000000..289feebd --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPrefab.cs @@ -0,0 +1,48 @@ +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 TestLoadPrefab +{ + [UnityTest] + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage("TestPackage"); + Assert.IsNotNull(package); + + // 加载所有预制体 + { + var allAssetsHandle = package.LoadAllAssetsAsync("prefab_a"); + yield return allAssetsHandle; + Assert.AreEqual(EOperationStatus.Succeed, allAssetsHandle.Status); + + var allAssetObjects = allAssetsHandle.AllAssetObjects; + Assert.IsNotNull(allAssetObjects); + + int count = allAssetObjects.Count; + Assert.AreEqual(count, 3); + } + + // 加载指定预制体 + { + var assetsHandle = package.LoadAssetAsync("prefab_a"); + yield return assetsHandle; + Assert.AreEqual(EOperationStatus.Succeed, assetsHandle.Status); + Assert.IsNotNull(assetsHandle.AssetObject); + + var instantiateOp = assetsHandle.InstantiateAsync(); + yield return instantiateOp; + 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/TestLoadPrefab.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPrefab.cs.meta new file mode 100644 index 00000000..7a46e801 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadPrefab.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 270615370ad21dc499a435e9bbc09269 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadRawFile.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadRawFile.cs new file mode 100644 index 00000000..8ce3bafb --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadRawFile.cs @@ -0,0 +1,53 @@ +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 TestLoadRawFile +{ + [UnityTest] + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage("RawPackage"); + Assert.IsNotNull(package); + + // 测试异步加载 + { + var rawFileHandle = package.LoadRawFileAsync("raw_file_a"); + yield return rawFileHandle; + Assert.AreEqual(EOperationStatus.Succeed, rawFileHandle.Status); + + var filePath = rawFileHandle.GetRawFilePath(); + Assert.IsNotNull(filePath); + + var fileText = rawFileHandle.GetRawFileText(); + TestLogger.Log(this, fileText); + Assert.IsNotNull(fileText); + + var fileData = rawFileHandle.GetRawFileData(); + Assert.IsNotNull(fileData); + } + + // 测试同步加载 + { + var rawFileHandle = package.LoadRawFileSync("raw_file_b"); + Assert.AreEqual(EOperationStatus.Succeed, rawFileHandle.Status); + + var filePath = rawFileHandle.GetRawFilePath(); + Assert.IsNotNull(filePath); + + var fileText = rawFileHandle.GetRawFileText(); + TestLogger.Log(this, fileText); + Assert.IsNotNull(fileText); + + var fileData = rawFileHandle.GetRawFileData(); + Assert.IsNotNull(fileData); + } + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadRawFile.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadRawFile.cs.meta new file mode 100644 index 00000000..d0e8bdf0 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadRawFile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 24f8c082eecb6c042879f5913356e3b3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScene.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScene.cs new file mode 100644 index 00000000..8529d09a --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScene.cs @@ -0,0 +1,53 @@ +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 +{ + [UnityTest] + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage("TestPackage"); + 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.LoadSceneAsync("scene_c", LoadSceneMode.Single); + yield return sceneHandle; + Assert.AreEqual(EOperationStatus.Succeed, sceneHandle.Status); + + var scene = sceneHandle.SceneObject; + Assert.IsNotNull(scene); + } + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScene.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScene.cs.meta new file mode 100644 index 00000000..beead85c --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScene.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0d2de990b8132d043ac9e9b3c3cc881f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScriptableObject.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScriptableObject.cs new file mode 100644 index 00000000..2ac90106 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScriptableObject.cs @@ -0,0 +1,28 @@ +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 TestLoadScriptableObject +{ + [UnityTest] + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage("TestPackage"); + Assert.IsNotNull(package); + + var assetHandle = package.LoadAssetAsync("game_config"); + yield return assetHandle; + Assert.AreEqual(EOperationStatus.Succeed, assetHandle.Status); + + var testScriptableObject = assetHandle.AssetObject as TestScriptableObject; + Assert.IsNotNull(testScriptableObject); + TestLogger.Log(this, testScriptableObject.ConfigName); + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScriptableObject.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScriptableObject.cs.meta new file mode 100644 index 00000000..0c47d586 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadScriptableObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 047c3635b9a26d7438f1cbb0c22cffaf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadSpriteAtlas.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadSpriteAtlas.cs new file mode 100644 index 00000000..f4433ca0 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadSpriteAtlas.cs @@ -0,0 +1,36 @@ +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 TestLoadSpriteAtlas +{ + [UnityTest] + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage("TestPackage"); + Assert.IsNotNull(package); + + var assetHandle = package.LoadAssetAsync("atlas_icon"); + yield return assetHandle; + Assert.AreEqual(EOperationStatus.Succeed, assetHandle.Status); + + var spriteAtals = assetHandle.AssetObject as SpriteAtlas; + Assert.IsNotNull(spriteAtals); + + var sprite1 = spriteAtals.GetSprite("bullet"); + Assert.IsNotNull(sprite1); + + var sprite2 = spriteAtals.GetSprite("pause"); + Assert.IsNotNull(sprite2); + + var sprite3 = spriteAtals.GetSprite("rocket"); + Assert.IsNotNull(sprite3); + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadSpriteAtlas.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadSpriteAtlas.cs.meta new file mode 100644 index 00000000..7e4c26ae --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadSpriteAtlas.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: acd8842a73aab574584f1c9676f0b46f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadVideo.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadVideo.cs new file mode 100644 index 00000000..0a3133ef --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadVideo.cs @@ -0,0 +1,40 @@ +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 UnityEngine.Video; + +public class TestLoadVideo +{ + [UnityTest] + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage("RawPackage"); + Assert.IsNotNull(package); + + var rawFileHandle = package.LoadRawFileAsync("video_logo"); + yield return rawFileHandle; + Assert.AreEqual(EOperationStatus.Succeed, rawFileHandle.Status); + + // 获取视频文件地址 + string videoFilePath = rawFileHandle.GetRawFilePath(); + Assert.IsTrue(File.Exists(videoFilePath)); + + // 创建预制体播放视频 + GameObject go = new GameObject("video player"); + var videoPlayer = go.AddComponent(); + videoPlayer.source = VideoSource.Url; + videoPlayer.renderMode = VideoRenderMode.APIOnly; + videoPlayer.url = videoFilePath; + videoPlayer.Play(); + + yield return new WaitForSeconds(1f); + Assert.IsTrue(videoPlayer.isPlaying); + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadVideo.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadVideo.cs.meta new file mode 100644 index 00000000..063e2e52 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadVideo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0ec434834a510eb4d823b786b2b83927 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLogger.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLogger.cs new file mode 100644 index 00000000..67a2ddd5 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLogger.cs @@ -0,0 +1,8 @@ + +public static class TestLogger +{ + public static void Log(System.Object instance, string message) + { + UnityEngine.Debug.Log($"[{instance.GetType().Name}] {message}"); + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLogger.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLogger.cs.meta new file mode 100644 index 00000000..19dc6397 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLogger.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c956aea1eb6a9764abb5c9ada33a7bb3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestScriptableObject.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestScriptableObject.cs new file mode 100644 index 00000000..60be5cee --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestScriptableObject.cs @@ -0,0 +1,13 @@ +using System; +using System.IO; +using System.Text; +using System.Collections; +using UnityEngine; +using UnityEngine.TestTools; +using YooAsset; + +// 自定义的配置文件 +public class TestScriptableObject : ScriptableObject +{ + public string ConfigName = "yoo"; +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestScriptableObject.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestScriptableObject.cs.meta new file mode 100644 index 00000000..d3edfffa --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestScriptableObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 11ddf12cbeb412347957744c69cfc3b6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/YooAsset.Test.asmdef b/Assets/YooAsset/Samples~/Test Sample/Runtime/YooAsset.Test.asmdef new file mode 100644 index 00000000..7e607573 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/YooAsset.Test.asmdef @@ -0,0 +1,23 @@ +{ + "name": "YooAsset.Test", + "rootNamespace": "", + "references": [ + "YooAsset", + "YooAsset.Editor", + "UnityEngine.TestRunner", + "UnityEditor.TestRunner" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": true, + "precompiledReferences": [ + "nunit.framework.dll" + ], + "autoReferenced": false, + "defineConstraints": [ + "UNITY_INCLUDE_TESTS" + ], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/YooAsset.Test.asmdef.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/YooAsset.Test.asmdef.meta new file mode 100644 index 00000000..891a7b16 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/YooAsset.Test.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 70c128f3a165dff44be2ed31f1431ddd +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes.meta new file mode 100644 index 00000000..d43381be --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 548137b89f295524a9cf0e0a55f4dfa2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio.meta new file mode 100644 index 00000000..8ba63225 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbce3e09a17b55c46b5615e995b5fc70 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/music_a.wav b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/music_a.wav new file mode 100644 index 00000000..0f66dd53 Binary files /dev/null and b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/music_a.wav differ diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/music_a.wav.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/music_a.wav.meta new file mode 100644 index 00000000..237a2411 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/music_a.wav.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 620a58d8d3f95f545a0859e7a3700c40 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 2 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 1 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + platformSettingOverrides: + 1: + serializedVersion: 2 + loadType: 2 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 1 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + 4: + serializedVersion: 2 + loadType: 2 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 1 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + 7: + serializedVersion: 2 + loadType: 2 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 1 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + 13: + serializedVersion: 2 + loadType: 2 + sampleRateSetting: 2 + sampleRateOverride: 44100 + compressionFormat: 7 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_a.wav b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_a.wav new file mode 100644 index 00000000..e48a21c2 Binary files /dev/null and b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_a.wav differ diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_a.wav.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_a.wav.meta new file mode 100644 index 00000000..2e515b38 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_a.wav.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: c579d502aac4ba845895732f136e06ba +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 1 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 0 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + platformSettingOverrides: + 1: + serializedVersion: 2 + loadType: 1 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 0 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + 4: + serializedVersion: 2 + loadType: 1 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 0 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + 7: + serializedVersion: 2 + loadType: 1 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 0 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + 13: + serializedVersion: 2 + loadType: 1 + sampleRateSetting: 2 + sampleRateOverride: 44100 + compressionFormat: 7 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_b.wav b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_b.wav new file mode 100644 index 00000000..6a8c9464 Binary files /dev/null and b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_b.wav differ diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_b.wav.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_b.wav.meta new file mode 100644 index 00000000..020a1c29 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Audio/sound_b.wav.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: dd81c7a05b470df4190f45fd3291de7d +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 0 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + platformSettingOverrides: + 1: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 0 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + 4: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 0 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + 7: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 0 + compressionFormat: 0 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + 13: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 2 + sampleRateOverride: 44100 + compressionFormat: 7 + quality: 0.5 + conversionMode: 0 + preloadAudioData: 1 + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Image.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Image.meta new file mode 100644 index 00000000..d831e705 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Image.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d4768b7c3d3101d4ea693f95b337861d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Image/image_a.png b/Assets/YooAsset/Samples~/Test Sample/TestRes/Image/image_a.png new file mode 100644 index 00000000..7268960f Binary files /dev/null and b/Assets/YooAsset/Samples~/Test Sample/TestRes/Image/image_a.png differ diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Image/image_a.png.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Image/image_a.png.meta new file mode 100644 index 00000000..b852c2ec --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Image/image_a.png.meta @@ -0,0 +1,219 @@ +fileFormatVersion: 2 +guid: aabb33512ef5a1e4b82ab62b48174388 +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: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + 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: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: image_a_0 + rect: + serializedVersion: 2 + x: 21 + y: 16 + width: 471 + height: 473 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 91146573e1a4d014a806b24fa9cb6f0d + internalID: -1425660917 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: image_a_1 + rect: + serializedVersion: 2 + x: 526 + y: 12 + width: 483 + height: 480 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: a1731b0da909b874186c63cdcaacdf44 + internalID: 1768656825 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: image_a_2 + rect: + serializedVersion: 2 + x: 1032 + y: 9 + width: 484 + height: 486 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 539d18f1e9de1d748adba679160d2560 + internalID: -1756424530 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 9548a159e49be6d46a487f932e9ced9a + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + image_a_0: -1425660917 + image_a_1: 1768656825 + image_a_2: -1756424530 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab.meta new file mode 100644 index 00000000..b7e056ae --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8da7a00d90270b44898e9b165f86f005 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_a.prefab b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_a.prefab new file mode 100644 index 00000000..053937c4 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_a.prefab @@ -0,0 +1,157 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3668533437794098342 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3261458243953667020} + - component: {fileID: 5426642485336130165} + - component: {fileID: 594853164802008002} + m_Layer: 0 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3261458243953667020 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3668533437794098342} + 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: 2037322908504346998} + 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 &5426642485336130165 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3668533437794098342} + m_CullTransparentMesh: 1 +--- !u!114 &594853164802008002 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3668533437794098342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 21300000, guid: fcab35236e33438448805a9211b0cc19, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !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: prefab_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: + - {fileID: 3261458243953667020} + 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 prefab a ! diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_a.prefab.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_a.prefab.meta new file mode 100644 index 00000000..4c6e1b32 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_a.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f9237033ade476d42959bf68436d0d37 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_b.prefab b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_b.prefab new file mode 100644 index 00000000..c3c6b32d --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_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: prefab_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 prefab b ! diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_b.prefab.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_b.prefab.meta new file mode 100644 index 00000000..64cbd7b1 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_b.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 53fb9a4b24288ec46ab3d690586c05c2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_c.prefab b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_c.prefab new file mode 100644 index 00000000..63dc642b --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_c.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: prefab_c + 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 prefab c ! diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_c.prefab.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_c.prefab.meta new file mode 100644 index 00000000..c2e2efb4 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Prefab/prefab_c.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7b5b32207fc20a546a10680e84845fb7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles.meta new file mode 100644 index 00000000..8f309ba9 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fddaaf9430e24344196cc82ac3d006b4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_a.txt b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_a.txt new file mode 100644 index 00000000..a36dda85 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_a.txt @@ -0,0 +1 @@ +this is raw file a ! \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_a.txt.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_a.txt.meta new file mode 100644 index 00000000..b7802798 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_a.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 82238931a9f82de448346fa978ab3dad +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_b.txt b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_b.txt new file mode 100644 index 00000000..c5414a9e --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_b.txt @@ -0,0 +1 @@ +this is raw file b ! \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_b.txt.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_b.txt.meta new file mode 100644 index 00000000..e8f1844b --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_b.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5e921c3196b5131409bee613f152cb11 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_c.txt b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_c.txt new file mode 100644 index 00000000..777a13ad --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_c.txt @@ -0,0 +1 @@ +this is raw file c ! \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_c.txt.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_c.txt.meta new file mode 100644 index 00000000..95f9e58b --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/RawFiles/raw_file_c.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 32c2db83a75de2545a6837cf9d50b88f +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene.meta new file mode 100644 index 00000000..76c5b359 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e169b07999abb0489113f5f4c015c89 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_a.unity b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_a.unity new file mode 100644 index 00000000..07f9046e --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_a.unity @@ -0,0 +1,422 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &148710852 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 148710854} + - component: {fileID: 148710853} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &148710853 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148710852} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &148710854 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148710852} + serializedVersion: 2 + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1726234111 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1726234115} + - component: {fileID: 1726234114} + - component: {fileID: 1726234113} + - component: {fileID: 1726234112} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1726234112 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1726234111} + 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} +--- !u!23 &1726234113 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1726234111} + 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: 10303, guid: 0000000000000000f000000000000000, type: 0} + 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!33 &1726234114 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1726234111} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1726234115 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1726234111} + serializedVersion: 2 + 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} +--- !u!1 &2032300066 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2032300069} + - component: {fileID: 2032300068} + - component: {fileID: 2032300067} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &2032300067 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032300066} + m_Enabled: 1 +--- !u!20 &2032300068 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032300066} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 100 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &2032300069 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032300066} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + 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!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 2032300069} + - {fileID: 148710854} + - {fileID: 1726234115} diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_a.unity.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_a.unity.meta new file mode 100644 index 00000000..fea4e4f4 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_a.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 66af64580b442bc44bf99d5f8d26fb83 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_b.unity b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_b.unity new file mode 100644 index 00000000..fbeab51e --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_b.unity @@ -0,0 +1,413 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &148710852 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 148710854} + - component: {fileID: 148710853} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &148710853 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148710852} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &148710854 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148710852} + serializedVersion: 2 + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1622835240 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1622835244} + - component: {fileID: 1622835243} + - component: {fileID: 1622835242} + - component: {fileID: 1622835241} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!135 &1622835241 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1622835240} + 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_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1622835242 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1622835240} + 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: 10303, guid: 0000000000000000f000000000000000, type: 0} + 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!33 &1622835243 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1622835240} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1622835244 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1622835240} + serializedVersion: 2 + 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} +--- !u!1 &2032300066 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2032300069} + - component: {fileID: 2032300068} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!20 &2032300068 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032300066} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 100 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &2032300069 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032300066} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + 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!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 2032300069} + - {fileID: 148710854} + - {fileID: 1622835244} diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_b.unity.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_b.unity.meta new file mode 100644 index 00000000..9a589df8 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_b.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0a98b87717a3c4c46931c07550f10d0a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_c.unity b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_c.unity new file mode 100644 index 00000000..65761278 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_c.unity @@ -0,0 +1,424 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &148710852 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 148710854} + - component: {fileID: 148710853} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &148710853 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148710852} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &148710854 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148710852} + serializedVersion: 2 + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1590071827 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1590071831} + - component: {fileID: 1590071830} + - component: {fileID: 1590071829} + - component: {fileID: 1590071828} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!136 &1590071828 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590071827} + 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: 2 + m_Radius: 0.5000001 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697} +--- !u!23 &1590071829 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590071827} + 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: 10303, guid: 0000000000000000f000000000000000, type: 0} + 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!33 &1590071830 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590071827} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1590071831 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590071827} + serializedVersion: 2 + 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} +--- !u!1 &2032300066 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2032300069} + - component: {fileID: 2032300068} + - component: {fileID: 2032300067} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &2032300067 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032300066} + m_Enabled: 1 +--- !u!20 &2032300068 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032300066} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 100 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &2032300069 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032300066} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + 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!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 2032300069} + - {fileID: 148710854} + - {fileID: 1590071831} diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_c.unity.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_c.unity.meta new file mode 100644 index 00000000..05aaaa8c --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Scene/scene_c.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4130bb65f85813f43aa300ce67ce1939 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/ScriptableObject.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/ScriptableObject.meta new file mode 100644 index 00000000..3e97e64f --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/ScriptableObject.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: af885cf1a7abb8c44bd9d139409d2961 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/ScriptableObject/game_config.asset b/Assets/YooAsset/Samples~/Test Sample/TestRes/ScriptableObject/game_config.asset new file mode 100644 index 00000000..8daa5243 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/ScriptableObject/game_config.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 11ddf12cbeb412347957744c69cfc3b6, type: 3} + m_Name: game_config + m_EditorClassIdentifier: + ConfigName: yoo diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/ScriptableObject/game_config.asset.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/ScriptableObject/game_config.asset.meta new file mode 100644 index 00000000..40cc9a6e --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/ScriptableObject/game_config.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be5429c136f161a41a9b9f8ee89bd112 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/SpriteAtlas.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/SpriteAtlas.meta new file mode 100644 index 00000000..7856f7bb --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/SpriteAtlas.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 634f8145b892c554ba440c212b36a933 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/SpriteAtlas/atlas_icon.spriteatlas b/Assets/YooAsset/Samples~/Test Sample/TestRes/SpriteAtlas/atlas_icon.spriteatlas new file mode 100644 index 00000000..54626088 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/SpriteAtlas/atlas_icon.spriteatlas @@ -0,0 +1,54 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!687078895 &4343727234628468602 +SpriteAtlas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: atlas_icon + m_EditorData: + serializedVersion: 2 + textureSettings: + serializedVersion: 2 + anisoLevel: 1 + compressionQuality: 50 + maxTextureSize: 2048 + textureCompression: 0 + filterMode: 1 + generateMipMaps: 0 + readable: 0 + crunchedCompression: 0 + sRGB: 1 + platformSettings: [] + packingSettings: + serializedVersion: 2 + padding: 2 + blockOffset: 1 + allowAlphaSplitting: 0 + enableRotation: 0 + enableTightPacking: 0 + enableAlphaDilation: 0 + secondaryTextureSettings: {} + variantMultiplier: 1 + packables: + - {fileID: 102900000, guid: e41a9b5f04378154f9bd69ac5d52ec44, type: 3} + bindAsDefault: 1 + isAtlasV2: 0 + cachedData: {fileID: 0} + packedSpriteRenderDataKeys: + - 379c45e0c5ba5e54e8df03f52e4c7680: 21300000 + - fcab35236e33438448805a9211b0cc19: 21300000 + - 3b8db7241fc8ff54e9dea6fc64cfd7e5: 21300000 + m_MasterAtlas: {fileID: 0} + m_PackedSprites: + - {fileID: 21300000, guid: 379c45e0c5ba5e54e8df03f52e4c7680, type: 3} + - {fileID: 21300000, guid: fcab35236e33438448805a9211b0cc19, type: 3} + - {fileID: 21300000, guid: 3b8db7241fc8ff54e9dea6fc64cfd7e5, type: 3} + m_PackedSpriteNamesToIndex: + - pause + - bullet + - rocket + m_RenderDataMap: {} + m_Tag: atlas_icon + m_IsVariant: 0 diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/SpriteAtlas/atlas_icon.spriteatlas.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/SpriteAtlas/atlas_icon.spriteatlas.meta new file mode 100644 index 00000000..38220567 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/SpriteAtlas/atlas_icon.spriteatlas.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1679f4d6c3aca0549bfab2e3f327a98b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4343727234628468602 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites.meta new file mode 100644 index 00000000..227e8bbe --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e41a9b5f04378154f9bd69ac5d52ec44 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/bullet.png b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/bullet.png new file mode 100644 index 00000000..c3079672 Binary files /dev/null and b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/bullet.png differ diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/bullet.png.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/bullet.png.meta new file mode 100644 index 00000000..0c8fc82c --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/bullet.png.meta @@ -0,0 +1,153 @@ +fileFormatVersion: 2 +guid: fcab35236e33438448805a9211b0cc19 +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: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + 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: 8 + 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/TestRes/Sprites/pause.png b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/pause.png new file mode 100644 index 00000000..801fe7d9 Binary files /dev/null and b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/pause.png differ diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/pause.png.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/pause.png.meta new file mode 100644 index 00000000..ae3484b9 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/pause.png.meta @@ -0,0 +1,153 @@ +fileFormatVersion: 2 +guid: 379c45e0c5ba5e54e8df03f52e4c7680 +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: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + 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: 8 + 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/TestRes/Sprites/rocket.png b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/rocket.png new file mode 100644 index 00000000..6c815da2 Binary files /dev/null and b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/rocket.png differ diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/rocket.png.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/rocket.png.meta new file mode 100644 index 00000000..ef38f94a --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Sprites/rocket.png.meta @@ -0,0 +1,153 @@ +fileFormatVersion: 2 +guid: 3b8db7241fc8ff54e9dea6fc64cfd7e5 +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: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + 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: 8 + 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/TestRes/Video.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Video.meta new file mode 100644 index 00000000..126dcdf1 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Video.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9028a60fd472239448b89453084bfa0a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Video/video_logo.mp4 b/Assets/YooAsset/Samples~/Test Sample/TestRes/Video/video_logo.mp4 new file mode 100644 index 00000000..db3c6724 Binary files /dev/null and b/Assets/YooAsset/Samples~/Test Sample/TestRes/Video/video_logo.mp4 differ diff --git a/Assets/YooAsset/Samples~/Test Sample/TestRes/Video/video_logo.mp4.meta b/Assets/YooAsset/Samples~/Test Sample/TestRes/Video/video_logo.mp4.meta new file mode 100644 index 00000000..594add78 --- /dev/null +++ b/Assets/YooAsset/Samples~/Test Sample/TestRes/Video/video_logo.mp4.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 0ca68e9d29394da4588b661fb3b157d9 +VideoClipImporter: + externalObjects: {} + serializedVersion: 2 + frameRange: 0 + startFrame: -1 + endFrame: -1 + colorSpace: 0 + deinterlace: 0 + encodeAlpha: 0 + flipVertical: 0 + flipHorizontal: 0 + importAudio: 1 + targetSettings: {} + userData: + assetBundleName: + assetBundleVariant: