public void GatherAllAssetReferenceDrawableEntries_ReturnsFolderSubAssets()
        {
            //Setup
            string testAssetFolder    = k_TestConfigFolder + "/TestFolder";
            string testAssetSubFolder = Path.Combine(testAssetFolder, "SubFolder");

            string mainPrefabPath = Path.Combine(testAssetFolder, "mainFolder.prefab").Replace('\\', '/');
            string subPrefabPath  = Path.Combine(testAssetSubFolder, "subFolder.prefab").Replace('\\', '/');

            Directory.CreateDirectory(testAssetFolder);
            PrefabUtility.SaveAsPrefabAsset(new GameObject("mainFolderAsset"), mainPrefabPath);

            Directory.CreateDirectory(testAssetSubFolder);
            PrefabUtility.SaveAsPrefabAsset(new GameObject("subFolderAsset"), subPrefabPath);

            //Test
            AddressableAssetEntry      entry   = new AddressableAssetEntry(AssetDatabase.AssetPathToGUID(testAssetFolder), "Folder", null, false);
            List <IReferenceEntryData> results = new List <IReferenceEntryData>();

            entry.GatherAllAssetReferenceDrawableEntries(results);

            //Assert
            Assert.AreEqual(2, results.Count);
            Assert.AreEqual(mainPrefabPath, results[0].AssetPath);
            Assert.AreEqual(subPrefabPath, results[1].AssetPath);

            //Cleanup
            Directory.Delete(testAssetFolder, true);
        }
        public void GatherAllAssetReferenceDrawableEntries_AddsAllEntries_FromAddressableAssetEntryCollection()
        {
            //Setup
            string testAssetFolder = k_TestConfigFolder + "/TestFolder";
            string collectionPath  = Path.Combine(testAssetFolder, "collection.asset").Replace('\\', '/');

            Directory.CreateDirectory(testAssetFolder);

            var collection = ScriptableObject.CreateInstance <AddressableAssetEntryCollection>();
            AddressableAssetEntry entry = new AddressableAssetEntry("12345698655", "Entry", null, false);

            entry.m_cachedAssetPath = "TestPath";
            collection.Entries.Add(entry);

            AssetDatabase.CreateAsset(collection, collectionPath);

            AddressableAssetEntry collectionEntry = new AddressableAssetEntry("", "collection", null, false);

            collectionEntry.m_cachedMainAssetType = typeof(AddressableAssetEntryCollection);
            collectionEntry.m_cachedAssetPath     = collectionPath;

            //Test
            List <IReferenceEntryData> results = new List <IReferenceEntryData>();

            collectionEntry.GatherAllAssetReferenceDrawableEntries(results);

            //Assert
            Assert.AreEqual(1, results.Count);
            Assert.AreEqual(entry.AssetPath, results[0].AssetPath);

            //Cleanup
            Directory.Delete(testAssetFolder, true);
        }
Exemplo n.º 3
0
        public void GatherAllAssetReferenceDrawableEntries_DoesNotReturnResources()
        {
            //Setup
            string scenePath  = "TestScenePath";
            var    savedCache = BuiltinSceneCache.scenes;

            BuiltinSceneCache.scenes = new EditorBuildSettingsScene[]
            {
                new EditorBuildSettingsScene(scenePath, true)
            };

            AddressableAssetEntry entry = Settings.CreateOrMoveEntry(AddressableAssetEntry.ResourcesName, m_testGroup, false);

            //Test
            List <IReferenceEntryData> results = new List <IReferenceEntryData>();

            entry.GatherAllAssetReferenceDrawableEntries(results, Settings);

            //Assert
            Assert.AreEqual(0, results.Count);

            //Cleanup
            BuiltinSceneCache.scenes = savedCache;
            Settings.RemoveAssetEntry(AddressableAssetEntry.ResourcesName, false);
        }
        public void GatherAllAssetReferenceDrawableEntries_AddsSimpleAssetEntries()
        {
            AddressableAssetEntry entry = new AddressableAssetEntry("12345698655", "Entry", null, false);

            entry.m_cachedAssetPath = "TestPath";

            List <IReferenceEntryData> results = new List <IReferenceEntryData>();

            entry.GatherAllAssetReferenceDrawableEntries(results);

            Assert.AreEqual(1, results.Count);
            Assert.AreEqual(entry.AssetPath, results[0].AssetPath);
        }
Exemplo n.º 5
0
        public void GatherAllAssetReferenceDrawableEntries_DoesNotReturnScenesInFolder_IfSceneIsInBuiltInScenes()
        {
            //Setup
            string testAssetFolder    = GetAssetPath("TestFolder");
            string testAssetSubFolder = Path.Combine(testAssetFolder, "SubFolder");

            Directory.CreateDirectory(testAssetFolder);
            Directory.CreateDirectory(testAssetSubFolder);

            AssetDatabase.ImportAsset(testAssetFolder);
            AssetDatabase.ImportAsset(testAssetSubFolder);

            string mainPrefabPath = Path.Combine(testAssetFolder, "mainFolder.prefab").Replace('\\', '/');
            string subPrefabPath  = Path.Combine(testAssetSubFolder, "subFolder.prefab").Replace('\\', '/');
            string scenePath      = Path.Combine(testAssetFolder, "TestScenePath.unity").Replace('\\', '/');

            var savedCache = BuiltinSceneCache.scenes;

            BuiltinSceneCache.scenes = new EditorBuildSettingsScene[]
            {
                new EditorBuildSettingsScene(scenePath, true)
            };

            PrefabUtility.SaveAsPrefabAsset(new GameObject("mainFolderAsset"), mainPrefabPath);
            PrefabUtility.SaveAsPrefabAsset(new GameObject("subFolderAsset"), subPrefabPath);
            EditorSceneManager.SaveScene(EditorSceneManager.NewScene(NewSceneSetup.EmptyScene), scenePath);

            string guid = AssetDatabase.AssetPathToGUID(testAssetFolder);
            AddressableAssetEntry      entry   = Settings.CreateOrMoveEntry(guid, m_testGroup, false);
            List <IReferenceEntryData> results = new List <IReferenceEntryData>();

            //Test
            entry.GatherAllAssetReferenceDrawableEntries(results, Settings);

            //Assert
            Assert.AreEqual(2, results.Count);
            Assert.AreEqual(mainPrefabPath, results[0].AssetPath);
            Assert.AreEqual(subPrefabPath, results[1].AssetPath);

            //Cleanup
            Directory.Delete(testAssetFolder, true);
            BuiltinSceneCache.scenes = savedCache;
            Settings.RemoveAssetEntry(guid, false);
        }
Exemplo n.º 6
0
        public void GatherAllAssetReferenceDrawableEntries_AddsSimpleAssetEntries()
        {
            //Setup
            string guid = "12345698655";
            AddressableAssetEntry entry = Settings.CreateOrMoveEntry(guid, m_testGroup, false);

            entry.m_cachedAssetPath = "TestPath";
            List <IReferenceEntryData> results = new List <IReferenceEntryData>();

            //Test
            entry.GatherAllAssetReferenceDrawableEntries(results, Settings);

            //Assert
            Assert.AreEqual(1, results.Count);
            Assert.AreEqual(entry.AssetPath, results[0].AssetPath);

            //Cleanup
            Settings.RemoveAssetEntry(guid, false);
        }
        public void GatherAllAssetReferenceDrawableEntries_ReturnsBuiltInScenes()
        {
            //Setup
            string scenePath  = "TestScenePath";
            var    savedCache = BuiltinSceneCache.scenes;

            BuiltinSceneCache.scenes = new EditorBuildSettingsScene[]
            {
                new EditorBuildSettingsScene(scenePath, true)
            };
            AddressableAssetEntry entry = new AddressableAssetEntry(AddressableAssetEntry.EditorSceneListName, "EditorSceneList", null, false);

            //Test
            List <IReferenceEntryData> results = new List <IReferenceEntryData>();

            entry.GatherAllAssetReferenceDrawableEntries(results);

            //Assert
            Assert.AreEqual(0, results.Count);

            //Cleanup
            BuiltinSceneCache.scenes = savedCache;
        }
Exemplo n.º 8
0
        public void GatherAllAssetReferenceDrawableEntries_AddsAllEntries_FromAddressableAssetEntryCollection()
        {
            //Setup
            string testAssetFolder = GetAssetPath("TestFolder");
            string collectionPath  = Path.Combine(testAssetFolder, "collection.asset").Replace('\\', '/');

            Directory.CreateDirectory(testAssetFolder);

            var    collection           = ScriptableObject.CreateInstance <AddressableAssetEntryCollection>();
            string guid                 = "12345698655";
            AddressableAssetEntry entry = Settings.CreateOrMoveEntry(guid, m_testGroup, false);

            entry.m_cachedAssetPath = "TestPath";
            collection.Entries.Add(entry);

            AssetDatabase.CreateAsset(collection, collectionPath);

            string collectionGuid = "CollectionGuid";
            AddressableAssetEntry collectionEntry = Settings.CreateOrMoveEntry(collectionGuid, m_testGroup, false);

            collectionEntry.m_cachedMainAssetType = typeof(AddressableAssetEntryCollection);
            collectionEntry.m_cachedAssetPath     = collectionPath;

            //Test
            List <IReferenceEntryData> results = new List <IReferenceEntryData>();

            collectionEntry.GatherAllAssetReferenceDrawableEntries(results, Settings);

            //Assert
            Assert.AreEqual(1, results.Count);
            Assert.AreEqual(entry.AssetPath, results[0].AssetPath);

            //Cleanup
            Directory.Delete(testAssetFolder, true);
            Settings.RemoveAssetEntry(guid, false);
            Settings.RemoveAssetEntry(collectionGuid, false);
        }