public SpriteCollection GetUsedBySprites(IYZDbProvider provider, IDbConnection cn, string property) { SpriteCollection sprites = new SpriteCollection(); SpriteLinkCollection links = BPAManager.GetSpriteUsedByLinks(provider, cn, this.File.FileID, this.Id, property); foreach (SpriteLink link in links) { if (link.LinkType != ReferenceType.SpriteToSprite) { continue; } File file = File.TryLoad(provider, cn, link.FileID); if (file == null) { continue; } Sprite sprite = file.Sprites.TryGetItem(link.SpriteID); if (sprite != null && !sprites.Contains(sprite.File.FileID, sprite.Id)) { sprites.Add(sprite); } } return(sprites); }