Exemplo n.º 1
0
        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);
        }