public void RemoveFromTower(TowerUiData tower, IntVariable variable) { foreach (var modifiedCurrency in tower.ModifiedPrice.Where(p => p.Currency.Variable == variable)) { modifiedCurrency.Amount.RemoveModifier(this); } }
public void AddToTower(TowerUiData tower, IntVariable variable) { if ((WhiteList.Count > 0 && !WhiteList.Contains(variable)) || BlackList.Contains(variable)) { return; } foreach (var modifiedCurrency in tower.ModifiedPrice.Where(p => p.Currency.Variable == variable)) { modifiedCurrency.Amount.AddModifier(this); } }
public void ImportModifiers(TowerUiData tower) { foreach (var modifier in _allModifiers) { switch (modifier) { case BaseTowerModifier towerModifier: towerModifier.AddToTower(tower); break; case TowerCostModifier towerCostModifier: foreach (var price in tower.ModifiedPrice) { towerCostModifier.AddToTower(tower, price.Currency.Variable); } break; // add more stuff } } }
public override void AddToTower(TowerUiData tower) { tower.NumberOfTargets.AddModifier(this); }
public override void RemoveFromTower(TowerUiData tower) { tower.NumberOfTargets.RemoveModifier(this); }
public override void AddToTower(TowerUiData tower) { tower.FiringSpeed.AddModifier(this); }
public override void RemoveFromTower(TowerUiData tower) { tower.FiringSpeed.RemoveModifier(this); }
public abstract void AddToTower(TowerUiData tower);
public abstract void RemoveFromTower(TowerUiData tower);
public override void AddToTower(TowerUiData tower) { tower.Range.AddModifier(this); }
public override void RemoveFromTower(TowerUiData tower) { tower.Range.RemoveModifier(this); }