public override void Open() { // make the database used to accelerate proximity queries cyclePD = -1; NextPD(); // create the specified number of Pedestrians population = 0; for (int i = 0; i < 100; i++) { AddPedestrianToCrowd(); } // initialize camera and selectedVehicle Pedestrian firstPedestrian = crowd[0]; Demo.Init3dCamera(firstPedestrian); Demo.Camera.Mode = Camera.CameraMode.FixedDistanceOffset; Demo.Camera.FixedTarget.X = 15; Demo.Camera.FixedTarget.Y = 0; Demo.Camera.FixedTarget.Z = 30; Demo.Camera.FixedPosition.X = 15; Demo.Camera.FixedPosition.Y = 70; Demo.Camera.FixedPosition.Z = -70; }
void AddPedestrianToCrowd() { population++; Pedestrian pedestrian = new Pedestrian(pd); crowd.Add(pedestrian); if (population == 1) { Demo.SelectedVehicle = pedestrian; } }
public void Init() { // make the database used to accelerate proximity queries cyclePD = -1; NextPD(); // create the specified number of Pedestrians population = 0; for (int i = 0; i < 10; i++) { population++; Pedestrian pedestrian = new Pedestrian(pd, path); pedestrian.Reset(); world.AddObject(ObjectCreator(pedestrian)); crowd.Add(pedestrian); } }
public void Init() { // make the database used to accelerate proximity queries cyclePD = -1; NextPD(); // create the specified number of Pedestrians population = 0; for (int i = 0; i < 10; i++) { population++; Pedestrian pedestrian = new Pedestrian(pd,path); pedestrian.Reset(); world.AddObject(ObjectCreator(pedestrian)); crowd.Add(pedestrian); } }
void RemovePedestrianFromCrowd() { if (population > 0) { // save pointer to last pedestrian, then remove it from the crowd population--; Pedestrian pedestrian = crowd[population]; crowd.RemoveAt(population); // if it is OpenSteerDemo's selected vehicle, unselect it if (pedestrian == Demo.SelectedVehicle) { Demo.SelectedVehicle = null; } // delete the Pedestrian pedestrian = null; } }
void AddPedestrianToCrowd() { population++; Pedestrian pedestrian = new Pedestrian(pd); crowd.Add(pedestrian); if (population == 1) Demo.SelectedVehicle = pedestrian; }