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>(); } }
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 } }; }
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); }