Esempio n. 1
0
        private void DetectCollisions(CollisionBox box, CollisionData data)
        {
            foreach (var plane in Planes)
            {
                CollisionDetector.BoxAndHalfSpace(box, plane, data);
            }

            foreach (var primative in Primatives)
            {
                if (primative == box)
                {
                    continue;
                }
                if (data.NoMoreContacts())
                {
                    break;
                }

                switch (primative)
                {
                case CollisionSphere sphere:
                    CollisionDetector.BoxAndSphere(box, sphere, data);
                    break;

                case CollisionBox box2:
                    CollisionDetector.BoxAndBox(box, box2, data);
                    break;
                }
            }
        }