public IFocusCardMoveResolver GetFocusCardMoveResolver(FocusCardModel activeFocusCard) { var applicableTypeResolvers = ResolveForFocusType(FocusType.Military); // activeFocusCard.Type); var applicableResolver = ResolveForFocusLevel(applicableTypeResolvers, FocusLevel.Lvl1); // activeFocusCard.Level); return(applicableResolver); }
public FocusBarUpgradeResponse(bool hasUpgraded, FocusBarModel focusBarModel, FocusCardModel oldTech, FocusCardModel newTech) { HasUpgraded = hasUpgraded; UpgradedFocusBar = focusBarModel; OldTechnology = oldTech; NewTechnology = newTech; }
private FocusLevel DetermineNextTechnologyLevelForFocusCard(FocusCardModel cardToInspect) { if (cardToInspect.Level != FocusLevel.Lvl4) { var nextlvl = cardToInspect.Level + 1; return(nextlvl); } return(cardToInspect.Level); }
private FocusCardModel GetUpgradeFocusCard(FocusCardModel focusCardToUpgrade, FocusLevel levelBarrierHit) { if (focusCardToUpgrade.Level < levelBarrierHit) { return(_globalGameCache.FocusCardsDeck.First(x => x.Type == focusCardToUpgrade.Type && x.Level == levelBarrierHit)); } else { return(_globalGameCache.FocusCardsDeck.First(x => x.Type == focusCardToUpgrade.Type && x.Level == focusCardToUpgrade.Level + 1)); } }
public BreakthroughModel(FocusCardModel replaced, FocusCardModel upgrade) { ReplacedFocusCard = replaced; UpgradedFocusCard = upgrade; }
private void ExecuteMoveForScope(IServiceScope scope, BotGameState gameState, FocusCardModel focusCard) { var scopedMoveContext = scope.ServiceProvider.GetRequiredService <IAutoCivMoveClient>(); var focusCardMoveResolver = _focusCardResolverFactory.GetFocusCardMoveResolver(focusCard); scopedMoveContext.ExecuteMoveForResolver(gameState, focusCardMoveResolver); }
private FocusBarUpgradeResponse CreateUpgradedFocusBar(FocusBarModel activeFocusBar, FocusCardModel focusCardToUpgrade, FocusCardModel upgradeFocusCard) { Dictionary <int, FocusCardModel> newFocusBarCards = new Dictionary <int, FocusCardModel>(); foreach (var fs in activeFocusBar.ActiveFocusSlots) { if (fs.Value.Name == focusCardToUpgrade.Name) { newFocusBarCards.Add(fs.Key, upgradeFocusCard); } else { newFocusBarCards.Add(fs.Key, fs.Value); } } var upgradedFocusBar = new FocusBarModel(new ReadOnlyDictionary <int, FocusCardModel>(newFocusBarCards)); return(new FocusBarUpgradeResponse(true, upgradedFocusBar, focusCardToUpgrade, upgradeFocusCard)); }