示例#1
0
        private void CheckCollisions(double ElapsedTime, List <ICollidable> Objects)
        {
            QTree.Clear();
            for (int i = 0; i < Objects.Count; i++)
            {
                QTree.Add(Objects[i]);
            }
            QTree.CheckCollisions();

            PairList <ICollidable> Collisions = QTree.GetCollisions();

            for (int i = 0; i < Collisions.Count; i++)
            {
                ObjA = Collisions.Get(i).Get(0);
                ObjB = Collisions.Get(i).Get(1);

                ObjA.Collide(ObjB);
                ObjB.Collide(ObjA);

                //Collisions.Get(i).Get(0).Collide(Collisions.Get(i).Get(1));
                //Collisions.Get(i).Get(1).Collide(Collisions.Get(i).Get(0));
            }
        }