public void ActuallyUnloadAtlasOrImage(string name) { bool wasAtlasRemoved = false; int atlasCount = _atlases.Count; for (int a = atlasCount - 1; a >= 0; a--) //reverse order so deletions ain't no thang { FAtlas atlas = _atlases[a]; if (atlas.name == name) { int elementCount = atlas.elements.Count; for (int e = 0; e < elementCount; e++) { _allElementsByName.Remove(atlas.elements[e].name); } atlas.Unload(); // Debug.Log("destroying texture: " + atlas.name + " (" + a + ")"); UnityEngine.GameObject.Destroy(atlas.texture); _atlases.RemoveAt(a); wasAtlasRemoved = true; } } if (wasAtlasRemoved) { Futile.stage.renderer.Clear(); //Resources.UnloadUnusedAssets(); } }
public void ActuallyUnloadAtlasOrImage(string name) { bool wasAtlasRemoved = false; int atlasCount = _atlases.Count; for (int a = atlasCount - 1; a >= 0; a--) //reverse order so deletions ain't no thang { FAtlas atlas = _atlases[a]; if (atlas.name == name) { int elementCount = atlas.elements.Count; for (int e = 0; e < elementCount; e++) { _allElementsByName.Remove(atlas.elements[e].name); } atlas.Unload(); _atlases.RemoveAt(a); wasAtlasRemoved = true; } } if (wasAtlasRemoved) { Futile.stage.renderer.Clear(); Resources.UnloadUnusedAssets(); } }
public void ActuallyUnloadAtlasOrImage(string name) { int atlasCount = _atlases.Count; for (int a = 0; a < atlasCount; ++a) { FAtlas atlas = _atlases[a]; if (atlas.name == name) { for (int e = _allElements.Count - 1; e >= 0; e--) { FAtlasElement element = _allElements[e]; if (element.atlas == atlas) { _allElements.RemoveAt(e); _allElementsByName.Remove(element.name); } } atlas.Unload(); _atlases.RemoveAt(a); } } }