Пример #1
0
        public void GivenSingleShotWeapon_WhenShootingAtWeaponTarget_CallsLandShotOnTarget()
        {
            var weaponTargetStub = new WeaponTargetStub();
            var weapon           = new SingleShotWeapon(this.player);

            weapon.Shoot(weaponTargetStub);

            Assert.True(weaponTargetStub.LandShotCalled);
        }
Пример #2
0
    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);
    }
Пример #3
0
    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");
        }
    }
Пример #4
0
    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);
    }