public CapitalismFocusCardMoveResolver(IBotRoundStateCache botRoundStateCache,
                                               IEconomyResolverUtility economyResolverUtility,
                                               ICaravanMovementActionRequestStep caravanMovementActionRequest,
                                               ICaravanMovementInformationRequestStep caravanMovementInformationRequest,
                                               ICaravanDestinationInformationRequestStep caravanDestinationInformationRequest,
                                               IRivalCityCaravanDestinationInformationRequestStep rivalCityDestinationInformationRequest,
                                               ICityStateCaravanDestinationInformationRequestStep cityStateDestinationInformationRequest,
                                               IRemoveCaravanActionRequestStep removeCaravanActionRequest) : base()
        {
            _economyResolverUtility = economyResolverUtility;
            _botRoundStateCache     = botRoundStateCache;

            FocusType  = FocusType.Economy;
            FocusLevel = FocusLevel.Lvl4;

            var loopSeed = 0;

            for (var tradecaravan = 0; tradecaravan < SupportedCaravans; tradecaravan++)
            {
                _actionSteps.Add(loopSeed, caravanMovementActionRequest);
                _actionSteps.Add(loopSeed + 1, caravanDestinationInformationRequest);
                _actionSteps.Add(loopSeed + 2, caravanMovementInformationRequest);
                _actionSteps.Add(loopSeed + 3, cityStateDestinationInformationRequest);
                _actionSteps.Add(loopSeed + 4, rivalCityDestinationInformationRequest);
                _actionSteps.Add(loopSeed + 5, removeCaravanActionRequest);
                loopSeed = _actionSteps.Count;
            }
        }
示例#2
0
        public CurrencyFocusCardMoveResolver(IEconomyResolverUtility economyResolverUtility,
                                             ICaravanMovementActionRequestStep caravanMovementActionRequest,
                                             ICaravanMovementInformationRequestStep caravanMovementInformationRequest,
                                             ICaravanDestinationInformationRequestStep caravanDestinationInformationRequest,
                                             IRivalCityCaravanDestinationInformationRequestStep rivalCityDestinationInformationRequest,
                                             ICityStateCaravanDestinationInformationRequestStep cityStateDestinationInformationRequest,
                                             IRemoveAdjacentBarbariansActionRequestStep removeAdjacentBarbariansActionRequest,
                                             IRemoveCaravanActionRequestStep removeCaravanActionRequest) : base()
        {
            FocusType  = FocusType.Economy;
            FocusLevel = FocusLevel.Lvl2;

            _economyResolverUtility = economyResolverUtility;

            _actionSteps.Add(0, removeAdjacentBarbariansActionRequest);

            var loopSeed = 1;

            for (var tradecaravan = 0; tradecaravan < SupportedCaravans; tradecaravan++)
            {
                _actionSteps.Add(loopSeed, caravanMovementActionRequest);
                _actionSteps.Add(loopSeed + 1, caravanDestinationInformationRequest);
                _actionSteps.Add(loopSeed + 2, caravanMovementInformationRequest);
                _actionSteps.Add(loopSeed + 3, cityStateDestinationInformationRequest);
                _actionSteps.Add(loopSeed + 4, rivalCityDestinationInformationRequest);
                _actionSteps.Add(loopSeed + 5, removeCaravanActionRequest);
                loopSeed = _actionSteps.Count;
            }
        }
示例#3
0
        public ForeignTradeFocusCardMoveResolver(IEconomyResolverUtility economyResolverUtility,
                                                 ICaravanMovementActionRequestStep caravanMovementActionRequest,
                                                 ICaravanMovementInformationRequestStep caravanMovementInformationRequest,
                                                 ICaravanDestinationInformationRequestStep caravanDestinationInformationRequest,
                                                 IRivalCityCaravanDestinationInformationRequestStep rivalCityDestinationInformationRequest,
                                                 ICityStateCaravanDestinationInformationRequestStep cityStateDestinationInformationRequest,
                                                 IRemoveCaravanActionRequestStep removeCaravanActionRequest) : base()
        {
            FocusType  = FocusType.Economy;
            FocusLevel = FocusLevel.Lvl1;

            _economyResolverUtility = economyResolverUtility;

            _actionSteps.Add(0, caravanMovementActionRequest);
            _actionSteps.Add(1, caravanDestinationInformationRequest);
            _actionSteps.Add(2, caravanMovementInformationRequest);
            _actionSteps.Add(3, cityStateDestinationInformationRequest);
            _actionSteps.Add(4, rivalCityDestinationInformationRequest);
            _actionSteps.Add(5, removeCaravanActionRequest);
        }