Artemis.Engine.Graphics.Animation.LoadDirectoryReader.read C# (CSharp) Метод

read() публичный Метод

public read ( ) : void
Результат void
        public void read()
        {
            foreach (var node in LoadImageTag)
            {
                var element = node as XmlElement;

                if (element == null)
                {
                    continue;
                }

                ReadElementAttributes(element);

                if (element.HasChildNodes)
                {
                    ReadElementChildNodes(element);
                }
            }
        }

Usage Example

        private void ReadElement(XmlElement element)
        {
            switch (element.Name)
            {
                case LOAD_IMAGE_AS_TILE:
                    LoadImageAsTileReader imageTileReader = new LoadImageAsTileReader(element);
                    imageTileReader.read();

                    addTile = new SpriteSheet.Tile(currentTileID, imageTileReader.Tile);

                    if (!TileGroups.ContainsKey(imageTileReader.TileGroup))
                    {
                        TileGroups.Add(imageTileReader.TileGroup, new Dictionary<string, SpriteSheet.Tile>());
                    }

                    if (!CurrentFrame.ContainsKey(imageTileReader.TileGroup))
                    {
                        CurrentFrame.Add(imageTileReader.TileGroup, 0);
                    }

                    TileGroups[imageTileReader.TileGroup].Add(imageTileReader.TileGroup + CurrentFrame[imageTileReader.TileGroup], addTile);
                    Textures.Add(imageTileReader.Texture);

                    CurrentFrame[imageTileReader.TileGroup]++;
                    currentTileID++;
                    break;

                case LOAD_SHEET:
                    LoadSheetReader sheetReader = new LoadSheetReader(element);
                    sheetReader.read();

                    foreach (KeyValuePair<string, List<Rectangle>> group in sheetReader.GroupTiles)
                    {
                        if (!TileGroups.ContainsKey(group.Key))
                        {
                            TileGroups.Add(group.Key, new Dictionary<string, SpriteSheet.Tile>());
                            CurrentFrame.Add(group.Key, 0);
                        }
                        foreach (Rectangle tile in group.Value)
                        {
                            addTile = new SpriteSheet.Tile(currentTileID, tile);
                            TileGroups[group.Key].Add(group.Key + CurrentFrame[group.Key], addTile);
                            CurrentFrame[group.Key]++;
                        }
                    }

                    Textures.Add(sheetReader.Texture);
                    currentTileID++;
                    break;

                case LOAD_DIRECTORY:
                    LoadDirectoryReader directoryReader = new LoadDirectoryReader(element);
                    directoryReader.read();

                    if (!TileGroups.ContainsKey(directoryReader.GroupName))
                    {
                        TileGroups.Add(directoryReader.GroupName, new Dictionary<string, SpriteSheet.Tile>());
                        CurrentFrame.Add(directoryReader.GroupName, 0);
                    }

                    foreach (var key in directoryReader.Tiles.Keys)
                    {
                        addTile = new SpriteSheet.Tile(currentTileID, directoryReader.Tiles[key]);

                        TileGroups[directoryReader.GroupName].Add(directoryReader.GroupName + CurrentFrame[directoryReader.GroupName], addTile);
                        Textures.Add(directoryReader.Textures[key]);

                        CurrentFrame[directoryReader.GroupName]++;
                        currentTileID++;
                    }
                    break;

                case LOAD_DIRECTORY_FULL:
                    LoadDirectoryFullReader directoryFullReader = new LoadDirectoryFullReader(element);
                    directoryFullReader.Read();

                    if (!TileGroups.ContainsKey(directoryFullReader.GroupName))
                    {
                        TileGroups.Add(directoryFullReader.GroupName, new Dictionary<string, SpriteSheet.Tile>());
                        CurrentFrame.Add(directoryFullReader.GroupName, 0);
                    }

                    foreach (var key in directoryFullReader.Tiles.Keys)
                    {
                        addTile = new SpriteSheet.Tile(currentTileID, directoryFullReader.Tiles[key]);

                        TileGroups[directoryFullReader.GroupName].Add(directoryFullReader.GroupName + CurrentFrame[directoryFullReader.GroupName], addTile);
                        Textures.Add(directoryFullReader.Textures[key]);

                        CurrentFrame[directoryFullReader.GroupName]++;
                        currentTileID++;
                    }
                    break;

                default:
                    break;
            }
        }
All Usage Examples Of Artemis.Engine.Graphics.Animation.LoadDirectoryReader::read