public void PerformRuleWhenBuyFundDriver(IGame game, CustomRuleInfo customRuleInfo) { var delayedCounters = game.GameCash.Counters.OfType <DelayedCounter>(); foreach ( var delayedCounter in delayedCounters.Where(delayedCounter => delayedCounter.SecondsToAchieve >= 1800)) { delayedCounter.SecondsToAchieve -= 300; } }
public void PerformRuleWhenBuyFundDriver(IGame game, CustomRuleInfo customRuleInfo) { if (customRuleInfo.CurrentIndex == null) { customRuleInfo.CurrentIndex = 0; } game.Items[customRuleInfo.CurrentIndex.Value].Price /= REDUCE_TIMES; game.ModifiedFundsDrivers[customRuleInfo.CurrentIndex.Value] = game.Items[customRuleInfo.CurrentIndex.Value]; var nextItem = game.Items.FirstOrDefault(_ => _.Id > customRuleInfo.CurrentIndex.Value); customRuleInfo.CurrentIndex = nextItem.Id != 0 ? nextItem.Id : 0; customRuleInfo.CurrentIndex = customRuleInfo.CurrentIndex; }
public void PerformRuleWhenBuyFundDriver(IGame game, CustomRuleInfo customRuleInfo) { if (customRuleInfo.CurrentIndex == null) { customRuleInfo.CurrentIndex = 0; } var incrementors = game.Items[customRuleInfo.CurrentIndex.Value].Incrementors.Where((_, i) => i != 0); foreach (var incrementor in incrementors) { incrementor.Value *= INCREASE_TIMES; } game.ModifiedFundsDrivers[customRuleInfo.CurrentIndex.Value] = game.Items[customRuleInfo.CurrentIndex.Value]; var nextItem = game.Items.FirstOrDefault(_ => _.Id > customRuleInfo.CurrentIndex.Value); customRuleInfo.CurrentIndex = nextItem.Id != 0 ? nextItem.Id : 0; customRuleInfo.CurrentIndex = customRuleInfo.CurrentIndex; }