protected override void Initialize() { base.Initialize(); HeightRenderer.Initialize(); TemperatureRenderer.Initialize(); MoistureRenderer.Initialize(); }
void Update() { if (Input.GetMouseButtonDown(0)) { /*physical = mapObject.GetComponent<PhysicalMap>(); * physical.init(xSize, ySize); * HeightMapGenerator hgen = new HeightMapGenerator(); * Heightmap heightmap = hgen.generateMap(xSize, ySize); * WaterMap watermap = new WaterMap(heightmap); * terrainmap = new TerrainMap(heightmap, watermap); * temperaturemap = new TemperatureMap(terrainmap, Random.Range(0, 11)); * tr = new TemperatureRenderer(new LandmassMap(terrainmap), temperaturemap); * physical.draw(tr);*/ physical = mapObject.GetComponent <PhysicalMap>(); physical.init(xSize, ySize); MapSerializable mser = MapSerializable.loadFromFile("testHM"); Heightmap heightmap = new Heightmap(xSize, ySize, 0.5f, mser.grid); WaterMap watermap = new WaterMap(heightmap); terrainmap = new TerrainMap(heightmap, watermap); mser = MapSerializable.loadFromFile("testTM"); temperaturemap = new TemperatureMap(xSize, ySize, mser.grid, terrainmap); tr = new TemperatureRenderer(new LandmassMap(terrainmap), temperaturemap); physical.draw(tr); } if (Input.GetMouseButtonDown(1)) { if (state == 0) { RecursiveWindGenerator wgen = new RecursiveWindGenerator(temperaturemap); wm = new WindMap(xSize, ySize, terrainmap, temperaturemap, 3); WindSpeedRenderer wsr = new WindSpeedRenderer(wm, new LandmassMap(terrainmap)); WindDirectionRenderer wdr = new WindDirectionRenderer(wm, new LandmassMap(terrainmap)); physical.draw(wsr); state++; } else if (state >= 1) { RecursiveWindGenerator wgen = new RecursiveWindGenerator(temperaturemap); wm = new WindMap(xSize, ySize, terrainmap, temperaturemap, state); WindSpeedRenderer wsr = new WindSpeedRenderer(wm, new LandmassMap(terrainmap)); WindDirectionRenderer wdr = new WindDirectionRenderer(wm, new LandmassMap(terrainmap)); physical.draw(wdr); state++; } } }
protected override void Draw(GameTime gameTime) { Graphics.GraphicsDevice.Clear(Color.Black); if (MapToRender == 0) { HeightRenderer.Draw(gameTime); } else if (MapToRender == 1) { TemperatureRenderer.Draw(gameTime); } else if (MapToRender == 2) { MoistureRenderer.Draw(gameTime); } base.Draw(gameTime); }
protected override void LoadContent() { base.LoadContent(); var worldBuilder = new WorldBuilder(); var world = worldBuilder.Build(new WorldDefinition(56, 70)); for (var x = 0; x < world.Size.Width; x++) { for (var y = 0; y < world.Size.Height; y++) { var data = world.Get(x, y); var heightColor = Color.Lerp(Color.White, Color.Black, data.Height); var temperatureColor = Color.Lerp(Color.Blue, Color.Red, data.Temperature); var moistureColor = Color.Lerp(Color.Yellow, Color.Green, data.Moisture); HeightRenderer.Register(new TileControl(new Vector2(x * 8, y * 8), heightColor)); TemperatureRenderer.Register(new TileControl(new Vector2(x * 8, y * 8), temperatureColor)); MoistureRenderer.Register(new TileControl(new Vector2(x * 8, y * 8), moistureColor)); } } }