public void CollisionBox_TooFarBelow_NoCollision() { var box = new CollisionBox(0, 0, 10, 10); box.SetParent(_collision); var square = GetMapSquare(new RectangleF(0, 15, 10, 10)); PointF collisionPoint = PointF.Empty; var didCollide = box.EnvironmentCollisions(PointF.Empty, square, ref collisionPoint); Assert.IsFalse(didCollide); Assert.AreEqual(PointF.Empty, collisionPoint); }
public void CollisionBox_TooFarBelow_NoCollision() { var box = new CollisionBox(0, 0, 10, 10); box.SetParent(_collision); var square = GetMapSquare(new RectangleF(0, 15, 10, 10)); PointF collisionPoint = PointF.Empty; var didCollide = box.EnvironmentCollisions(PointF.Empty, square, ref collisionPoint); Assert.IsFalse(didCollide); Assert.AreEqual(PointF.Empty, collisionPoint); }
public void CollisionBox_TouchingButNotOverapping_Collision() { var box = new CollisionBox(0, 0, 10, 10); box.SetParent(_collision); var square = GetMapSquare(new RectangleF(10, 0, 10, 10)); // up against the right edge PointF collisionPoint = PointF.Empty; var didCollide = box.EnvironmentCollisions(PointF.Empty, square, ref collisionPoint); Assert.IsTrue(didCollide); Assert.AreEqual(PointF.Empty, collisionPoint); }
public void CollisionBox_Overapping_DefaultVerticalApproach() { var box = new CollisionBox(0, 0, 10, 10); box.SetParent(_collision); var square = GetMapSquare(new RectangleF(8.6f, 4.1f, 10, 10)); PointF collisionPoint = PointF.Empty; var didCollide = box.EnvironmentCollisions(PointF.Empty, square, ref collisionPoint); Assert.IsTrue(didCollide); // pushes the block out vertically Assert.AreEqual(new PointF(0, -5.9f), collisionPoint); }
public void CollisionBox_Overapping_DefaultVerticalApproach() { var box = new CollisionBox(0, 0, 10, 10); box.SetParent(_collision); var square = GetMapSquare(new RectangleF(8.6f, 4.1f, 10, 10)); PointF collisionPoint = PointF.Empty; var didCollide = box.EnvironmentCollisions(PointF.Empty, square, ref collisionPoint); Assert.IsTrue(didCollide); // pushes the block out vertically Assert.AreEqual(new PointF(0, -5.9f), collisionPoint); }
public void CollisionBox_TouchingButNotOverapping_Collision() { var box = new CollisionBox(0, 0, 10, 10); box.SetParent(_collision); var square = GetMapSquare(new RectangleF(10, 0, 10, 10)); // up against the right edge PointF collisionPoint = PointF.Empty; var didCollide = box.EnvironmentCollisions(PointF.Empty, square, ref collisionPoint); Assert.IsTrue(didCollide); Assert.AreEqual(PointF.Empty, collisionPoint); }