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); } }
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") }); }
private static ILayer CreateHoverLayer(BoundingBox envelope) { return(new Layer(HoverLayerName) { DataSource = RandomPointHelper.CreateProviderWithRandomPoints(envelope, 25, 8), Style = CreateHoverSymbolStyle() }); }
private static ILayer CreateInfoLayer(BoundingBox envelope) { return(new Layer(InfoLayerName) { DataSource = RandomPointHelper.CreateProviderWithRandomPoints(envelope, 25, 7), Style = CreateSymbolStyle(), IsMapInfoLayer = true }); }
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); }
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); }
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); }
/// <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); }
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; }