OpenRA.TerrainTemplateInfo.LoadTileInfo C# (CSharp) Method

LoadTileInfo() static private method

static private LoadTileInfo ( TileSet tileSet, MiniYaml my ) : TerrainTileInfo
tileSet TileSet
my MiniYaml
return TerrainTileInfo
        static TerrainTileInfo LoadTileInfo(TileSet tileSet, MiniYaml my)
        {
            var tile = new TerrainTileInfo();
            FieldLoader.Load(tile, my);

            // Terrain type must be converted from a string to an index
            tile.GetType().GetField("TerrainType").SetValue(tile, tileSet.GetTerrainIndex(my.Value));

            // Fall back to the terrain-type color if necessary
            var overrideColor = tileSet.TerrainInfo[tile.TerrainType].Color;
            if (tile.LeftColor == default(Color))
                tile.GetType().GetField("LeftColor").SetValue(tile, overrideColor);

            if (tile.RightColor == default(Color))
                tile.GetType().GetField("RightColor").SetValue(tile, overrideColor);

            return tile;
        }