Example #1
0
    private void ResetLevel(int numberOfRobots)
    {
        foreach (GameObject robot in GameObject.FindGameObjectsWithTag("Robot"))
        {
            Destroy(robot);
        }

        liveRobots  = numberOfRobots;
        totalRobots = numberOfRobots;

        PlayerBehaviour player = GameObject.FindGameObjectWithTag("Player")
                                 .GetComponent <PlayerBehaviour>();

        player.StopMoving();

        for (int i = 0; i < numberOfRobots; i++)
        {
            var     robot = Instantiate(RobotPrefab);
            Vector3 position;
            do
            {
                position = RandomPointHelper
                           .RandomPointOnMesh(robot.transform.position, 100) + Vector3.up;
                robot.transform.position = position;
            } while (Vector3.Distance(position, player.transform.position) < 5);
        }
    }
Example #2
0
 private static ILayer CreateLayerWithStyleOnLayer(BoundingBox envelope, int count = 25)
 {
     return(new Layer("Style on Layer")
     {
         DataSource = new MemoryProvider(RandomPointHelper.GenerateRandomPoints(envelope, count)),
         Style = CreateBitmapStyle("Mapsui.Samples.Common.Images.ic_place_black_24dp.png")
     });
 }
Example #3
0
 private static ILayer CreateHoverLayer(BoundingBox envelope)
 {
     return(new Layer(HoverLayerName)
     {
         DataSource = RandomPointHelper.CreateProviderWithRandomPoints(envelope, 25, 8),
         Style = CreateHoverSymbolStyle()
     });
 }
Example #4
0
 private static ILayer CreateInfoLayer(BoundingBox envelope)
 {
     return(new Layer(InfoLayerName)
     {
         DataSource = RandomPointHelper.CreateProviderWithRandomPoints(envelope, 25, 7),
         Style = CreateSymbolStyle(),
         IsMapInfoLayer = true
     });
 }
Example #5
0
        public static Map CreateMap()
        {
            var map = new Map();

            map.Layers.Add(OpenStreetMap.CreateTileLayer());
            var provider = RandomPointHelper.CreateProviderWithRandomPoints(map.Envelope);

            map.Layers.Add(CreateStackedLabelLayer(provider, LabelColumn));
            map.Layers.Add(CreateLayer(provider));
            return(map);
        }
Example #6
0
        private static IEnumerable <IFeature> GenerateRandomFeatures(BoundingBox envelope, int count, IStyle style)
        {
            var result = new List <Feature>();
            var points = RandomPointHelper.GenerateRandomPoints(envelope, count, 123);

            foreach (var point in points)
            {
                result.Add(new Feature {
                    Geometry = point, Styles = new List <IStyle> {
                        style
                    }
                });
            }
            return(result);
        }
Example #7
0
            public override IEnumerable <IFeature> GetFeaturesInView(BoundingBox box, double resolution)
            {
                var features   = new List <IFeature>();
                var geometries = RandomPointHelper.GenerateRandomPoints(box, 10).ToList();
                var count      = 0;
                var random     = _random.Next(geometries.Count);

                foreach (var geometry in geometries)
                {
                    if (count != random) // skip a random element to test robustness
                    {
                        var feature = new Feature
                        {
                            Geometry = geometry,
                            ["ID"]   = count.ToString(CultureInfo.InvariantCulture)
                        };
                        features.Add(feature);
                    }
                    count++;
                }
                return(features);
            }
Example #8
0
            /// <summary>
            /// Gets a list of features within a bounding box
            /// </summary>
            /// <param name="box">A bounding box for the features</param>
            /// <param name="resolution">A resolution to hide unseen features</param>
            /// <returns>A list of features within a bounding box</returns>
            public override IEnumerable <IFeature> GetFeaturesInView(BoundingBox box, double resolution)
            {
                //Create a list for future reference
                var features   = new List <IFeature>();
                var geometries = new List <IGeometry>();

                //If old house is set, add it to the list
                if (MainWindow.p1.Item1 != 0 || MainWindow.p1.Item2 != 0)
                {
                    geometries.Add(SphericalMercator.FromLonLat(MainWindow.p1.Item1, MainWindow.p1.Item2));
                }
                //If new house is set, add it to the list
                if (MainWindow.p2.Item1 != 0 || MainWindow.p2.Item2 != 0)
                {
                    geometries.Add(SphericalMercator.FromLonLat(MainWindow.p2.Item1, MainWindow.p2.Item2));
                }
                if (geometries.Count < 2)
                {
                    //Fill the rest of the points with random values
                    geometries.AddRange(RandomPointHelper.GenerateRandomPoints(box, 2 - geometries.Count, _random.Next()));
                }

                var count = 0;

                foreach (var geometry in geometries)
                {
                    //Create a feature for each "geometry" aka point
                    var feature = new Feature
                    {
                        Geometry = geometry,
                        //Fill ID just in case
                        ["ID"] = count.ToString(CultureInfo.InvariantCulture)
                    };
                    features.Add(feature);
                    count++;
                }
                return(features);
            }
Example #9
0
 public static MemoryProvider CreateMemoryProviderWithDiverseSymbols(BoundingBox envelope, int count = 100)
 {
     return(new MemoryProvider(CreateAtlasFeatures(RandomPointHelper.GenerateRandomPoints(envelope, count))));
 }
 void Start()
 {
     transform.position = RandomPointHelper.RandomPointOnMesh(
         transform.position, 100) + Vector3.up;
 }