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;
        }
示例#3
0
        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;
        }