/// <summary> /// Adds a pedestrian to the <see cref="Pedestrians"/> list. /// </summary> /// <param name="addPedestrian">The <see cref="Pedestrian"/> to be added.</param> public void AddPedestrians(Pedestrian addPedestrian) { if (!this.Pedestrians.Contains(addPedestrian)) { this.Pedestrians.Add(addPedestrian); } }
/// <summary> /// Removes a pedestrian from the <see cref="Pedestrians"/> list. /// </summary> /// <param name="removePedestrian">The <see cref="Pedestrian"/> to be removed.</param> public void RemovePedestrians(Pedestrian removePedestrian) { if (!this.Pedestrians.Contains(removePedestrian)) { this.Pedestrians.Remove(removePedestrian); } }
/// <summary> /// Generates <see cref="Pedestrian"/> for each <see cref="Zebra"/> in the <see cref="PedestrianIntersection"/>. /// </summary> public void GeneratePedestrians() { // LeftZebra pedestrians starting from up side var random = new Random(); for (var i = 0; i <= random.Next(1, 3); i++) { var pedestrian = new Pedestrian(new Point(HitBox.X + i*5 + 25, HitBox.Y + 50), PedestrianMovement.Down); if (!this.LeftZebra.Pedestrians.Contains(pedestrian)) this.LeftZebra.Pedestrians.Add(pedestrian); } // RightZebra pedestrians starting from up side for (var i = 0; i <= random.Next(1, 3); i++) { var pedestrian = new Pedestrian(new Point(HitBox.X + i*5 + 180, HitBox.Y + 50), PedestrianMovement.Down); if (!this.RightZebra.Pedestrians.Contains(pedestrian)) this.RightZebra.Pedestrians.Add(pedestrian); } // LeftZebra pedestrians starting from down side for (var i = 0; i <= random.Next(1, 3); i++) { var pedestrian = new Pedestrian(new Point(HitBox.X + i*5 + 20, HitBox.Y + 165), PedestrianMovement.Up); if (!this.LeftZebra.Pedestrians.Contains(pedestrian)) this.LeftZebra.Pedestrians.Add(pedestrian); } // RightZebra pedestrians starting from down side for (var i = 0; i <= random.Next(1, 3); i++) { var pedestrian = new Pedestrian(new Point(HitBox.X + i*5 + 180, HitBox.Y + 160), PedestrianMovement.Up); if (!this.RightZebra.Pedestrians.Contains(pedestrian)) this.RightZebra.Pedestrians.Add(pedestrian); } }
/// <summary> /// Generates <see cref="Pedestrian"/> for each <see cref="Zebra"/> in the <see cref="PedestrianIntersectionType2"/>. /// </summary> public void GeneratePedestrians() { // UpperZebra pedestrians starting from right side var random = new Random(); for (var i = 0; i <= random.Next(1, 3); i++) { var pedestrian = new Pedestrian(new Point(HitBox.X + 50, HitBox.Y + i*5 + 25), PedestrianMovement.Left); if (!this.UpperZebra.Pedestrians.Contains(pedestrian)) this.UpperZebra.Pedestrians.Add(pedestrian); } // LowerZebra pedestrians starting from right side for (var i = 0; i <= random.Next(1, 3); i++) { var pedestrian = new Pedestrian(new Point(HitBox.X + 50, HitBox.Y + i*5 + 180), PedestrianMovement.Left); if (!this.LowerZebra.Pedestrians.Contains(pedestrian)) this.LowerZebra.Pedestrians.Add(pedestrian); } // UpperZebra pedestrians starting from left side for (var i = 0; i <= random.Next(1, 3); i++) { var pedestrian = new Pedestrian(new Point(HitBox.X + 165, HitBox.Y + i*5 + 20), PedestrianMovement.Right); if (!this.UpperZebra.Pedestrians.Contains(pedestrian)) this.UpperZebra.Pedestrians.Add(pedestrian); } // LowerZebra pedestrians starting from left side for (var i = 0; i <= random.Next(1, 3); i++) { var pedestrian = new Pedestrian(new Point(HitBox.X + 160, HitBox.Y + i*5 + 180), PedestrianMovement.Right); if (!this.LowerZebra.Pedestrians.Contains(pedestrian)) this.LowerZebra.Pedestrians.Add(pedestrian); } }