Inheritance: AbstractTextureRef
Example #1
0
        public CityMap(string directory)
        {
            _Directory = directory;
            string ext = "bmp";

            if (!File.Exists(Path.Combine(directory, "elevation.bmp")))
            {
                ext = "png"; //fso maps use png
            }
            Elevation      = new FileTextureRef(Path.Combine(directory, "elevation." + ext));
            ForestDensity  = new FileTextureRef(Path.Combine(directory, "forestdensity." + ext));
            ForestType     = new FileTextureRef(Path.Combine(directory, "foresttype." + ext));
            RoadMap        = new FileTextureRef(Path.Combine(directory, "roadmap." + ext));
            TerrainTypeTex = new FileTextureRef(Path.Combine(directory, "terraintype." + ext));
            VertexColour   = new FileTextureRef(Path.Combine(directory, "vertexcolor." + ext));
            Thumbnail      = new FileTextureRef(Path.Combine(directory, "thumbnail." + ext));

            _TerrainType = new TextureValueMap <Model.TerrainType>(TerrainTypeTex, x =>
            {
                if (x == TERRAIN_GRASS)
                {
                    return(Model.TerrainType.GRASS);
                }
                else if (x == TERRAIN_WATER)
                {
                    return(Model.TerrainType.WATER);
                }
                else if (x == TERRAIN_SNOW)
                {
                    return(Model.TerrainType.SNOW);
                }
                else if (x == TERRAIN_ROCK)
                {
                    return(Model.TerrainType.ROCK);
                }
                else if (x == TERRAIN_SAND)
                {
                    return(Model.TerrainType.SAND);
                }
                return(default(TerrainType));
            });

            _ElevationMap = new TextureValueMap <byte>(Elevation, x => x.R);
            _RoadMap      = new TextureValueMap <byte>(RoadMap, x => x.R);
        }