GenerateMap() public method

public GenerateMap ( ) : void
return void
    public override void OnInspectorGUI()
    {
        MapGenerator        mapGen              = (MapGenerator)target;
        GameObject          userOpt             = GameObject.Find("Options");
        UserOptions         userOptions         = userOpt.GetComponent <UserOptions>();
        UserAdvancedOptions userAdvancedOptions = userOpt.GetComponent <UserAdvancedOptions>();

        if (DrawDefaultInspector())
        {
            if (mapGen.autoUpdate)
            {
                mapGen.SetDrawMode();
                userOptions.UpdateVariables();
                userAdvancedOptions.UpdateVariables();
                mapGen.GenerateMap();
            }
        }

        if (GUILayout.Button("Generate"))
        {
            mapGen.SetDrawMode();
            userOptions.UpdateVariables();
            userAdvancedOptions.UpdateVariables();
            mapGen.GenerateMap();
        }

        if (GUILayout.Button("Generate Models"))
        {
            GameObject arcVeg = GameObject.Find("MapGenerator");
            ArchitectureVegetationGenerator arcVegGen = arcVeg.GetComponent <ArchitectureVegetationGenerator>();

            arcVegGen.GenerateArchitecture();
        }
    }
Example #2
0
 void Start()
 {
     map = new MapGenerator.Map(new Vector2Int(10, 10), 30, 0, 0, 0.5f, Color.magenta, Color.blue);
     mapGenerator.maps[0]  = map;
     mapGenerator.mapIndex = 0;
     mapGenerator.GenerateMap();
 }
Example #3
0
    private void IncreaseHeight(int tx, int ty)
    {
        float[,] nm = mapGenerator.GetNoiseMap();
        for (int i = -brushSize; i < brushSize; ++i)
        {
            for (int j = -brushSize; j < brushSize; ++j)
            {
                if (Mathf.Abs(i) + Mathf.Abs(j) <= brushSize)
                {
                    if (tx + i >= 0 && tx + i < 241 && ty + j >= 0 && ty + j < 241)
                    {
                        int sum = Mathf.Abs(i) + Mathf.Abs(j);

                        float inc = increaseAmount * ((float)(brushSize - sum) / brushSize);
                        nm[tx + i, ty + j] += inc;
                        if (nm[tx + i, ty + j] > 1.0f)
                        {
                            nm[tx + i, ty + j] = 1.0f;
                        }
                    }
                }
            }
        }

        mapGenerator.SetNoiseMap(nm);
        mapGenerator.GenerateMap();
    }
Example #4
0
    public override void OnInspectorGUI()
    {
        MapGenerator mapGen = (MapGenerator)target;

        if (DrawDefaultInspector())
        {
            if (mapGen.autoUpdate)
            {
                mapGen.GenerateMap();
            }
        }

        if (GUILayout.Button("Generate"))
        {
            mapGen.GenerateMap();
        }

        if (GUILayout.Button("Erode (" + mapGen.numErosionIterations + " iterations)"))
        {
            //var sw = new System.Diagnostics.Stopwatch();
            //sw.Start();
            mapGen.Erode();
            //sw.Stop();
            //Debug.Log($"Erosion finished ({m.numErosionIterations} iterations; {sw.ElapsedMilliseconds}ms)");
        }
    }
Example #5
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        MapGenerator map = (MapGenerator)target;

        // if (base.DrawDefaultInspector())
        // {
        //  map.GenerateMap();
        // }

        if (GUILayout.Toggle(realTime, "realTime"))
        {
            realTime = true;
            float time = Time.time;
            if (time > nextUp)
            {
                nextUp = time + .1f;
                map.GenerateMap(true);
            }
        }
        else
        {
            realTime = false;
        }
        if (GUILayout.Button("Generate"))
        {
            map.GenerateMap(true);
        }
    }
    public override void OnInspectorGUI()
    {
        MapGenerator MapGen = (MapGenerator)target;

        if (DrawDefaultInspector())
        {
            if (MapGen.autoUpdate)
            {
                MapGen.GenerateMap();
            }
        }

        if (GUILayout.Button("Generate"))
        {
            MapGen.GenerateMap();
        }

        if (GUILayout.Button("Animate"))
        {
            GameObject  Camera = GameObject.Find("MainCamera");
            GameManager GM     = Camera.GetComponent <GameManager>();
            GM.animate = true;
        }
        else
        {
            GameObject  Camera = GameObject.Find("MainCamera");
            GameManager GM     = Camera.GetComponent <GameManager>();
            GM.animate = false;
        }
    }
Example #7
0
    public override void OnInspectorGUI()
    {
        MapGenerator mapGen = (MapGenerator)target;

        if (DrawDefaultInspector())
        {
            if (mapGen.autoUpdate)
            {
                mapGen.GenerateMap();
            }
        }

        if (GUILayout.Button("Generate"))
        {
            mapGen.GenerateMap();
        }

        if (GUILayout.Button("Run Seeds"))
        {
            for (int i = 0; i <= 100; i++)
            {
                mapGen.seed = i;
                mapGen.GenerateMap();
            }
        }
    }
 void Etage1Generation()                    //Genere les thuile de premier etage
 {
     h = 1;                                 //CooH des thuiles du premier etage = 1
     GM.PreFabrication      = SetHeight;    //Attribue cooH et height (height=cooH*2)
     GM.GenerationCondition = EtageFiltrer; //Condition pour generer les thuiles
     GM.GenerateMap(mapEtage1, TileHolderEtage1);
 }
Example #9
0
        public void GenerateMapRandomTest()
        {
            var mapGenerator = new MapGenerator().SetGenerator(MapGenerator.StrategyType.Random);

            for (var i = 2; i < 21; i++)
            {
                Assert.IsTrue(CheckDistribution(mapGenerator.GenerateMap(i)));
            }

            // Checks that 2 generated maps are different.
            var sizeMap = new Random().Next(2, 11);
            Map map1    = mapGenerator.GenerateMap(sizeMap);
            Map map2    = mapGenerator.GenerateMap(sizeMap);

            var same = true;

            for (var i = 0; i < sizeMap && same; i++)
            {
                for (var j = 0; j < sizeMap && same; j++)
                {
                    same = map1.GetTile(new Position(i, j)) == map2.GetTile(new Position(i, j));
                }
            }
            Assert.IsFalse(same);
        }
    public override void OnInspectorGUI()
    {
        MapGenerator mapGenerator = target as MapGenerator;

        // DrawDefaultInspector returns true if any value in the inspector gets changed
        if (DrawDefaultInspector())
        {
            if (mapGenerator.autoUpdate)
            {
                mapGenerator.GenerateMap();
            }
        }

        if (GUILayout.Button("Generate"))
        {
            mapGenerator.GenerateMap();
            EditorUtility.SetDirty(target);
            // EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene());
        }
        if (GUILayout.Button("Spawn Objects"))
        {
            mapGenerator.GenerateObjects();
            EditorUtility.SetDirty(target);
            // EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene());
        }
        if (GUILayout.Button("Next Islands"))
        {
            mapGenerator.NextIslands();
            EditorUtility.SetDirty(target);
        }
    }
Example #11
0
    public override void OnInspectorGUI()
    {
        MapGenerator mapGenerator = (MapGenerator)target;

        if (mapGenerator.chunkSize * (mapGenerator.levelOfDetail * 2) * mapGenerator.chunkSize * (mapGenerator.levelOfDetail * 2) >= 65000)
        {
            generationIsAllowed = false;
            EditorGUILayout.HelpBox("The number of verticles should not exceed 65000", MessageType.Error);
        }
        else
        {
            generationIsAllowed = true;
        }

        if (DrawDefaultInspector())
        {
            if (mapGenerator.autoUpdate && generationIsAllowed)
            {
                mapGenerator.GenerateMap();
            }
        }

        if (GUILayout.Button("Generate"))
        {
            mapGenerator.GenerateMap();
        }

        if (GUILayout.Button("New seed"))
        {
            mapGenerator.SetNewSeed();
            mapGenerator.GenerateMap();
        }
    }
    public override void OnInspectorGUI()
    {
        //base.OnInspectorGUI();
        MapGenerator mapGen           = (MapGenerator)target;
        float        lastNoiseScale   = mapGen.noiseScale;
        float        lastFractalScale = mapGen.fractalScale;

        if (DrawDefaultInspector())
        {
            if (mapGen.autoUpdate)
            {
                if (mapGen.linkScaling)
                {
                    if (mapGen.noiseScale != lastNoiseScale) // update fractalScale
                    {
                        mapGen.fractalScale = mapGen.fractalScale * (mapGen.noiseScale / lastNoiseScale);
                    }
                    else if (mapGen.fractalScale != lastFractalScale)   // update noiseScale
                    {
                        mapGen.noiseScale = mapGen.noiseScale * (mapGen.fractalScale / lastFractalScale);
                    }
                }
                mapGen.GenerateMap();
                lastNoiseScale   = mapGen.noiseScale;
                lastFractalScale = mapGen.fractalScale;
            }
        }

        if (GUILayout.Button("Generate my Map"))
        {
            mapGen.GenerateMap();
        }
    }
Example #13
0
    public override void OnInspectorGUI()
    {
        if (DrawDefaultInspector())
        {
            map.GenerateMap();
        }

        if (GUILayout.Button("Generate Map"))
        {
            map.GenerateMap();
        }
    }
Example #14
0
    public override void OnInspectorGUI()
    {
        MapGenerator map = target as MapGenerator; // CustomEditor 키워드로 이 에디터 스크립트가 다룰것이라 선언한 오브젝트는 target으로 접근할 수 있도록 자동 설정

        if (DrawDefaultInspector())
        {
            map.GenerateMap();
        }
        if (GUILayout.Button("Generate Map"))
        {
            map.GenerateMap();
        }
    }
Example #15
0
    public override void OnInspectorGUI(){
        MapGenerator mapGen = (MapGenerator) target;

        if(DrawDefaultInspector()){
            if(mapGen.autoUpdate){
                mapGen.GenerateMap();
            }
        }
        
        if(GUILayout.Button("Generated")){
            mapGen.GenerateMap();
        }
    }
Example #16
0
    public override void OnInspectorGUI()
    {
        MapGenerator map = target as MapGenerator;

        if (DrawDefaultInspector())//only if a value changes within the editor will it actually update the script attached
        {
            map.GenerateMap();
        }

        if (GUILayout.Button("Generate Map"))
        {
            map.GenerateMap();
        }
    }
Example #17
0
    public override void OnInspectorGUI()
    {
        MapGenerator map = target as MapGenerator; //targeted script (MapGenerator.cs)

        if (DrawDefaultInspector())                //if there is something change in map editor
        {
            map.GenerateMap();                     //update the map
        }

        if (GUILayout.Button("Generate Map")) //crete a button in map editor
        {
            map.GenerateMap();                //when button is pressed, update the map
        }
    }
Example #18
0
    public override void OnInspectorGUI()
    {
        MapGenerator mapGenerator = target as MapGenerator;

        if (DrawDefaultInspector())
        {
            mapGenerator.GenerateMap();
        }

        if (GUILayout.Button("Generate Map"))
        {
            mapGenerator.GenerateMap();
        }
    }
Example #19
0
    public override void OnInspectorGUI()
    {
        MapGenerator map = target as MapGenerator;

        if (DrawDefaultInspector()) // returns true if value changes
        {
            map.GenerateMap();
        }

        if (GUILayout.Button("Generate Map"))
        {
            map.GenerateMap();
        }
    }
Example #20
0
    public override void OnInspectorGUI()
    {
        MapGenerator map = target as MapGenerator;

        if (DrawDefaultInspector())
        {
            map.GenerateMap(FindObjectOfType <Game>().levels[0]);
        }

        if (GUILayout.Button("Generate Map"))
        {
            map.GenerateMap(FindObjectOfType <Game>().levels[0]);
        }
    }
Example #21
0
    public override void OnInspectorGUI()
    {
        MapGenerator mapGenerator = (MapGenerator)target;

        if (DrawDefaultInspector() && mapGenerator.autoUpdate)
        {
            mapGenerator.GenerateMap();
        }

        if (GUILayout.Button(GENERATE_BUTTON_TEXT))
        {
            mapGenerator.GenerateMap();
        }
    }
    public override void OnInspectorGUI()
    {
        MapGenerator map = target as MapGenerator;

        if (DrawDefaultInspector())
        {
            //target is of class as defined above
            map.GenerateMap();
        }

        if (GUILayout.Button("Generate Map"))
        {
            map.GenerateMap();
        }
    }
Example #23
0
    public override void OnInspectorGUI()
    {
        MapGenerator map = target as MapGenerator;

        if (DrawDefaultInspector())     // bool 값을 리턴하는데 인스펙터에서 값이 갱신될때만 true를 반환
        {
            map.GenerateMap();
        }

        // 수동으로 버튼을 눌러서 맵 생성
        if (GUILayout.Button("Generate Map"))
        {
            map.GenerateMap();
        }
    }
Example #24
0
    public override void OnInspectorGUI()
    {
        MapGenerator mg = (MapGenerator)target;

        if (DrawDefaultInspector())   //if a value in inspecter is changed
        //auto update the texture
        {
            mg.GenerateMap();
        }

        if (GUILayout.Button("Generate Map"))
        {
            mg.GenerateMap();
        }
    }
    public override void OnInspectorGUI()
    {
        //base.OnInspectorGUI(); //property들 그림
        MapGenerator map = target as MapGenerator;

        if (DrawDefaultInspector()) //값이 바뀌었을 때
        {
            map.GenerateMap();
        }

        if (GUILayout.Button("Generate Map"))
        {
            map.GenerateMap();
        }
    }
        public void GeneratesTheRightNumberOfOutposts()
        {
            List <Player> players = new List <Player>
            {
                new Player("1"),
                new Player("2"),
                new Player("3"),
                new Player("4")
            };

            GameConfiguration config = _testUtils.GetDefaultGameConfiguration(players);

            Assert.IsNotNull(config);
            Random rand = new Random(DateTime.Now.Millisecond);

            config.MapConfiguration.Seed = rand.Next();
            config.MapConfiguration.DormantsPerPlayer      = 3;
            config.MapConfiguration.MaximumOutpostDistance = 100;
            config.MapConfiguration.MinimumOutpostDistance = 5;
            config.MapConfiguration.OutpostsPerPlayer      = 7;

            MapGenerator   generator         = new MapGenerator(config.MapConfiguration, players);
            List <Outpost> generatedOutposts = generator.GenerateMap();

            Assert.AreEqual(config.Players.Count * (config.MapConfiguration.OutpostsPerPlayer + config.MapConfiguration.DormantsPerPlayer), generatedOutposts.Count);
        }
        public void AllOutpostsHaveUniqueNames()
        {
            List <Player> players = new List <Player>
            {
                new Player("1"),
                new Player("2"),
                new Player("3")
            };

            GameConfiguration config = _testUtils.GetDefaultGameConfiguration(players);

            Assert.IsNotNull(config);
            Random rand = new Random(DateTime.Now.Millisecond);

            config.MapConfiguration.Seed = rand.Next();
            config.MapConfiguration.DormantsPerPlayer      = 3;
            config.MapConfiguration.MaximumOutpostDistance = 200;
            config.MapConfiguration.MinimumOutpostDistance = 20;
            config.MapConfiguration.OutpostsPerPlayer      = 3;

            MapGenerator   generator         = new MapGenerator(config.MapConfiguration, players);
            List <Outpost> generatedOutposts = generator.GenerateMap();

            Assert.AreEqual(generatedOutposts.Select(x => x.GetComponent <IdentityManager>().GetName()).Distinct().Count(), generatedOutposts.Count);
        }
        public void MinimumOutpostDistanceRespected()
        {
            List <Player> players = new List <Player> {
                new Player("1")
            };

            GameConfiguration config = _testUtils.GetDefaultGameConfiguration(players);

            Assert.IsNotNull(config);
            Random rand = new Random(DateTime.Now.Millisecond);

            config.MapConfiguration.Seed = rand.Next();
            config.MapConfiguration.DormantsPerPlayer      = 0;
            config.MapConfiguration.MaximumOutpostDistance = 2;
            config.MapConfiguration.MinimumOutpostDistance = 1;
            config.MapConfiguration.OutpostsPerPlayer      = 2;

            MapGenerator   generator         = new MapGenerator(config.MapConfiguration, players);
            List <Outpost> generatedOutposts = generator.GenerateMap();

            // Ensure the distance between outposts is over 199.
            Assert.AreEqual(2, generatedOutposts.Count);
            // Ensure the distance between the two is respected.
            Outpost outpost1 = generatedOutposts[0];
            Outpost outpost2 = generatedOutposts[1];

            float distance = (outpost1.GetComponent <PositionManager>().GetPositionAt(new GameTick(0)) - outpost2.GetComponent <PositionManager>().GetPositionAt(new GameTick(0))).Magnitude();

            Assert.IsTrue(distance >= config.MapConfiguration.MinimumOutpostDistance);
        }
        public void DormantsPerPlayerRespected()
        {
            List <Player> players = new List <Player> {
                new Player("1")
            };

            GameConfiguration config = _testUtils.GetDefaultGameConfiguration(players);

            Assert.IsNotNull(config);
            Random rand = new Random(DateTime.Now.Millisecond);

            config.MapConfiguration.Seed = rand.Next();
            config.MapConfiguration.DormantsPerPlayer      = 7;
            config.MapConfiguration.MaximumOutpostDistance = 0;
            config.MapConfiguration.MinimumOutpostDistance = 0;
            config.MapConfiguration.OutpostsPerPlayer      = 1;

            MapGenerator   generator         = new MapGenerator(config.MapConfiguration, players);
            List <Outpost> generatedOutposts = generator.GenerateMap();

            // Ensure all 7 outposts were generated
            // Ensure they all have no owner.
            int dormants = 0;

            foreach (Outpost o in generatedOutposts)
            {
                if (o.GetComponent <DrillerCarrier>().GetOwner() == null)
                {
                    dormants++;
                }
            }
            Assert.AreEqual(config.MapConfiguration.DormantsPerPlayer, dormants);
        }
Example #30
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        MapGenerator map = target as MapGenerator;

        map.GenerateMap();
    }
    void Start()
    {

        /*if (useRandomSeed)
            seed = Time.time.ToString();
        map.MapGenerator.GenerateMap(seed);
        mapGenerator = Instantiate(mapGenerator, transform.position, transform.rotation) as GameObject;
        mapGenerator = mapGenerator.GetComponent<MapGenerator>();*/

        mapGen = map.GetComponent<MapGenerator>();
        if (useRandomSeed)
            seed = Time.time.ToString();
        mapGen.GenerateMap(seed);

        playerSpawn = mapGen.FindStartArea();
        Instantiate(player, playerSpawn, Quaternion.identity);

        //exitSpawn = mapGen.FindEndArea();
        //Instantiate(exit, exitSpawn, Quaternion.identity)

    }
    void generateMap()
    {
        // reference the MapGenerator
        mapGen = GetComponent<MapGenerator> ();

        // create the cellular automata map
        map = mapGen.GenerateMap (30, 30, "anthonyl", false, 40, TilePrefab);
        map = mapGen.GeneratePathsBetweenRegions ();
    }
Example #33
0
    /// <summary>
    /// Initialize resources.  Right now, for testing purposes, a simple random map is 
    /// generated here with a few actors in it.
    /// </summary>
    public override void Start()
    {
        var width = 50;
        var height = 35;
        var mapSeed = "blah blah";
        var tiles = new TileProperties[width, height];

        this.mapContainer = new FContainer();
        this.hud = new FContainer();

        // This handles GUI and stuff
        //this.interfaceManager = new InterfaceManager();
        //this.interfaceManager = ScriptableObject.CreateInstance("InterfaceManager");;

        // Generate a very simple random map tiles
        this.mapGenerator = new MapGenerator();
        tiles = mapGenerator.GenerateMap(width, height, 10);

        /*
         * this is the old code for generating a random map
        var rand = new System.Random();
        for (int ii = 0; ii < width; ii++)
        {
            for (int jj = 0; jj < height; jj++)
            {
                tiles[ii, jj] = (rand.NextDouble() < 0.7) ? StaticTiles.GrassTile : StaticTiles.ForestTile;
            }
        }
        */
        this.Map = new Map(tiles);

        int i = 5;
        int j = 5;
        foreach (var team in this.teams)
        {
            var actorList = new List<Actor>();
            foreach (var member in team.Members)
            {
                var actor = new Actor(member, team);
                actorList.Add(actor);
                this.Map.AddActor(actor, new Vector2i(i++, j++));
            }
        }

        this.Map.Start();
        this.mapContainer.AddChild(this.Map);

        // Initialize overlay
        this.visibleOverlayIndices = new HashSet<Vector2i>();
        this.overlay = new FSprite[Map.Columns, Map.Rows];
        for (int ii = 0; ii < Map.Columns; ii++)
        {
            for (int jj = 0; jj < Map.Rows; jj++)
            {
                var overlaySprite = new FSprite("bluehighlight");
                overlaySprite.x = ii * AwayTeam.TileSize + AwayTeam.TileSize / 2;
                overlaySprite.y = jj * AwayTeam.TileSize + AwayTeam.TileSize / 2;
                overlaySprite.isVisible = false;
                overlaySprite.width = overlaySprite.height = AwayTeam.TileSize;
                this.overlay[ii, jj] = overlaySprite;
                this.mapContainer.AddChild(overlaySprite);
            }
        }

        this.AddChild(this.mapContainer);
        this.AddChild(this.hud);
        this.teamIndex = 0;
        this.turnState = TurnState.TurnBegin;
        this.started = true;
    }