예제 #1
0
        public Map()
        {
            List <uint> colors = new List <uint>();
            var         points = new List <Vector2>();

            for (int i = 0; i < _pointCount; i++)
            {
                colors.Add(0);
                points.Add(new Vector2(
                               UnityEngine.Random.Range(0, Width),
                               UnityEngine.Random.Range(0, Height))
                           );
            }

            for (int i = 0; i < NUM_LLOYD_RELAXATIONS; i++)
            {
                points = Graph.RelaxPoints(points, Width, Height).ToList();
            }

            var voronoi = new Voronoi(points, colors, new Rect(0, 0, Width, Height));

            Graph = new Graph(points, voronoi, (int)Width, (int)Height, _lakeThreshold);
        }
예제 #2
0
파일: Map.cs 프로젝트: woniupapa/nmap
        public void Init(Func <Vector2, bool> checkIsland = null)
        {
            List <uint> colors = new List <uint>();
            var         points = new List <Vector2>();

            for (int i = 0; i < _pointCount; i++)
            {
                colors.Add(0);
                points.Add(new Vector2(
                               UnityEngine.Random.Range(0, Width),
                               UnityEngine.Random.Range(0, Height))
                           );
            }

            for (int i = 0; i < NUM_LLOYD_RELAXATIONS; i++)
            {
                points = Graph.RelaxPoints(points, Width, Height).ToList();
            }

            var voronoi = new Voronoi(points, colors, new Rect(0, 0, Width, Height));

            checkIsland = checkIsland ?? IslandShape.makePerlin();
            Graph       = new Graph(checkIsland, points, voronoi, (int)Width, (int)Height, _lakeThreshold);
        }