Ejemplo n.º 1
0
        public void TestRoomContactListener_Add()
        {
            var Room    = new RoyalGameModel();
            var box     = BuilderGameObject.CreateBox(Room, new PointF(55, 70));
            var player1 = BuilderGameObject.CreateGamer(Room, new PointF(50, 70));

            SolidBody solid = (SolidBody)player1.Components.GetComponent <SolidBody>();

            Room.Field.Step(1 / 60, 6, 3);
            Assert.AreEqual(1, solid.CoveredObjects.Count);
        }
Ejemplo n.º 2
0
        public void CreateBoxTest()
        {
            var location = new PointF(10, 10);
            var model    = new RoyalGameModel();
            var obj      = BuilderGameObject.CreateBox(model, location);

            var solidBody = obj.Components.GetComponent <SolidBody>();

            Assert.IsNotNull(solidBody);

            Assert.AreEqual(location, solidBody.Shape.Location);
            Assert.AreEqual(obj, model.gameObjects[obj.ID]);
            Assert.AreEqual(TypesGameObject.Box, obj.Type);
            Assert.AreEqual(TypesBehaveObjects.Passive, obj.TypeBehave);
        }
Ejemplo n.º 3
0
        public void TestRoomContactListener_RemoveObject()
        {
            var Room = new RoyalGameModel();

            var box = BuilderGameObject.CreateBox(Room, new PointF(55, 70));

            box.Setup();
            Room.AddOrUpdateGameObject(box);

            var player1 = BuilderGameObject.CreateGamer(Room, new PointF(50, 70));

            SolidBody solid = player1.Components.GetComponent <SolidBody>();

            Room.Field.Step(1f / 60f, 6, 3);
            solid.Parent.Model.Field.DestroyBody(solid.Body);
            Assert.AreEqual(solid.CoveredObjects.Count, 0);
        }
Ejemplo n.º 4
0
        public void TestRoomContactListener_Remove()
        {
            var Room = new RoyalGameModel();

            var box = BuilderGameObject.CreateBox(Room, new PointF(55, 70));

            box.Setup();
            Room.AddOrUpdateGameObject(box);

            var player1 = BuilderGameObject.CreateGamer(Room, new PointF(50, 70));

            SolidBody solid = player1.Components.GetComponent <SolidBody>();

            solid.Body.SetLinearVelocity(new Vec2(0, 40f));
            Room.Field.Step(2, 6, 3);
            //только после 2 перемещения срабатывает потеря наслоения
            Room.Field.Step(1f / 60f, 6, 3);
            Assert.AreEqual(solid.CoveredObjects.Count, 0);
        }