public void WhenAssetHasDependencyOnBundle_AssetLocationIncludesRecursiveBundleDependencies() { GenerateLocationListsTask.Input input = GenerateDefaultInput(); AddressableAssetGroup groupX = CreateGroupMappedToBundle(input, "X"); AddressableAssetGroup groupY = CreateGroupMappedToBundle(input, "Y"); AddressableAssetGroup groupZ = CreateGroupMappedToBundle(input, "Z"); AddressableAssetGroup groupW = CreateGroupMappedToBundle(input, "W"); CreateAddressablePrefab(input, "p1", groupX, "fileX", "fileY"); CreateAddressablePrefab(input, "p2", groupY, "fileY"); CreateAddressablePrefab(input, "p3", groupY, "fileY", "fileZ"); CreateAddressablePrefab(input, "p4", groupZ, "fileZ"); CreateAddressablePrefab(input, "p5", groupZ, "fileZ", "fileW"); CreateAddressablePrefab(input, "p6", groupW, "fileW"); input.AddressableAssetEntries = BuildAddressableAssetEntryList(input.Settings); GenerateLocationListsTask.Output output = GenerateLocationListsTask.ProcessInput(input); AssertLocationDependencies(output, "p1", "bundleX", "bundleY", "bundleZ", "bundleW"); AssertLocationDependencies(output, "p2", "bundleY", "bundleZ", "bundleW"); AssertLocationDependencies(output, "p3", "bundleY", "bundleZ", "bundleW"); AssertLocationDependencies(output, "p4", "bundleZ", "bundleW"); AssertLocationDependencies(output, "p5", "bundleZ", "bundleW"); AssertLocationDependencies(output, "p6", "bundleW"); }
public void WhenAssetLoadsFromBundle_ProviderTypesIncludesBundledAssetProvider() { GenerateLocationListsTask.Input input = GenerateDefaultInput(); AddressableAssetGroup groupX = CreateGroupMappedToBundle(input, "X"); CreateAddressablePrefab(input, "p1", groupX, "fileX"); input.AddressableAssetEntries = BuildAddressableAssetEntryList(input.Settings); GenerateLocationListsTask.Output output = GenerateLocationListsTask.ProcessInput(input); CollectionAssert.Contains(output.ProviderTypes, typeof(BundledAssetProvider)); }
public void WhenGroupCreatesMultipleBundles_AllBundlesInAssetGroupToBundlesMap() { GenerateLocationListsTask.Input input = GenerateDefaultInput(); AddressableAssetGroup group = m_Settings.CreateGroup($"groupX", false, false, false, null, typeof(BundledAssetGroupSchema)); input.BundleToAssetGroup["bundleX"] = group.Guid; input.BundleToAssetGroup["bundleY"] = group.Guid; input.FileToBundle["fileX"] = "bundle1"; input.FileToBundle["fileY"] = "bundle2"; CreateAddressablePrefab(input, "p1", group, "fileX"); CreateAddressablePrefab(input, "p2", group, "fileY"); input.AddressableAssetEntries = BuildAddressableAssetEntryList(input.Settings); GenerateLocationListsTask.Output output = GenerateLocationListsTask.ProcessInput(input); CollectionAssert.AreEquivalent(new string[] { "bundle1", "bundle2" }, output.AssetGroupToBundles[group]); }
void AssertLocationDependencies(GenerateLocationListsTask.Output output, string location, params string[] deps) { FindLocationEntry(output.Locations, location, out ContentCatalogDataEntry e1); CollectionAssert.AreEquivalent(e1.Dependencies, deps); }