public void AddWeapon(TypesWeapon weapon) { uint index = (uint)weapon; weapons[index].TypesWeapon = weapon; OnChangeCharacter(TypesChangeCharacter.AddWeapon, index); }
public Weapon GetWeapon(TypesWeapon typeWeapon) { try { return(weapons[(int)typeWeapon]); } catch (Exception) { return(null); } }
public void ChangeBulletInWeapon(TypesWeapon type, int countBullets) { for (uint i = 0; i < weapons.Length; i++) { if (weapons[i].TypesWeapon == type) { weapons[i].CountBullets = countBullets; OnChangeCharacter(TypesChangeCharacter.BulletInWeapon, i); break; } } }
public Magazin(IWeapon parent, TypesWeapon typeWeapon, int duration_BetweenShots, int duration_Magazin, int bulletsInMagazin) : base(parent) { TypeMagazin = typeWeapon; Reload = TypesReload.Not; _bulletsInMagazin = bulletsInMagazin; _durationReload_BetweenShots = duration_BetweenShots; _durationReload_Magazin = duration_Magazin; //cоздаем новый магазин _bulletsInMagazinNow = bulletsInMagazin; }
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); }
public override void Update() { var pos = modelObject.Location; translateTransform.OffsetX = pos.X; translateTransform.OffsetY = pos.Y; modelHands.SetPosition(modelObject.Location3D); var gamer = (Gamer)modelObject; if (lastCurrentWeapon != gamer.CurrentWeapon) { lastCurrentWeapon = gamer.CurrentWeapon; modelHands.Remove(); modelHands = new Model3D(models, new Hand(modelObject as Gamer)); modelHands.CreateImage(); } modelHands.Rotation(modelObject.Angle); }
public Hand(Gamer player) : base(player.ID, player.Location, player.Size) { currentWeapon = player.CurrentWeapon; SetSize(player.Size); }
public ChoiceWeapon(ulong iD, TypesWeapon selectedWeapon) { ID = iD; TypeWeapon = selectedWeapon; }
public WeaponCharacter(TypesWeapon typesWeapon, int countBullets) { this.TypesWeapon = typesWeapon; this.CountBullets = countBullets; }
public void ChangeCurrentWeapon(TypesWeapon weapon) { OnChangeCharacter(TypesChangeCharacter.CurrentWepon); }
public ChangedCurrentWeapon(ulong iD, TypesWeapon newCurrentWeapon) { ID = iD; TypeWeapon = newCurrentWeapon; }
public ChangeBulletInWeapon(ulong iD, TypesWeapon typeWeapon, int count) { ID = iD; TypeWeapon = typeWeapon; Count = count; }
public WeaponState(ulong id, TypesGameObject type, TypesWeapon typeWeapon, List <IMessage> statesComponents) : base(id, type, statesComponents) { TypeWeapon = typeWeapon; }
private static Magazin CreateMagazin(Weapon weapon, WeaponSetups weaponSetup, TypesWeapon typeWeapon) { var magazin = new Magazin(weapon, typeWeapon, weaponSetup.timeBetweenShot, weaponSetup.timeReload, weaponSetup.bulletsInMagazin); weapon.Components.Add(magazin); return(magazin); }
private static Weapon CreateShotWeapon(IModelForComponents model, PhysicsSetups physicsSetupsWeapon, WeaponSetups weaponSetups, SizeF sizeWeapon, TypesWeapon typeWeapon, PointF location) { var weapon = new Weapon(model, TypesGameObject.Weapon, TypesBehaveObjects.Active, typeWeapon); CreateStandartComponentForWeapon(weapon, physicsSetupsWeapon, weaponSetups, sizeWeapon, typeWeapon, location); var shot = new Shot(weapon); weapon.Components.Add(shot); return(weapon); }
public Model3DGamer(Model3DGroup models, IModelObject modelObject) : base(models, modelObject) { lastCurrentWeapon = TypesWeapon.Not; modelHands = new Model3D(models, new Hand(modelObject as Gamer)); }
public Weapon(IModelForComponents model, TypesGameObject typeGameObject, TypesBehaveObjects typeBehaveObject, TypesWeapon typeWeapon) : base(model, typeGameObject, typeBehaveObject) { TypeWeapon = typeWeapon; }
public WeaponCharacter(TypesWeapon typesWeapon) { this.TypesWeapon = typesWeapon; this.CountBullets = 0; }
private static void CreateStandartComponentForWeapon(Weapon weapon, PhysicsSetups physicsSetupsWeapon, WeaponSetups weaponSetups, SizeF sizeWeapon, TypesWeapon typeWeapon, PointF location) { CreateBodyWeapon(weapon, location, physicsSetupsWeapon, sizeWeapon); CreateMagazin(weapon, weaponSetups, typeWeapon); }
public AddWeapon(ulong iD, TypesWeapon typeWeapon, List <IMessage> insertCollections) { ID = iD; TypeWeapon = typeWeapon; InsertCollections = insertCollections; }
public CurrentWeaponState(TypesWeapon typeWeapon) { TypeWeapon = typeWeapon; }
public Weapon(ulong ID, TypesWeapon typesWeapon) : base(ID) { TypesWeapon = typesWeapon; }