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()
Ejemplo n.º 2
0
	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)
Ejemplo n.º 4
0
	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)
Ejemplo n.º 5
0
	def calcGroupKeys(self, unit, player, team):
		eOrder = UnitUtil.getOrder(unit)
		if eOrder >= self.ORDER_OTHER:
			return (self.ORDER_OTHER,)
		else:
			return (eOrder,)
Ejemplo n.º 6
0
 def calcGroupKeys(self, unit, player, team):
     eOrder = UnitUtil.getOrder(unit)
     if eOrder >= self.ORDER_OTHER:
         return (self.ORDER_OTHER, )
     else:
         return (eOrder, )