Beispiel #1
0
        public PhysicsController(int physicalTypesCount, bool[,] collisionPermission)
        {
            collisionChecker = new CollisionChecker();

            this.physicalTypesCount  = physicalTypesCount;
            this.collisionPermission = collisionPermission;

            bodies = new List <Body> [physicalTypesCount];
            for (int i = 0; i < physicalTypesCount; i++)
            {
                bodies[i] = new List <Body>();
            }
        }
Beispiel #2
0
        public PhysicsController()
        {
            collisionChecker = new CollisionChecker();

            physicalTypesCount = 3;
            bodies             = new List <Body> [physicalTypesCount];
            for (int i = 0; i < physicalTypesCount; i++)
            {
                bodies[i] = new List <Body>();
            }

            collisionPermission = new bool[, ]
            {
                { false, true, true },
                { true, false, false },
                { true, false, false }
            };
        }
Beispiel #3
0
 public bool CheckCollision(Body body, CollisionChecker checker)
 {
     if (!CheckAABBCollision(ref body.AABB))
     {
         return(false);
     }
     RefreshState();
     body.RefreshState();
     foreach (Shape shape in realShapes)
     {
         foreach (Shape bodyShape in body.realShapes)
         {
             if (checker.CheckCollision(shape, bodyShape))
             {
                 return(true);
             }
         }
     }
     return(false);
 }