コード例 #1
0
        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;
        }
コード例 #2
0
        void AddPedestrianToCrowd()
        {
            population++;
            Pedestrian pedestrian = new Pedestrian(pd);

            crowd.Add(pedestrian);
            if (population == 1)
            {
                Demo.SelectedVehicle = pedestrian;
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
		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);			
            }
			
		}
コード例 #5
0
        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;
            }
        }
コード例 #6
0
 void AddPedestrianToCrowd()
 {
     population++;
     Pedestrian pedestrian = new Pedestrian(pd);
     crowd.Add(pedestrian);
     if (population == 1) Demo.SelectedVehicle = pedestrian;
 }