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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 5
0
        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);
        }