コード例 #1
0
ファイル: MagazinTest.cs プロジェクト: Rogachev99/PUBG
        public void Test_GetBullet()
        {
            var model  = new MockRoyalGameModel();
            var player = new MockPlayer()
            {
                Model = model
            };
            var weapon = new Weapon(model, TypesGameObject.Weapon, TypesBehaveObjects.Active, TypesWeapon.Gun);

            (weapon as Weapon).Owner = player;
            Magazin magazin = new Magazin(weapon, TypesWeapon.Gun, 50, 300, 8);

            magazin.Setup();

            //делаем 8 выстрелов
            for (int i = 0; i < 8; i++)
            {
                Assert.IsNotNull(magazin.GetBullet());
                Assert.IsNull(magazin.GetBullet());
                magazin.Parent.Update(new TimeQuantPassed(51));
            }
            //перезаряжаем
            Assert.IsNull(magazin.GetBullet());
            magazin.Parent.Update(new TimeQuantPassed(301));
            Assert.IsNotNull(magazin.GetBullet());
        }
コード例 #2
0
ファイル: MagazinTest.cs プロジェクト: Rogachev99/PUBG
        public void Test_UpdateComponent_MakeReload()
        {
            TypesWeapon typesWeapon           = TypesWeapon.Gun;
            int         bullet_In_Magazine    = 8;
            int         duration_Magazine     = 300;
            int         duration_betweenShots = 50;

            var model  = new MockRoyalGameModel();
            var player = new MockPlayer()
            {
                Model = model
            };
            var weapon = new Weapon(model, TypesGameObject.Weapon, TypesBehaveObjects.Active, TypesWeapon.Gun);

            weapon.Owner = player;

            Magazin magazin = new Magazin(weapon, typesWeapon, duration_betweenShots, duration_Magazine, bullet_In_Magazine);

            weapon.Components.Add(magazin);
            weapon.Setup();

            Assert.IsNotNull(magazin.GetBullet());
            player.Update_MakeReloadWeapon(new MakeReloadWeapon(weapon.ID));                    // игров собирается выполнить перезарядку
            Assert.IsNull(magazin.GetBullet());

            weapon.Update(new TimeQuantPassed(duration_Magazine - 1));
            Assert.IsNull(magazin.GetBullet());

            weapon.Update(new TimeQuantPassed(1));
            Assert.IsNotNull(magazin.GetBullet());

            var outMgs = model.outgoingMessages;

            Assert.IsTrue(outMgs.Dequeue().Count == 7);

            var msg_startReload    = outMgs.Dequeue();
            var msg_ChangeBullet_1 = outMgs.Dequeue();
            var mgs_endReload      = outMgs.Dequeue();
            var msg_ChangeBullet_2 = outMgs.Dequeue();

            Assert.IsTrue(msg_startReload.StartOrEnd == true);
            Assert.IsTrue(msg_ChangeBullet_1.Count == 8);
            Assert.IsTrue(mgs_endReload.StartOrEnd == false);
            Assert.IsTrue(msg_ChangeBullet_2.Count == 7);
        }