/// <summary> /// Specific Constructor /// </summary> /// <param name="weaponCondition">The condition of the weapon.</param> /// <param name="meleeCommand">Command for melee attacks with weapon.</param> protected Weapon( IWeaponCondition weaponCondition, ICommand meleeCommand) { WeaponCondition = weaponCondition; MeleeCommand = meleeCommand; LastMelee = DateTime.MinValue; }
/// <summary> /// Specific Constructor /// </summary> /// <param name="weaponCondition">The condition of the weapon.</param> /// <param name="meleeCommand">Command for melee attacks with weapon.</param> /// <param name="shootCommand">The rate of shoot attacks allowed with the weapon.</param> /// <param name="emptyGunFireCommand">Command for when attempting to shoot with empty weapon.</param> /// <param name="ammunitionContainer">Container to hold ammunition for the weapon.</param> protected Gun( IWeaponCondition weaponCondition, ICommand meleeCommand, ICommand shootCommand, ICommand emptyGunFireCommand, IAmmunitionContainer ammunitionContainer) : base( weaponCondition, meleeCommand) { ShootCommand = shootCommand; EmptyGunFireCommand = emptyGunFireCommand; AmmunitionContainer = ammunitionContainer; LastShot = DateTime.MinValue; }
/// <summary> /// Specific Constructor /// </summary> /// <param name="weaponCondition">The condition of the weapon.</param> /// <param name="meleeCommand">Command for melee attacks with weapon.</param> /// <param name="shootCommand">The rate of shoot attacks allowed with the weapon.</param> /// <param name="emptyGunFireCommand">Command for when attempting to shoot with empty weapon.</param> /// <param name="ammunitionContainer">Container to hold ammunition for the weapon.</param> /// <param name="isBurstFireEngaged">If burst fire is currently engaged on the weapon.</param> public M16( IWeaponCondition weaponCondition, ICommand meleeCommand, ICommand shootCommand, ICommand emptyGunFireCommand, IAmmunitionContainer ammunitionContainer, bool isBurstFireEngaged) : base(weaponCondition, meleeCommand, shootCommand, emptyGunFireCommand, ammunitionContainer) { IsBurstFireEngaged = isBurstFireEngaged; }
/// <summary> /// Specific Constructor /// </summary> /// <param name="weaponCondition">The condition of the weapon.</param> /// <param name="meleeCommand">Command for melee attacks with weapon.</param> /// <param name="shootCommand">The rate of shoot attacks allowed with the weapon.</param> /// <param name="emptyGunFireCommand">Command for when attempting to shoot with empty weapon.</param> /// <param name="ammunitionContainer">Container to hold ammunition for the weapon.</param> /// <param name="isBurstFireEngaged">If burst fire is currently engaged on the weapon.</param> public M16( IWeaponCondition weaponCondition, ICommand meleeCommand, ICommand shootCommand, ICommand emptyGunFireCommand, IAmmunitionContainer ammunitionContainer, bool isBurstFireEngaged) : base( weaponCondition, meleeCommand, shootCommand, emptyGunFireCommand, ammunitionContainer) { IsBurstFireEngaged = isBurstFireEngaged; }