public void GivenSingleShotWeapon_WhenShootingAtWeaponTarget_CallsLandShotOnTarget() { var weaponTargetStub = new WeaponTargetStub(); var weapon = new SingleShotWeapon(this.player); weapon.Shoot(weaponTargetStub); Assert.True(weaponTargetStub.LandShotCalled); }
public new static GameObject ReadXml(XmlReader reader, Component workingObj) { SingleShotWeapon ssw = (SingleShotWeapon)workingObj; reader.Read(); ssw.Damage = int.Parse(reader.ReadString()); reader.Read(); ssw.Velocity = float.Parse(reader.ReadString()); return(workingObj.gameObject); }
private void MouldWeapon(Weapon weapon, Weapon.WeaponType type) { switch (type) { case Weapon.WeaponType.BASE: break; case Weapon.WeaponType.SINGLE_SHOT_WEAPON: SingleShotWeapon ssw = (SingleShotWeapon)weapon; ssw.Damage = Weapon_Shot_Single_Damage; ssw.Velocity = Weapon_Shot_Single_Velocity; ssw.energyCost = Weapon_Shot_EnergyCost; ssw.cooldown = Weapon_Shot_Cooldown; ssw.cooldownTimer = Weapon_Shot_CooldownTimer; break; default: throw new System.Exception("No matching weapon type"); } }
public static Module DeserializeModule(XmlReader reader) { GameObject workingGO = null; Component workingCO = null; while (reader.Read() && !(!reader.IsStartElement() && reader.LocalName.Equals(typeof(Module).Name))) { if (reader.IsStartElement()) { switch (reader.LocalName) { case "BASE": workingGO = MyPrefab.ReadXml(reader, null); workingCO = workingGO.GetComponent <Module>(); break; case "DAMAGEABLE": Damageable.ReadXml(reader, workingCO); break; case "MODULE_DATA": Module.ReadXml(reader, workingCO); break; case "SINGLE_SHOT_WEAPON": SingleShotWeapon.ReadXml(reader, workingCO); break; case "WEAPON": Weapon.ReadXml(reader, workingCO); break; case "SHOT_WEAPON": ShotWeapon.ReadXml(reader, workingCO); break; } } } return((Module)workingCO); }