コード例 #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);
        }
    }
コード例 #2
0
ファイル: TowerUpgrade.cs プロジェクト: CoFFeeMaN11/gejmdzem
    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());
    }
コード例 #3
0
ファイル: TowerUpgrade.cs プロジェクト: CoFFeeMaN11/gejmdzem
 public TowerUpgrade(ITowerUpgrade prev)
 {
     prevUpgrade = prev;
 }
コード例 #4
0
 public AttackSpeedUpgrade(ITowerUpgrade prev) : base(prev)
 {
 }
コード例 #5
0
ファイル: RewardUpgrade.cs プロジェクト: CoFFeeMaN11/gejmdzem
 public RewardUpgrade(ITowerUpgrade prev) : base(prev)
 {
 }
コード例 #6
0
ファイル: DamageUpgrade.cs プロジェクト: CoFFeeMaN11/gejmdzem
 public DamageUpgrade(ITowerUpgrade prev) : base(prev)
 {
 }