public void EditorInitialization_DoesNotDeleteFoldersThatAreStillOnDisk() { //Setup string folderPath = "Assets/Temp/FakeAddressablesFolder/"; Directory.CreateDirectory(folderPath); AssetDatabase.ImportAsset(folderPath); AddressableAssetEntry entry = new AddressableAssetEntry(AssetDatabase.AssetPathToGUID(folderPath), folderPath, m_testGroup, false); m_testGroup.AddAssetEntry(entry); entry.m_cachedAssetPath = folderPath; Assert.IsTrue(m_testGroup.entries.Contains(entry), "Folder entry is no longer in Addressable group before purge."); //Test AddressableEditorInitialization.PurgeInvalidAssetEntries(Settings); //Assert Assert.IsTrue(m_testGroup.entries.Contains(entry), "Folder entry is no longer in Addressable group after purge."); //Cleanup m_testGroup.RemoveAssetEntry(entry); AssetDatabase.DeleteAsset(folderPath); }
public void RemoveOnSetterNull() { if (Setter != null) { return; } RemoveAdataFrom(this, GlobalOnStartList); RemoveAdataFrom(this, GlobalOnAwakeList); if (group != null && group.entries.Contains(entry)) { group.RemoveAssetEntry(entry); } }
private static void RemoveInvalidAsset(AddressableAssetGroup group) { List <AddressableAssetEntry> invalidAssets = new List <AddressableAssetEntry>(); foreach (AddressableAssetEntry iterAsset in group.entries) { if (string.IsNullOrWhiteSpace(AssetDatabase.GUIDToAssetPath(iterAsset.guid))) { invalidAssets.Add(iterAsset); } } for (int iAsset = 0; iAsset < invalidAssets.Count; iAsset++) { AddressableAssetEntry iterAsset = invalidAssets[iAsset]; group.RemoveAssetEntry(iterAsset, false); } }