def fillStratAdvGrid(self): self.iconGrid.clearData() self.iHumanKnowableUnits = UnitUtil.getKnowableUnits(self.iActivePlayer) self.iHumanUnits = UnitUtil.getTrainableUnits(self.iActivePlayer, self.iHumanKnowableUnits, True, True) #self.iHumanYesUnits, self.iHumanNoUnits = UnitUtil.getTrainableAndUntrainableUnits(self.iActivePlayer, self.iHumanKnowableUnits, True) BugUtil.debug("----------------------- fillStratAdvGrid start") self.iHumanObsoleteUnits = UnitUtil.findObsoleteUnits(self.iHumanUnits) for eUnit in self.iHumanObsoleteUnits: BugUtil.debug(" obs %s", gc.getUnitInfo(eUnit).getDescription()) activePlayer, activeTeam = PlayerUtil.getPlayerAndTeam(self.iActivePlayer) iRow = 0 for player in PlayerUtil.players(alive=True, barbarian=False, minor=False): ePlayer = player.getID() if (ePlayer != self.iActivePlayer and (activeTeam.isHasMet(player.getTeam()) or gc.getGame().isDebugMode())): self.iconGrid.appendRow(player.getCivilizationShortDescription(0), "", 3) # add leaderhead icon self.iconGrid.addIcon(iRow, self.SA_Col_Leader, gc.getLeaderHeadInfo(player.getLeaderType()).getButton(), 64, WidgetTypes.WIDGET_LEADERHEAD, player.getID(), self.iActivePlayer) # add bonus and unit icons self.addStratAdvBonuses(activePlayer, player, iRow) self.addStratAdvUnits(activePlayer, player, iRow) iRow += 1 BugUtil.debug("----------------------- fillStratAdvGrid end") self.iconGrid.refresh()
def addStratAdvUnits(self, activePlayer, player, iRow): if (not gc.getTeam(activePlayer.getTeam()).isTechTrading() and not gc.getTeam(player.getTeam()).isTechTrading()): szButton = ArtFileMgr.getInterfaceArtInfo("QUESTION_MARK").getPath() self.iconGrid.addIcon(iRow, self.SA_Col_Unit_Us_Yes, szButton, 32, WidgetTypes.WIDGET_GENERAL, -1) self.iconGrid.addIcon(iRow, self.SA_Col_Unit_Them_Yes, szButton, 32, WidgetTypes.WIDGET_GENERAL, -1) return iAIUnits, iAIMaybeUnits = UnitUtil.getKnownTrainableUnits(player.getID(), self.iActivePlayer, self.iHumanKnowableUnits, self.iRivalBonuses, True) # determine units that human can build that the AI cannot yesUnits = set() maybeUnits = set() for iUnit in self.iHumanUnits: if not UnitUtil.isUnitOrUpgradeInSet(iUnit, iAIUnits): if UnitUtil.isUnitOrUpgradeInSet(iUnit, iAIMaybeUnits): maybeUnits.add(iUnit) else: yesUnits.add(iUnit) # BugUtil.debug("-----------------------") # for eUnit in UnitUtil.findObsoleteUnits(yesUnits): # BugUtil.debug(" obs %s", gc.getUnitInfo(eUnit).getDescription()) yesUnits -= self.iHumanObsoleteUnits maybeUnits -= self.iHumanObsoleteUnits self.addStratAdvUnitIcons(iRow, self.SA_Col_Unit_Us_Yes, yesUnits) self.addStratAdvUnitIcons(iRow, self.SA_Col_Unit_Us_Maybe, maybeUnits) # determine units that AI can build that the human cannot yesUnits = set() maybeUnits = set() for iUnit in iAIUnits: if not UnitUtil.isUnitOrUpgradeInSet(iUnit, self.iHumanUnits): yesUnits.add(iUnit) for iUnit in iAIMaybeUnits: if not UnitUtil.isUnitOrUpgradeInSet(iUnit, self.iHumanUnits): maybeUnits.add(iUnit) BugUtil.debug("-----------------------") for eUnit in UnitUtil.findObsoleteUnits(yesUnits): BugUtil.debug(" obs %s", gc.getUnitInfo(eUnit).getDescription()) yesUnits -= UnitUtil.findObsoleteUnits(yesUnits) self.addStratAdvUnitIcons(iRow, self.SA_Col_Unit_Them_Yes, yesUnits) self.addStratAdvUnitIcons(iRow, self.SA_Col_Unit_Them_Maybe, maybeUnits)
def calcGroupKeys(self, unit, player, team): eOrder = UnitUtil.getOrder(unit) if eOrder >= self.ORDER_OTHER: return (self.ORDER_OTHER,) else: return (eOrder,)
def calcGroupKeys(self, unit, player, team): eOrder = UnitUtil.getOrder(unit) if eOrder >= self.ORDER_OTHER: return (self.ORDER_OTHER, ) else: return (eOrder, )