Esempio n. 1
0
        protected override void Initialize()
        {
            base.Initialize();

            HeightRenderer.Initialize();
            TemperatureRenderer.Initialize();
            MoistureRenderer.Initialize();
        }
Esempio n. 2
0
    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++;
            }
        }
    }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
                }
            }
        }