public void ReloadTexture() { var sprites = LoadedSprites.Where(s => s.Texture == texture).ToList(); texture.Dispose(); texture = null; texture = TextureLoader.FromFile(file, preMultipliedAlpha); foreach (Sprite sprite in sprites) { sprite.texture = texture; } }
public static Sprite GetSprite(string sprite, Vector2 pivot, float pixelsPerUnit = 0f) { string dictionaryEntry = $"{sprite},{pivot.x.ToString()},{pivot.y.ToString()}"; if (LoadedSprites.ContainsKey(dictionaryEntry)) { return(LoadedSprites[dictionaryEntry]); } Texture2D baseTexture = GetTexture(sprite); Sprite newSprite = Sprite.Create(baseTexture, new Rect(0, 0, baseTexture.width, baseTexture.height), pivot, pixelsPerUnit, 0, SpriteMeshType.FullRect); LoadedSprites[dictionaryEntry] = newSprite; return(newSprite); }
public void ReloadTexture(bool updateAllSprites = false) => ReloadTexture(updateAllSprites ? LoadedSprites.Where(s => s.texture == texture).ToList() : new List <Sprite>() { this });
public void ReloadTexture(bool updateAllSprites = false) => ReloadTexture(updateAllSprites ? LoadedSprites.Where(s => s.Texture == texture) : new Sprite[] { this });