Esempio n. 1
0
    // Use this for initialization
    void Start()
    {
        upgradesObj = new EmptyTowerUpgrade();
        TowerUpgradeType upgradesCopy = upgrades;
        ITowerUpgrade    buffer;

        while (upgradesCopy != 0)
        {
            buffer      = TowerUpgrade.AddUpgrade(upgradesObj, ref upgradesCopy);
            upgradesObj = buffer;
        }
        if (tower != null)
        {
            upgradesObj.Effect(tower);
        }
    }
Esempio n. 2
0
    public static ITowerUpgrade AddUpgrade(ITowerUpgrade prev, ref TowerUpgradeType type)
    {
        if ((type & TowerUpgradeType.DAMAGE) != 0)
        {
            type &= ~TowerUpgradeType.DAMAGE;
            return(new DamageUpgrade(prev));
        }
        if ((type & TowerUpgradeType.ATTACK_SPEED) != 0)
        {
            type &= ~TowerUpgradeType.ATTACK_SPEED;
            return(new AttackSpeedUpgrade(prev));
        }
        if ((type & TowerUpgradeType.REWARD) != 0)
        {
            type &= ~TowerUpgradeType.REWARD;
            return(new RewardUpgrade(prev));
        }

        return(new EmptyTowerUpgrade());
    }
Esempio n. 3
0
 public TowerUpgrade(ITowerUpgrade prev)
 {
     prevUpgrade = prev;
 }
Esempio n. 4
0
 public AttackSpeedUpgrade(ITowerUpgrade prev) : base(prev)
 {
 }
Esempio n. 5
0
 public RewardUpgrade(ITowerUpgrade prev) : base(prev)
 {
 }
Esempio n. 6
0
 public DamageUpgrade(ITowerUpgrade prev) : base(prev)
 {
 }