def lateInit(): import CvCorporationScreen import CvEspionageAdvisor import CvMilitaryAdvisor import CvDomesticAdvisor import CvForeignAdvisor import CvFinanceAdvisor import CvReligionScreen import CvEraMovieScreen import CvVictoryScreen import CvCivicsScreen import CvInfoScreen import CvDawnOfMan import CvTopCivs import Forgetful import CvDebugInfoScreen import CvTechChooser import BuildListScreen screenMap[CORPORATION_SCREEN] = CvCorporationScreen.CvCorporationScreen() screenMap[ESPIONAGE_ADVISOR] = CvEspionageAdvisor.CvEspionageAdvisor() screenMap[MILITARY_ADVISOR] = CvMilitaryAdvisor.CvMilitaryAdvisor( MILITARY_ADVISOR) screenMap[DOMESTIC_ADVISOR] = CvDomesticAdvisor.CvDomesticAdvisor( DOMESTIC_ADVISOR) screenMap[FOREIGN_ADVISOR] = CvForeignAdvisor.CvForeignAdvisor( FOREIGN_ADVISOR) screenMap[FINANCE_ADVISOR] = CvFinanceAdvisor.CvFinanceAdvisor( FINANCE_ADVISOR) screenMap[RELIGION_SCREEN] = CvReligionScreen.CvReligionScreen() screenMap[ERA_MOVIE_SCREEN] = CvEraMovieScreen.CvEraMovieScreen() screenMap[VICTORY_SCREEN] = CvVictoryScreen.CvVictoryScreen(VICTORY_SCREEN) screenMap[CIVICS_SCREEN] = CvCivicsScreen.CvCivicsScreen(CIVICS_SCREEN) screenMap[INFO_SCREEN] = CvInfoScreen.CvInfoScreen(INFO_SCREEN) screenMap[DAWN_OF_MAN] = CvDawnOfMan.CvDawnOfMan() screenMap[TOP_CIVS] = CvTopCivs.CvTopCivs(TOP_CIVS) screenMap[FORGETFUL_SCREEN] = Forgetful.Forgetful() screenMap[DEBUG_INFO_SCREEN] = CvDebugInfoScreen.CvDebugInfoScreen() screenMap[TECH_CHOOSER] = CvTechChooser.CvTechChooser() screenMap[BUILD_LIST_SCREEN] = BuildListScreen.BuildListScreen() import WorldBuilder, CvAdvancedStartScreen global worldBuilderScreen, advancedStartScreen advancedStartScreen = CvAdvancedStartScreen.CvAdvancedStartScreen() worldBuilderScreen = WorldBuilder.WorldBuilder(WORLDBUILDER_SCREEN) screenMap[WORLDBUILDER_SCREEN] = worldBuilderScreen import WBPlotScreen import WBEventScreen import WBBuildingScreen import WBCityDataScreen import WBCityEditScreen import WBProjectScreen import WBTeamScreen import WBPlayerScreen import WBUnitScreen import WBPromotionScreen import WBDiplomacyScreen import WBPlayerUnits import WBReligionScreen import WBCorporationScreen import WBInfoScreen import WBTradeScreen screenMap[WB_PLOT] = WBPlotScreen.WBPlotScreen(worldBuilderScreen) screenMap[WB_EVENT] = WBEventScreen.WBEventScreen(worldBuilderScreen) screenMap[WB_BUILDING] = WBBuildingScreen.WBBuildingScreen( worldBuilderScreen) screenMap[WB_CITYDATA] = WBCityDataScreen.WBCityDataScreen( worldBuilderScreen) screenMap[WB_CITYEDIT] = WBCityEditScreen.WBCityEditScreen( worldBuilderScreen) screenMap[WB_PROJECT] = WBProjectScreen.WBProjectScreen(worldBuilderScreen) screenMap[WB_TEAM] = WBTeamScreen.WBTeamScreen(worldBuilderScreen) screenMap[WB_PLAYER] = WBPlayerScreen.WBPlayerScreen(worldBuilderScreen) screenMap[WB_UNIT] = WBUnitScreen.WBUnitScreen(worldBuilderScreen) screenMap[WB_PROMOTION] = WBPromotionScreen.WBPromotionScreen( worldBuilderScreen) screenMap[WB_DIPLOMACY] = WBDiplomacyScreen.WBDiplomacyScreen( worldBuilderScreen) screenMap[WB_UNITLIST] = WBPlayerUnits.WBPlayerUnits(worldBuilderScreen) screenMap[WB_RELIGION] = WBReligionScreen.WBReligionScreen( worldBuilderScreen) screenMap[WB_CORPORATION] = WBCorporationScreen.WBCorporationScreen( worldBuilderScreen) screenMap[WB_INFO] = WBInfoScreen.WBInfoScreen(worldBuilderScreen) screenMap[WB_TRADE] = WBTradeScreen.WBTradeScreen(worldBuilderScreen)
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBPlayerUnits", CvScreenEnums.WB_UNITLIST) global iCityID global iUnitID global iCopyType global iOwnerType global iPlotType global iActivityType global iPlayer global iCityOwner global iUnitOwner pPlayer = GC.getPlayer(iPlayer) pUnitOwner = GC.getPlayer(iUnitOwner) pCityOwner = GC.getPlayer(iCityOwner) sName = inputClass.getFunctionName() if sName == "CurrentPage": iIndex = screen.getPullDownData("CurrentPage", screen.getSelectedPullDownID("CurrentPage")) if iIndex == 0: WBPlayerScreen.WBPlayerScreen(self.WB).interfaceScreen(iPlayer) elif iIndex == 1: WBTeamScreen.WBTeamScreen(self.WB).interfaceScreen(pPlayer.getTeam()) elif iIndex == 2: WBProjectScreen.WBProjectScreen(self.WB).interfaceScreen(pPlayer.getTeam()) elif iIndex == 3: self.WB.goToSubScreen("TechScreen") elif iIndex == 11: WBInfoScreen.WBInfoScreen(self.WB).interfaceScreen(iPlayer) elif iIndex == 5: WBUnitScreen.WBUnitScreen(self.WB).interfaceScreen(pUnitOwner.getUnit(iUnitID)) elif iIndex == 6: WBPromotionScreen.WBPromotionScreen(self.WB).interfaceScreen(pUnitOwner.getUnit(iUnitID)) elif iIndex == 7: WBPlotScreen.WBPlotScreen(self.WB).interfaceScreen(pUnitOwner.getUnit(iUnitID).plot()) elif iIndex == 8: WBEventScreen.WBEventScreen(self.WB).interfaceScreen(pUnitOwner.getUnit(iUnitID).plot()) elif iIndex == 9: WBCityEditScreen.WBCityEditScreen(self.WB).interfaceScreen(pCityOwner.getCity(iCityID)) elif iIndex == 10: WBCityDataScreen.WBCityDataScreen(self.WB).interfaceScreen(pCityOwner.getCity(iCityID)) elif iIndex == 14: WBBuildingScreen.WBBuildingScreen(self.WB).interfaceScreen(pCityOwner.getCity(iCityID)) elif iIndex == 12: WBPlotScreen.WBPlotScreen(self.WB).interfaceScreen(pCityOwner.getCity(iCityID).plot()) elif iIndex == 13: WBEventScreen.WBEventScreen(self.WB).interfaceScreen(pCityOwner.getCity(iCityID).plot()) elif sName == "CurrentPlayer": iIndex = screen.getPullDownData("CurrentPlayer", screen.getSelectedPullDownID("CurrentPlayer")) iCityID = -1 iUnitID = -1 self.interfaceScreen(iIndex) elif sName == "OwnerType": iOwnerType = screen.getPullDownData("OwnerType", screen.getSelectedPullDownID("OwnerType")) if iCityOwner != iPlayer: iCityID = -1 if iUnitOwner != iPlayer: iUnitID = -1 self.sortCities() self.sortUnits() elif sName == "PlotType": iPlotType = screen.getPullDownData("PlotType", screen.getSelectedPullDownID("PlotType")) if iCityOwner != iPlayer: iCityID = -1 if iUnitOwner != iPlayer: iUnitID = -1 self.sortCities() self.sortUnits() elif sName == "CopyType": iCopyType = screen.getPullDownData("CopyType", screen.getSelectedPullDownID("CopyType")) self.sortUnits() screen.hide("ActivityType") if iCopyType == 5: screen.show("ActivityType") elif sName == "ActivityType": iActivityType = screen.getPullDownData("ActivityType", screen.getSelectedPullDownID("ActivityType")) self.sortUnits() elif sName == "GoToCity": WBCityEditScreen.WBCityEditScreen(self.WB).interfaceScreen(pCityOwner.getCity(iCityID)) elif sName == "GoToUnit": WBUnitScreen.WBUnitScreen(self.WB).interfaceScreen(pUnitOwner.getUnit(iUnitID)) elif sName == "WBCityList": if inputClass.getData1() == 7872: iCityOwner = inputClass.getData2() /10000 WBPlayerScreen.WBPlayerScreen(self.WB).interfaceScreen(iCityOwner) else: iCityID = inputClass.getData2() iCityOwner = inputClass.getData1() - 7200 self.placeCurrentCity() self.placeCityMap() elif sName == "DeleteCurrentCity": if pCityOwner: pCity = pCityOwner.getCity(iCityID) if not pCity: pCity.kill() iCityID = -1 self.sortCities() self.addPageSwitch() elif sName == "DeleteAllCities": for item in lCities: pPlayerX = GC.getPlayer(item[0]) pPlayerX.getCity(item[1]).kill() iCityID = -1 self.sortCities() self.addPageSwitch() elif sName == "WBUnitList": if inputClass.getData1() == 1043: return elif inputClass.getData1() == 7872: iUnitOwner = inputClass.getData2() /10000 WBPlayerScreen.WBPlayerScreen(self.WB).interfaceScreen(iUnitOwner) else: iUnitID = inputClass.getData2() iUnitOwner = inputClass.getData1() - 8300 self.placeCurrentUnit() self.placeUnitMap() elif sName == "DeleteCurrentUnit": if pUnitOwner: pUnit = pUnitOwner.getUnit(iUnitID) if not pUnit.isNone(): pUnit.kill(False, PlayerTypes.NO_PLAYER) iUnitID = -1 self.sortUnits() self.addPageSwitch() elif sName == "DeleteAllUnits": for item in lUnits: pPlayerX = GC.getPlayer(item[0]) pPlayerX.getUnit(item[1]).kill(False, PlayerTypes.NO_PLAYER) iUnitID = -1 self.sortUnits() self.addPageSwitch() elif sName == "EndCurrentUnit": if pUnitOwner: pUnit = pUnitOwner.getUnit(iUnitID) if not pUnit.isNone(): pUnit.finishMoves() self.placeCurrentUnit() elif sName == "EndAllUnits": for item in lUnits: pPlayerX = GC.getPlayer(item[0]) pPlayerX.getUnit(item[1]).finishMoves() self.placeCurrentUnit() return
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBEventScreen", CvScreenEnums.WB_EVENT) global iSelectedEvent global iEventPlayer global iOtherPlayer global iOtherCity global iSelectedReligion global iSelectedCorporation global iSelectedUnit global iSelectedBuilding if inputClass.getFunctionName() == "CurrentPage": iIndex = screen.getPullDownData( "CurrentPage", screen.getSelectedPullDownID("CurrentPage")) if iIndex == 0: WBPlotScreen.WBPlotScreen(self.WB).interfaceScreen(pPlot) elif iIndex == 2: WBPlayerScreen.WBPlayerScreen(self.WB).interfaceScreen( pPlot.getOwner()) elif iIndex == 3: WBTeamScreen.WBTeamScreen(self.WB).interfaceScreen( pPlot.getTeam()) elif iIndex == 4: if pPlot.isCity(): WBCityEditScreen.WBCityEditScreen(self.WB).interfaceScreen( pPlot.getPlotCity()) elif iIndex == 5: if iSelectedUnit > -1 and iEventPlayer > -1: pUnit = GC.getPlayer(iEventPlayer).getUnit(iSelectedUnit) else: pUnit = pPlot.getUnit(0) if pUnit: WBUnitScreen.WBUnitScreen(self.WB).interfaceScreen(pUnit) elif iIndex == 11: iPlayer = pPlot.getOwner() if iPlayer == -1: iPlayer = CyGame().getActivePlayer() WBInfoScreen.WBInfoScreen(self.WB).interfaceScreen(iPlayer) elif inputClass.getFunctionName() == "WBEvent": iSelectedEvent = inputClass.getData2() self.placeEvents() elif inputClass.getFunctionName() == "WBEventPlayer": if inputClass.getData1() == 7876 or inputClass.getData1() == 7872: iEventPlayer = inputClass.getData2() / 10000 iSelectedUnit = -1 if iEventPlayer == iOtherPlayer: iOtherPlayer = -1 iOtherCity = -1 self.placeEventPlayers() self.placeOtherPlayers() self.placeOtherCities() self.placeUnits() elif inputClass.getFunctionName() == "WBOtherPlayer": if inputClass.getData1() == 7876 or inputClass.getData1() == 7872: iTemp = inputClass.getData2() / 10000 if iOtherPlayer == iTemp: iOtherPlayer = -1 else: iOtherPlayer = iTemp iOtherCity = -1 self.placeOtherPlayers() self.placeOtherCities() elif inputClass.getFunctionName() == "WBOtherCity": iTemp = inputClass.getData2() if iOtherCity == iTemp: iOtherCity = -1 else: iOtherCity = iTemp self.placeOtherCities() elif inputClass.getFunctionName() == "WBEventReligion": iTemp = inputClass.getData1() if iSelectedReligion == iTemp: iSelectedReligion = -1 else: iSelectedReligion = iTemp self.placeReligions() elif inputClass.getFunctionName() == "WBEventCorporation": iTemp = inputClass.getData2() if iSelectedCorporation == iTemp: iSelectedCorporation = -1 else: iSelectedCorporation = iTemp self.placeCorporations() elif inputClass.getFunctionName() == "WBEventBuilding": iTemp = inputClass.getData1() if iSelectedBuilding == iTemp: iSelectedBuilding = -1 else: iSelectedBuilding = iTemp self.placeBuildings() elif inputClass.getFunctionName() == "WBEventUnit": if inputClass.getData1() > 8299 and inputClass.getData1() < 8400: iUnit = inputClass.getData2() if iSelectedUnit == iUnit: iSelectedUnit = -1 else: iSelectedUnit = iUnit iEventPlayer = inputClass.getData1() - 8300 if iEventPlayer == iOtherPlayer: iOtherPlayer = -1 iOtherCity = -1 self.placeEventPlayers() self.placeOtherPlayers() self.placeOtherCities() self.placeUnits() elif inputClass.getFunctionName() == "TriggerEvent": if iEventPlayer == -1: return pPlayer = GC.getPlayer(iEventPlayer) iCity = -1 if pPlot.isCity(): iCity = pPlot.getPlotCity().getID() triggerData = pPlayer.initTriggeredData( iSelectedEvent, True, iCity, pPlot.getX(), pPlot.getY(), iOtherPlayer, iOtherCity, iSelectedReligion, iSelectedCorporation, iSelectedUnit, iSelectedBuilding) screen.hideScreen() return 1
def __eventWBPlotScriptPopupApply(self, playerID, userData, popupReturn): sScript = popupReturn.getEditBoxString(0) pPlot = CyMap().plot(userData[0], userData[1]) pPlot.setScriptData(CvUtil.convertToStr(sScript)) WBPlotScreen.WBPlotScreen(CvPlatyBuilderScreen.CvWorldBuilderScreen()).placeScript() return
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBBuildingScreen", CvScreenEnums.WB_BUILDING) global bApplyAll global iSelectedClass global iChangeType global iOwnerType global iPlotType if inputClass.getFunctionName() == "CurrentPage": iIndex = screen.getPullDownData( "CurrentPage", screen.getSelectedPullDownID("CurrentPage")) if iIndex == 0: WBCityEditScreen.WBCityEditScreen( CvPlatyBuilderScreen.CvWorldBuilderScreen( )).interfaceScreen(pCity) elif iIndex == 1: WBCityDataScreen.WBCityDataScreen().interfaceScreen(pCity) elif iIndex == 3: WBPlayerScreen.WBPlayerScreen().interfaceScreen(iPlayer) elif iIndex == 4: WBTeamScreen.WBTeamScreen().interfaceScreen(pCity.getTeam()) elif iIndex == 5: WBPlayerUnits.WBPlayerUnits().interfaceScreen(iPlayer) elif iIndex == 6: WBPlotScreen.WBPlotScreen().interfaceScreen(pCity.plot()) elif iIndex == 7: WBEventScreen.WBEventScreen().interfaceScreen(pCity.plot()) elif iIndex == 8: WBReligionScreen.WBReligionScreen().interfaceScreen(iPlayer) elif iIndex == 9: WBCorporationScreen.WBCorporationScreen().interfaceScreen( iPlayer) elif iIndex == 11: WBInfoScreen.WBInfoScreen().interfaceScreen(iPlayer) elif inputClass.getFunctionName() == "OwnerType": iOwnerType = screen.getPullDownData( "OwnerType", screen.getSelectedPullDownID("OwnerType")) self.sortCities() elif inputClass.getFunctionName() == "PlotType": iPlotType = screen.getPullDownData( "PlotType", screen.getSelectedPullDownID("PlotType")) self.sortCities() elif inputClass.getFunctionName() == "ChangeType": iChangeType = screen.getPullDownData( "ChangeType", screen.getSelectedPullDownID("ChangeType")) elif inputClass.getFunctionName() == "CurrentCity": iPlayerX = inputClass.getData1() - 7200 pPlayerX = gc.getPlayer(iPlayerX) if pPlayerX: self.interfaceScreen(pPlayerX.getCity(inputClass.getData2())) elif inputClass.getFunctionName() == "WBBuilding": bUpdate = self.editBuilding(inputClass.getData1(), gc.getPlayer(iPlayer), False, False) self.placeBuildings() if bUpdate: self.placeWonders() elif inputClass.getFunctionName() == "BuildingAvailable": bUpdate = False for item in lBuilding: bTemp = self.editBuilding(item[1], gc.getPlayer(iPlayer), True, False) bUpdate = bUpdate or bTemp self.placeBuildings() if bUpdate: self.placeWonders() elif inputClass.getFunctionName() == "BuildingAll": bUpdate = False for item in lBuilding: bTemp = self.editBuilding(item[1], gc.getPlayer(iPlayer), False, False) bUpdate = bUpdate or bTemp self.placeBuildings() if bUpdate: self.placeWonders() elif inputClass.getFunctionName() == "WonderClass": iSelectedClass = inputClass.getData() self.placeWonders() elif inputClass.getFunctionName() == "WBWonders": bUpdate = self.editBuilding(inputClass.getData1(), gc.getPlayer(iPlayer), False, True) self.placeWonders() if inputClass.getData1() == iPalace: dc.checkName(iPlayer) if bUpdate: self.placeBuildings() elif inputClass.getFunctionName() == "WonderAvailable": bUpdate = False lList = lWorld if iSelectedClass == 0: lList = lNational + lTeam + lWorld elif iSelectedClass == 1: lList = lNational elif iSelectedClass == 2: lList = lTeam for item in lList: bTemp = self.editBuilding(item[1], gc.getPlayer(iPlayer), True, True) bUpdate = bUpdate or bTemp self.placeWonders() if bUpdate: self.placeBuildings() elif inputClass.getFunctionName() == "WonderAll": bUpdate = False lList = lWorld if iSelectedClass == 0: lList = lNational + lTeam + lWorld elif iSelectedClass == 1: lList = lNational elif iSelectedClass == 2: lList = lTeam for item in lList: bTemp = self.editBuilding(item[1], gc.getPlayer(iPlayer), False, True) bUpdate = bUpdate or bTemp self.placeWonders() if bUpdate: self.placeBuildings() elif inputClass.getFunctionName() == "ApplyAll": bApplyAll = not bApplyAll sText = u"<font=3b>" + CyTranslator().getText( "TXT_KEY_WB_COPY_ALL", (CyTranslator().getText("TXT_KEY_CONCEPT_CITIES", ()), )) + "</font>" sColor = CyTranslator().getText("[COLOR_WARNING_TEXT]", ()) if bApplyAll: sColor = CyTranslator().getText("[COLOR_POSITIVE_TEXT]", ()) screen.modifyString("ApplyAll", sColor + sText + "</color>", 0) elif inputClass.getFunctionName() == "HideInactive": CvPlatyBuilderScreen.bHideInactive = not CvPlatyBuilderScreen.bHideInactive CvPlatyBuilderScreen.CvWorldBuilderScreen().refreshSideMenu() sText = u"<font=3b>" + CyTranslator().getText( "TXT_KEY_PEDIA_HIDE_INACTIVE", ()) + "</font>" sColor = CyTranslator().getText("[COLOR_WARNING_TEXT]", ()) if CvPlatyBuilderScreen.bHideInactive: sColor = CyTranslator().getText("[COLOR_POSITIVE_TEXT]", ()) screen.setText("HideInactive", "Background", sColor + sText + "</color>", CvUtil.FONT_LEFT_JUSTIFY, screen.getXResolution() / 4 + 150 + 20, 50, -0.1, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1) self.sortBuildings() return 1
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBInfoScreen", CvScreenEnums.WB_INFO) global iSelectedPlayer global iItem global iMode global lSelectedItem if inputClass.getFunctionName() == "PlotData": if iMode == 0: pUnit = gc.getPlayer(lSelectedItem[0]).getUnit( lSelectedItem[1]) if pUnit: WBUnitScreen.WBUnitScreen( CvPlatyBuilderScreen.CvWorldBuilderScreen( )).interfaceScreen(pUnit) elif iMode == 1: pUnit = gc.getPlayer(lSelectedItem[0]).getUnit( lSelectedItem[1]) if pUnit: WBPromotionScreen.WBPromotionScreen().interfaceScreen( pUnit) elif iMode < 6: pCity = gc.getPlayer(lSelectedItem[0]).getCity( lSelectedItem[1]) if pCity: WBCityEditScreen.WBCityEditScreen( CvPlatyBuilderScreen.CvWorldBuilderScreen( )).interfaceScreen(pCity) elif iMode < 11: pPlot = CyMap().plot(lSelectedItem[0], lSelectedItem[1]) if not pPlot.isNone(): WBPlotScreen.WBPlotScreen().interfaceScreen(pPlot) elif iMode == 11: WBPlayerScreen.WBPlayerScreen().interfaceScreen( lSelectedItem[0]) elif iMode == 12: WBTechScreen.WBTechScreen().interfaceScreen(lSelectedItem[0]) elif iMode == 13: WBProjectScreen.WBProjectScreen().interfaceScreen( lSelectedItem[0]) elif inputClass.getFunctionName() == "ItemType": iMode = screen.getPullDownData( "ItemType", screen.getSelectedPullDownID("ItemType")) iItem = -1 self.interfaceScreen(iSelectedPlayer) elif inputClass.getFunctionName() == "CurrentPlayer": iSelectedPlayer = screen.getPullDownData( "CurrentPlayer", screen.getSelectedPullDownID("CurrentPlayer")) self.interfaceScreen(iSelectedPlayer) elif inputClass.getFunctionName() == "InfoTable": iItem = inputClass.getData2() self.refreshMap() elif inputClass.getFunctionName() == "PlotTable": iColorA = gc.getInfoTypeForString(self.iColorA) iColorB = gc.getInfoTypeForString(self.iColorB) if iMode < 2: pUnit = gc.getPlayer(lSelectedItem[0]).getUnit( lSelectedItem[1]) if pUnit: screen.minimapFlashPlot(pUnit.getX(), pUnit.getY(), iColorB, -1) iPlayer = inputClass.getData1() - 8300 iUnit = inputClass.getData2() pNewUnit = gc.getPlayer(iPlayer).getUnit(iUnit) if pNewUnit: lSelectedItem = [iPlayer, iUnit] screen.minimapFlashPlot(pNewUnit.getX(), pNewUnit.getY(), iColorA, -1) elif iMode < 6: pCity = gc.getPlayer(lSelectedItem[0]).getCity( lSelectedItem[1]) if pCity: screen.minimapFlashPlot(pCity.getX(), pCity.getY(), iColorB, -1) iPlayer = inputClass.getData1() - 7200 iCity = inputClass.getData2() pNewCity = gc.getPlayer(iPlayer).getCity(iCity) if pNewCity: lSelectedItem = [iPlayer, iCity] screen.minimapFlashPlot(pNewCity.getX(), pNewCity.getY(), iColorA, -1) elif iMode < 11: iX = lSelectedItem[0] iY = lSelectedItem[1] if iX > -1 and iY > -1: screen.minimapFlashPlot(iX, iY, iColorB, -1) iX = inputClass.getData2() / 10000 iY = inputClass.getData2() % 10000 lSelectedItem = [iX, iY] screen.minimapFlashPlot(iX, iY, iColorA, -1) elif iMode == 11: iPlayerX = inputClass.getData2() / 10000 lSelectedItem = [iPlayerX, -1] elif iMode > 11: iPlayerX = inputClass.getData2() / 10000 lSelectedItem = [gc.getPlayer(iPlayerX).getTeam(), -1] self.placePlotData() elif inputClass.getFunctionName() == "HideInactive": CvPlatyBuilderScreen.bHideInactive = not CvPlatyBuilderScreen.bHideInactive CvPlatyBuilderScreen.CvWorldBuilderScreen().refreshSideMenu() sText = u"<font=3b>" + CyTranslator().getText( "TXT_KEY_PEDIA_HIDE_INACTIVE", ()) + "</font>" sColor = CyTranslator().getText("[COLOR_WARNING_TEXT]", ()) if CvPlatyBuilderScreen.bHideInactive: sColor = CyTranslator().getText("[COLOR_POSITIVE_TEXT]", ()) screen.setText("HideInactive", "Background", sColor + sText + "</color>", CvUtil.FONT_LEFT_JUSTIFY, screen.getXResolution() / 3 + 20, self.iTable_Y - 22, -0.1, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1) self.placeItems()
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBCityEditScreen", CvScreenEnums.WB_CITYEDIT) global iChange global iOwnerType global iPlotType if inputClass.getFunctionName() == "ChangeBy": iChange = screen.getPullDownData( "ChangeBy", screen.getSelectedPullDownID("ChangeBy")) elif inputClass.getFunctionName() == "CurrentPage": iIndex = screen.getPullDownData( "CurrentPage", screen.getSelectedPullDownID("CurrentPage")) if iIndex == 1: WBCityDataScreen.WBCityDataScreen( self.WB).interfaceScreen(pCity) elif iIndex == 2: WBBuildingScreen.WBBuildingScreen( self.WB).interfaceScreen(pCity) elif iIndex == 3: WBPlayerScreen.WBPlayerScreen(self.WB).interfaceScreen(iPlayer) elif iIndex == 4: WBTeamScreen.WBTeamScreen(self.WB).interfaceScreen( pCity.getTeam()) elif iIndex == 5: WBPlayerUnits.WBPlayerUnits(self.WB).interfaceScreen(iPlayer) elif iIndex == 6: WBPlotScreen.WBPlotScreen(self.WB).interfaceScreen( pCity.plot()) elif iIndex == 7: WBEventScreen.WBEventScreen(self.WB).interfaceScreen( pCity.plot()) elif iIndex == 8: WBReligionScreen.WBReligionScreen( self.WB).interfaceScreen(iPlayer) elif iIndex == 9: WBCorporationScreen.WBCorporationScreen( self.WB).interfaceScreen(iPlayer) elif iIndex == 11: WBInfoScreen.WBInfoScreen(self.WB).interfaceScreen(iPlayer) elif inputClass.getFunctionName() == "OwnerType": iOwnerType = screen.getPullDownData( "OwnerType", screen.getSelectedPullDownID("OwnerType")) self.sortCities() elif inputClass.getFunctionName() == "PlotType": iPlotType = screen.getPullDownData( "PlotType", screen.getSelectedPullDownID("PlotType")) self.sortCities() elif inputClass.getFunctionName() == "CurrentCity": iPlayerX = inputClass.getData1() - 7200 pPlayerX = GC.getPlayer(iPlayerX) if pPlayerX: self.interfaceScreen(pPlayerX.getCity(inputClass.getData2())) elif inputClass.getFunctionName() == "CityName": import CvEventInterface CvEventInterface.getEventManager().beginEvent(5000, (pCity, True)) elif inputClass.getFunctionName() == "CityOwner": iIndex = screen.getSelectedPullDownID("CityOwner") GC.getPlayer(screen.getPullDownData("CityOwner", iIndex)).acquireCity( pCity, False, True) self.interfaceScreen(pPlot.getPlotCity()) elif inputClass.getFunctionName().find("BaseYield") > -1: iYield = YieldTypes(inputClass.getData2()) if inputClass.getData1() == 1030: pCity.changeBaseYieldRate(iYield, iChange) elif inputClass.getData1() == 1031: pCity.changeBaseYieldRate( iYield, -min(iChange, pCity.getBaseYieldRate(iYield))) self.placeStats() elif inputClass.getFunctionName().find("CityPopulation") > -1: if inputClass.getData1() == 1030: pCity.changePopulation(iChange) elif inputClass.getData1() == 1031: pCity.changePopulation(-min(iChange, pCity.getPopulation())) self.placeStats() elif inputClass.getFunctionName().find("CityFood") > -1: if inputClass.getData1() == 1030: pCity.changeFood( min(iChange, pCity.growthThreshold() - pCity.getFood())) elif inputClass.getData1() == 1031: pCity.changeFood(-min(iChange, pCity.getFood())) self.placeStats() elif inputClass.getFunctionName().find("CityDefense") > -1: if inputClass.getData1() == 1030: pCity.changeDefenseDamage( min( iChange, GC.getMAX_CITY_DEFENSE_DAMAGE() - pCity.getDefenseDamage())) elif inputClass.getData1() == 1031: pCity.changeDefenseDamage( -min(iChange, pCity.getDefenseDamage())) self.placeStats() elif inputClass.getFunctionName().find("CityTradeRoute") > -1: if inputClass.getData1() == 1030: pCity.changeExtraTradeRoutes( min( iChange, GC.getDefineINT("MAX_TRADE_ROUTES") - pCity.getTradeRoutes())) elif inputClass.getData1() == 1031: pCity.changeExtraTradeRoutes( -min(iChange, pCity.getTradeRoutes())) self.placeStats() elif inputClass.getFunctionName().find("CityChangeCulture") > -1: if inputClass.getData1() == 1030: pCity.changeCulture(iPlayer, iChange, True) elif inputClass.getData1() == 1031: pCity.changeCulture(iPlayer, -min(iChange, pCity.getCulture(iPlayer)), True) self.placeStats() elif inputClass.getFunctionName() == ("CityCultureLevel"): iIndex = screen.getSelectedPullDownID("CityCultureLevel") if iIndex == 0: pCity.setOccupationTimer(max(1, pCity.getOccupationTimer())) else: pCity.setOccupationTimer(0) pCity.setCulture( iPlayer, GC.getCultureLevelInfo(iIndex).getSpeedThreshold( CyGame().getGameSpeedType()), True) self.placeStats() elif inputClass.getFunctionName().find("CityChangeHappy") > -1: if inputClass.getData1() == 1030: pCity.changeExtraHappiness(iChange) elif inputClass.getData1() == 1031: pCity.changeExtraHappiness(-iChange) self.placeStats() elif inputClass.getFunctionName().find("CityChangeHealth") > -1: if inputClass.getData1() == 1030: pCity.changeExtraHealth(iChange) elif inputClass.getData1() == 1031: pCity.changeExtraHealth(-iChange) self.placeStats() elif inputClass.getFunctionName().find("CityOccupationTurn") > -1: if inputClass.getData1() == 1030: pCity.changeOccupationTimer(iChange) elif inputClass.getData1() == 1031: pCity.changeOccupationTimer( -min(iChange, pCity.getOccupationTimer())) self.placeStats() elif inputClass.getFunctionName().find("CityDraftAnger") > -1: if inputClass.getData1() == 1030: pCity.changeConscriptAngerTimer(iChange) elif inputClass.getData1() == 1031: pCity.changeConscriptAngerTimer( -min(iChange, pCity.getConscriptAngerTimer())) self.placeStats() elif inputClass.getFunctionName().find("CityHurryAnger") > -1: if inputClass.getData1() == 1030: pCity.changeHurryAngerTimer(iChange) elif inputClass.getData1() == 1031: pCity.changeHurryAngerTimer( -min(iChange, pCity.getHurryAngerTimer())) self.placeStats() elif inputClass.getFunctionName().find("CityDefyResolution") > -1: if inputClass.getData1() == 1030: pCity.changeDefyResolutionAngerTimer(iChange) elif inputClass.getData1() == 1031: pCity.changeDefyResolutionAngerTimer( -min(iChange, pCity.getDefyResolutionAngerTimer())) self.placeStats() elif inputClass.getFunctionName().find("CityEspionageHappy") > -1: if inputClass.getData1() == 1030: pCity.changeEspionageHappinessCounter(iChange) elif inputClass.getData1() == 1031: pCity.changeEspionageHappinessCounter( -min(iChange, pCity.getEspionageHappinessCounter())) self.placeStats() elif inputClass.getFunctionName().find("CityEspionageHealth") > -1: if inputClass.getData1() == 1030: pCity.changeEspionageHealthCounter(iChange) elif inputClass.getData1() == 1031: pCity.changeEspionageHealthCounter( -min(iChange, pCity.getEspionageHealthCounter())) self.placeStats() elif inputClass.getFunctionName().find("CityTemporaryHappy") > -1: if inputClass.getData1() == 1030: pCity.changeHappinessTimer(iChange) elif inputClass.getData1() == 1031: pCity.changeHappinessTimer( -min(iChange, pCity.getHappinessTimer())) self.placeStats() elif inputClass.getFunctionName() == "WBCityProduction": self.handlePlatyChooseProduction(inputClass) self.placeProduction() elif inputClass.getFunctionName().find("CurrentProduction") > -1: if inputClass.getData1() == 1030: pCity.changeProduction( min(iChange, pCity.getProductionNeeded() - pCity.getProduction())) elif inputClass.getData1() == 1031: pCity.changeProduction(-min(iChange, pCity.getProduction())) self.placeProduction() elif inputClass.getFunctionName().find("CityEditScriptData") > -1: popup = Popup.PyPopup(2222, EventContextTypes.EVENTCONTEXT_ALL) popup.setHeaderString(CyTranslator().getText( "TXT_KEY_WB_SCRIPT", ())) popup.setUserData((pCity.getOwner(), pCity.getID())) popup.createEditBox(pCity.getScriptData()) popup.launch() return elif inputClass.getFunctionName() == "Commands": iIndex = screen.getPullDownData( "Commands", screen.getSelectedPullDownID("Commands")) if iIndex == 5: pCity.kill() else: self.WB.iMoveCity = pCity.getID() self.WB.iCurrentPlayer = iPlayer if iIndex == 1: self.WB.iPlayerAddMode = "MoveCity" elif iIndex == 2: self.WB.iPlayerAddMode = "DuplicateCity" elif iIndex == 3: self.WB.iPlayerAddMode = "MoveCityPlus" self.WB.lMoveUnit = [] for pUnitX in pPlot.units(): if pUnitX.getOwner() == iPlayer: self.WB.lMoveUnit.append([iPlayer, pUnitX.getID()]) elif iIndex == 4: self.WB.iPlayerAddMode = "DuplicateCityPlus" self.WB.lMoveUnit = [] for pUnitX in pPlot.units(): if pUnitX.getOwner() == iPlayer: self.WB.lMoveUnit.append([iPlayer, pUnitX.getID()]) screen.hideScreen() return 1
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBRiverScreen", CvScreenEnums.WB_PLOT_RIVER) global bAdd global bSensibility global bFord global iSelectedSide global iEditType global bRiverAutomatic global bRiverBranch global bRiverComplete if False: pass elif inputClass.getFunctionName() == "CurrentPage": iIndex = screen.getPullDownData( "CurrentPage", screen.getSelectedPullDownID("CurrentPage")) if iIndex == 1: WBEventScreen.WBEventScreen().interfaceScreen(pPlot) elif iIndex == 2: if pPlot.getOwner() != -1: WBPlayerScreen.WBPlayerScreen().interfaceScreen( pPlot.getOwner()) elif iIndex == 3: WBTeamScreen.WBTeamScreen().interfaceScreen(pPlot.getTeam()) elif iIndex == 4: if pPlot.isCity(): WBCityEditScreen.WBCityEditScreen().interfaceScreen( pPlot.getPlotCity()) elif iIndex == 5: pUnit = pPlot.getUnit(0) if pUnit: WBUnitScreen.WBUnitScreen( CvPlatyBuilderScreen.CvWorldBuilderScreen( )).interfaceScreen(pUnit) elif iIndex == 11: iPlayer = pPlot.getOwner() if iPlayer == -1: iPlayer = CyGame().getActivePlayer() WBInfoScreen.WBInfoScreen().interfaceScreen(iPlayer) elif iIndex == 12: WBPlotScreen.WBPlotScreen().interfaceScreen(pPlot) elif inputClass.getFunctionName() == "NextPlotUpButton": pNewPlot = CyMap().plot(pPlot.getX(), pPlot.getY() + 1) if not pNewPlot.isNone(): self.interfaceScreen(pNewPlot) elif inputClass.getFunctionName() == "NextPlotDownButton": pNewPlot = CyMap().plot(pPlot.getX(), pPlot.getY() - 1) if not pNewPlot.isNone(): self.interfaceScreen(pNewPlot) elif inputClass.getFunctionName() == "NextPlotLeftButton": pNewPlot = CyMap().plot(pPlot.getX() - 1, pPlot.getY()) if not pNewPlot.isNone(): self.interfaceScreen(pNewPlot) elif inputClass.getFunctionName() == "NextPlotRightButton": pNewPlot = CyMap().plot(pPlot.getX() + 1, pPlot.getY()) if not pNewPlot.isNone(): self.interfaceScreen(pNewPlot) elif inputClass.getFunctionName() == "WBRiverFeature": iFeature = pPlot.getFeatureType() iVariety = pPlot.getFeatureVariety() bSkip = False if inputClass.getData2() < 0 or not bAdd: pPlot.setFeatureType(-1, 0) CvUtil.removeScriptData(pPlot, "r") bSkip = True if bSensibility and pPlot.getPlotType( ) is not PlotTypes.PLOT_OCEAN: bSkip = True if not bSkip: if inputClass.getData2() >= 1000: if iFeature in riverIds["features"]: CvUtil.removeScriptData(pPlot, "r") pPlot.setTerrainType( riverIds["terrains"][inputClass.getData2() - 1000], True, True) pPlot.setFeatureType(-1, 0) pPlot.setFeatureType( riverIds["features"][inputClass.getData2() - 1000], 0) else: ra = self.lRiveralign[inputClass.getData2()] riverDesc = CvRiverUtil.getRiverScriptData(pPlot) riverDesc.rtype = ra[0] riverDesc.align = ra[1] if riverDesc.variant not in CvRiverUtil.RiverTypes[ riverDesc.rtype][riverDesc.align]: riverDesc.variant = 1 if not len(riverDesc.getVariantSides()) > iSelectedSide: iSelectedSide = 0 if iFeature not in riverIds["features"] or iVariety == 0: CvRiverUtil.addRiverFeature(pPlot) CvRiverUtil.updateRiverFeature(pPlot, riverDesc, True) self.placeScript() self.placeRiverFeature() elif inputClass.getFunctionName() == "WBRiverVariant": riverDesc = CvRiverUtil.getRiverScriptData(pPlot) iOld = riverDesc.variant iNew = inputClass.getData2() if iNew is not iOld: riverDesc.variant = iNew if iSelectedSide >= len(riverDesc.getVariantSides()): iSelectedSide = 0 CvRiverUtil.updateRiverFeature(pPlot, riverDesc, True) self.placeRiverFeature(0) elif inputClass.getFunctionName() == "WBRiverSubtile": iNew = inputClass.getData2() if iNew is not iSelectedSide: iSelectedSide = iNew self.placeRiverFeature(1) elif inputClass.getFunctionName() == "WBRiverTexture": riverDesc = CvRiverUtil.getRiverScriptData(pPlot) iOld = riverDesc.textures[iSelectedSide] iNew = inputClass.getData2() if iNew is not iOld: riverDesc.textures[iSelectedSide] = iNew CvRiverUtil.updateRiverFeature(pPlot, riverDesc, True) self.placeRiverFeature(2) if bRiverComplete or bRiverBranch: nearbyPlots = CvRiverUtil.getAdjacentTiles( pPlot, not bRiverComplete) # Remove this plot (=first entry) nearbyPlots.pop(0) CvRiverUtil.setTexture(nearbyPlots, iSelectedSide, iNew) elif inputClass.getFunctionName() == "WBRiverDecoration": riverDesc = CvRiverUtil.getRiverScriptData(pPlot) bActive = not (inputClass.getData2() in riverDesc.decorations) if bActive: riverDesc.decorations.append(inputClass.getData2()) else: riverDesc.decorations.remove(inputClass.getData2()) CvRiverUtil.updateRiverFeature(pPlot, riverDesc, True) self.placeRiverDecoration() elif inputClass.getFunctionName() == "WBRiverRapids": riverDesc = CvRiverUtil.getRiverScriptData(pPlot) riverDesc.rapids = inputClass.getData2() CvRiverUtil.updateRiverFeature(pPlot, riverDesc, True) if bRiverComplete or bRiverBranch: nearbyPlots = CvRiverUtil.getAdjacentTiles( pPlot, not bRiverComplete) """ dmsg = "" for n in nearbyPlots: dmsg += "(%i,%i)\n" % (n[0].getX(), n[0].getY()) CyInterface().addMessage(gc.getGame().getActivePlayer(), True, 5, dmsg, None, 2, None, ColorTypes(14), 0, 0, False, False) """ CvRiverUtil.setRapidDirection(nearbyPlots) self.placeRiverFeature(4) self.placeScript() elif inputClass.getFunctionName() == "WBRiverWaterColors": riverDesc = CvRiverUtil.getRiverScriptData(pPlot) # order is [ full texture color 1, halve texture color 1, ... ] riverDesc.waterColor = max(0, inputClass.getData2() - 2) # Use halve texture if rotation is set CvRiverUtil.updateRiverFeature(pPlot, riverDesc, True) if bRiverComplete or bRiverBranch: nearbyPlots = CvRiverUtil.getAdjacentTiles( pPlot, not bRiverComplete) CvRiverUtil.setWaterColor(nearbyPlots) self.placeRiverFeature(5) self.placeScript() elif inputClass.getFunctionName() == "WBRiverWaterRotations": riverDesc = CvRiverUtil.getRiverScriptData(pPlot) riverDesc.waterRotation = inputClass.getData2() if riverDesc.waterColor > 0: iPlus = 0 if riverDesc.waterRotation > 0: iPlus = 1 riverDesc.waterColor = 2 * \ ((riverDesc.waterColor+1)/2) - 1 + iPlus CvRiverUtil.updateRiverFeature(pPlot, riverDesc, True) self.placeRiverFeature(5) self.placeScript() elif inputClass.getFunctionName() == "PlotEditScriptData": popup = Popup.PyPopup(5555, EventContextTypes.EVENTCONTEXT_ALL) popup.setHeaderString(CyTranslator().getText( "TXT_KEY_WB_SCRIPT", ())) popup.setUserData((pPlot.getX(), pPlot.getY())) popup.createEditBox(pPlot.getScriptData()) popup.launch() elif inputClass.getFunctionName() == "SensibilityCheck": bSensibility = not bSensibility screen.setState("SensibilityCheck", bSensibility) elif inputClass.getFunctionName() == "FordCheck": bFord = not bFord iTerrain = pPlot.getTerrainType() iFeature = pPlot.getFeatureType() iVariety = pPlot.getFeatureVariety() if (iTerrain in riverIds["terrains"] and iTerrain is not riverIds["terrains"][int(bFord)]): pPlot.setTerrainType(riverIds["terrains"][int(bFord)], True, True) if (iFeature in riverIds["features"] and iVariety in riverIds["varieties"] and iFeature is not riverIds["features"][int(bFord)]): pPlot.setFeatureType(-1, 0) pPlot.setFeatureType(riverIds["features"][int(bFord)], iVariety) riverDesc = CvRiverUtil.getRiverScriptData(pPlot) if not iVariety == 0: CvRiverUtil.updateRiverFeature(pPlot, riverDesc, False) screen.setState("FordCheck", bFord) self.placeRiverFeature() elif inputClass.getFunctionName() == "RiverAutomaticCheck": bRiverAutomatic = not bRiverAutomatic screen.setState("RiverAutomaticCheck", bRiverAutomatic) elif inputClass.getFunctionName() == "RiverBranchCheck": bRiverBranch = not bRiverBranch screen.setState("RiverBranchCheck", bRiverBranch) elif inputClass.getFunctionName() == "RiverCompleteCheck": bRiverComplete = not bRiverComplete screen.setState("RiverCompleteCheck", bRiverComplete) return 1
PEDIA_CIVIC: pediaMainScreen, PEDIA_CIVILIZATION: pediaMainScreen, PEDIA_LEADER: pediaMainScreen, PEDIA_RELIGION: pediaMainScreen, # PEDIA_CORPORATION : pediaMainScreen, PEDIA_HISTORY: pediaMainScreen, WORLDBUILDER_SCREEN: worldBuilderScreen, DEBUG_INFO_SCREEN: debugInfoScreen, # add new screens here PEDIA_SPELL: pediaMainScreen, #RevolutionDCM REVOLUTION_WATCH_ADVISOR: revolutionWatchAdvisor, ## World Builder ## WB_PLOT: WBPlotScreen.WBPlotScreen(), WB_EVENT: WBEventScreen.WBEventScreen(), WB_BUILDING: WBBuildingScreen.WBBuildingScreen(), WB_CITYDATA: WBCityDataScreen.WBCityDataScreen(), WB_CITYEDIT: WBCityEditScreen.WBCityEditScreen(), WB_TECH: WBTechScreen.WBTechScreen(), WB_PROJECT: WBProjectScreen.WBProjectScreen(), WB_TEAM: WBTeamScreen.WBTeamScreen(), WB_PLAYER: WBPlayerScreen.WBPlayerScreen(), WB_UNIT: WBUnitScreen.WBUnitScreen(worldBuilderScreen), WB_PROMOTION: WBPromotionScreen.WBPromotionScreen(), WB_DIPLOMACY: WBDiplomacyScreen.WBDiplomacyScreen(), WB_GAMEDATA: WBGameDataScreen.WBGameDataScreen(worldBuilderScreen), WB_UNITLIST: WBPlayerUnits.WBPlayerUnits(), WB_RELIGION: WBReligionScreen.WBReligionScreen(), WB_CORPORATION: WBCorporationScreen.WBCorporationScreen(),
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBInfoScreen", CvScreenEnums.WB_INFO) global iSelectedPlayer global iItem global iMode global lSelectedItem if inputClass.getFunctionName() == "PlotData": if iMode == 0: pUnit = GC.getPlayer(lSelectedItem[0]).getUnit( lSelectedItem[1]) if pUnit: WBUnitScreen.WBUnitScreen(self.WB).interfaceScreen(pUnit) elif iMode == 1: pUnit = GC.getPlayer(lSelectedItem[0]).getUnit( lSelectedItem[1]) if pUnit: WBPromotionScreen.WBPromotionScreen( self.WB).interfaceScreen(pUnit) elif iMode < 6: pCity = GC.getPlayer(lSelectedItem[0]).getCity( lSelectedItem[1]) if pCity: WBCityEditScreen.WBCityEditScreen( self.WB).interfaceScreen(pCity) elif iMode < 11: pPlot = CyMap().plot(lSelectedItem[0], lSelectedItem[1]) if not pPlot.isNone(): WBPlotScreen.WBPlotScreen(self.WB).interfaceScreen(pPlot) elif iMode == 11: WBPlayerScreen.WBPlayerScreen(self.WB).interfaceScreen( lSelectedItem[0]) elif iMode == 12: self.WB.goToSubScreen("TechScreen") elif iMode == 13: WBProjectScreen.WBProjectScreen(self.WB).interfaceScreen( lSelectedItem[0]) if inputClass.getFunctionName() == "ItemType": iMode = screen.getPullDownData( "ItemType", screen.getSelectedPullDownID("ItemType")) iItem = -1 self.interfaceScreen(iSelectedPlayer) elif inputClass.getFunctionName() == "CurrentPlayer": iSelectedPlayer = screen.getPullDownData( "CurrentPlayer", screen.getSelectedPullDownID("CurrentPlayer")) self.interfaceScreen(iSelectedPlayer) elif inputClass.getFunctionName() == "InfoTable": iItem = inputClass.getData2() self.refreshMap() elif inputClass.getFunctionName() == "PlotTable": iColorA = GC.getInfoTypeForString(self.iColorA) iColorB = GC.getInfoTypeForString(self.iColorB) if iMode < 2: pUnit = GC.getPlayer(lSelectedItem[0]).getUnit( lSelectedItem[1]) if pUnit: screen.minimapFlashPlot(pUnit.getX(), pUnit.getY(), iColorB, -1) iPlayer = inputClass.getData1() - 8300 iUnit = inputClass.getData2() pNewUnit = GC.getPlayer(iPlayer).getUnit(iUnit) if pNewUnit: lSelectedItem = [iPlayer, iUnit] screen.minimapFlashPlot(pNewUnit.getX(), pNewUnit.getY(), iColorA, -1) elif iMode < 6: pCity = GC.getPlayer(lSelectedItem[0]).getCity( lSelectedItem[1]) if pCity: screen.minimapFlashPlot(pCity.getX(), pCity.getY(), iColorB, -1) iPlayer = inputClass.getData1() - 7200 iCity = inputClass.getData2() pNewCity = GC.getPlayer(iPlayer).getCity(iCity) if pNewCity: lSelectedItem = [iPlayer, iCity] screen.minimapFlashPlot(pNewCity.getX(), pNewCity.getY(), iColorA, -1) elif iMode < 11: iX = lSelectedItem[0] iY = lSelectedItem[1] if iX > -1 and iY > -1: screen.minimapFlashPlot(iX, iY, iColorB, -1) iX = inputClass.getData2() / 10000 iY = inputClass.getData2() % 10000 lSelectedItem = [iX, iY] screen.minimapFlashPlot(iX, iY, iColorA, -1) elif iMode == 11: iPlayerX = inputClass.getData2() / 10000 lSelectedItem = [iPlayerX, -1] elif iMode > 11: iPlayerX = inputClass.getData2() / 10000 lSelectedItem = [GC.getPlayer(iPlayerX).getTeam(), -1] self.placePlotData()
topCivs, HALL_OF_FAME: hallOfFameScreen, VICTORY_MOVIE_SCREEN: victoryMovie, ESPIONAGE_ADVISOR: espionageAdvisor, DAN_QUAYLE_SCREEN: danQuayleScreen, WORLDBUILDER_SCREEN: worldBuilderScreen, DEBUG_INFO_SCREEN: debugInfoScreen, ## World Builder ## WB_PLOT: WBPlotScreen.WBPlotScreen(), WB_EVENT: WBEventScreen.WBEventScreen(), WB_BUILDING: WBBuildingScreen.WBBuildingScreen(), WB_CITYDATA: WBCityDataScreen.WBCityDataScreen(), WB_CITYEDIT: WBCityEditScreen.WBCityEditScreen(worldBuilderScreen), WB_TECH: WBTechScreen.WBTechScreen(), WB_PROJECT: WBProjectScreen.WBProjectScreen(), WB_TEAM: WBTeamScreen.WBTeamScreen(), WB_PLAYER:
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBPlayerUnits", CvScreenEnums.WB_UNITLIST) global iCityID global iUnitID if inputClass.getFunctionName() == "CurrentPage": iIndex = screen.getPullDownData("CurrentPage", screen.getSelectedPullDownID("CurrentPage")) if iIndex == 0: WBPlayerScreen.WBPlayerScreen().interfaceScreen(iPlayer) elif iIndex == 1: WBTeamScreen.WBTeamScreen().interfaceScreen(iTeam) elif iIndex == 2: WBProjectScreen.WBProjectScreen().interfaceScreen(iTeam) elif iIndex == 3: WBTechScreen.WBTechScreen().interfaceScreen(iTeam) elif iIndex == 11: WBInfoScreen.WBInfoScreen().interfaceScreen(iPlayer) #Magister Start elif iIndex == 5: WBUnitScreen.WBUnitScreen(CvPlatyBuilderScreen.CvWorldBuilderScreen()).interfaceScreen(pPlayer.getUnit(iUnitID)) elif iIndex == 6: WBPromotionScreen.WBPromotionScreen().interfaceScreen(pPlayer.getUnit(iUnitID)) elif iIndex == 7: WBPlotScreen.WBPlotScreen().interfaceScreen(pPlayer.getUnit(iUnitID).plot()) elif iIndex == 8: WBEventScreen.WBEventScreen().interfaceScreen(pPlayer.getUnit(iUnitID).plot()) elif iIndex == 9: WBCityEditScreen.WBCityEditScreen().interfaceScreen(pPlayer.getCity(iCityID)) elif iIndex == 10: WBCityDataScreen.WBCityDataScreen().interfaceScreen(pPlayer.getCity(iCityID)) elif iIndex == 14: WBBuildingScreen.WBBuildingScreen().interfaceScreen(pPlayer.getCity(iCityID)) elif iIndex == 12: WBPlotScreen.WBPlotScreen().interfaceScreen(pPlayer.getCity(iCityID).plot()) elif iIndex == 13: WBEventScreen.WBEventScreen().interfaceScreen(pPlayer.getCity(iCityID).plot()) #Magister Stop elif inputClass.getFunctionName() == "CurrentPlayer": iIndex = screen.getPullDownData("CurrentPlayer", screen.getSelectedPullDownID("CurrentPlayer")) iCityID = 0 iUnitID = 0 self.interfaceScreen(iIndex) elif inputClass.getFunctionName() == "WBCityList": iCityID = inputClass.getData2() if inputClass.getData1() == 1030: WBCityEditScreen.WBCityEditScreen().interfaceScreen(pPlayer.getCity(iCityID)) elif inputClass.getData1() == 1031: pPlayer.getCity(iCityID).kill() self.setCityTable() self.interfaceScreen(iPlayer)#Magister else: self.placeCityMap() self.interfaceScreen(iPlayer)#Magister elif inputClass.getFunctionName() == "DeleteAllCities": pPlayer.killCities() self.setCityTable() self.interfaceScreen(iPlayer)#Magister elif inputClass.getFunctionName() == "WBUnitList": iUnitID = inputClass.getData2() if inputClass.getData1() == 1030: WBUnitScreen.WBUnitScreen(CvPlatyBuilderScreen.CvWorldBuilderScreen()).interfaceScreen(pPlayer.getUnit(iUnitID)) elif inputClass.getData1() == 1031: pPlayer.getUnit(iUnitID).kill(false, PlayerTypes.NO_PLAYER) self.setUnitTable() self.interfaceScreen(iPlayer)#Magister else: self.placeUnitMap() self.interfaceScreen(iPlayer)#Magister elif inputClass.getFunctionName() == "DeleteAllUnits": pPlayer.killUnits() self.setUnitTable() self.interfaceScreen(iPlayer)#Magister return
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBCityDataScreen", CvScreenEnums.WB_CITYDATA) global iChange global iOwnerType global iPlotType global bRemove global iSelectedClass global bWonder global iModifyBuilding global iSelectedYield if inputClass.getFunctionName() == "ChangeBy": iChange = screen.getPullDownData( "ChangeBy", screen.getSelectedPullDownID("ChangeBy")) elif inputClass.getFunctionName() == "ChangeType": bRemove = not bRemove elif inputClass.getFunctionName() == "CurrentCity": iPlayerX = inputClass.getData1() - 7200 pPlayerX = GC.getPlayer(iPlayerX) if pPlayerX: self.interfaceScreen(pPlayerX.getCity(inputClass.getData2())) elif inputClass.getFunctionName() == "CurrentPage": iIndex = screen.getPullDownData( "CurrentPage", screen.getSelectedPullDownID("CurrentPage")) if iIndex == 0: WBCityEditScreen.WBCityEditScreen( self.WB).interfaceScreen(pCity) elif iIndex == 2: WBBuildingScreen.WBBuildingScreen( self.WB).interfaceScreen(pCity) elif iIndex == 3: WBPlayerScreen.WBPlayerScreen(self.WB).interfaceScreen(iPlayer) elif iIndex == 4: WBTeamScreen.WBTeamScreen(self.WB).interfaceScreen( pCity.getTeam()) elif iIndex == 5: WBPlayerUnits.WBPlayerUnits(self.WB).interfaceScreen(iPlayer) elif iIndex == 6: WBPlotScreen.WBPlotScreen(self.WB).interfaceScreen( pCity.plot()) elif iIndex == 7: WBEventScreen.WBEventScreen(self.WB).interfaceScreen( pCity.plot()) elif iIndex == 8: WBReligionScreen.WBReligionScreen( self.WB).interfaceScreen(iPlayer) elif iIndex == 9: WBCorporationScreen.WBCorporationScreen( self.WB).interfaceScreen(iPlayer) elif iIndex == 11: WBInfoScreen.WBInfoScreen(self.WB).interfaceScreen(iPlayer) elif inputClass.getFunctionName() == "OwnerType": iOwnerType = screen.getPullDownData( "OwnerType", screen.getSelectedPullDownID("OwnerType")) self.sortCities() elif inputClass.getFunctionName() == "PlotType": iPlotType = screen.getPullDownData( "PlotType", screen.getSelectedPullDownID("PlotType")) self.sortCities() elif inputClass.getFunctionName() == "SpecialistAll": for item in xrange(GC.getNumSpecialistInfos()): self.editFreeSpecialist(item) self.placeSpecialist() elif inputClass.getFunctionName() == "WBSpecialist": self.editFreeSpecialist(inputClass.getData2()) self.placeSpecialist() elif inputClass.getFunctionName() == "GreatPeopleProgressAll": for item in lGreatPeople: self.editGreatPeopleProgress(item[1]) self.placeGreatPeople() elif inputClass.getFunctionName().find("GreatPeopleFlat") > -1: if inputClass.getData1() == 1030: self.editGreatPeopleFlat(iChange) elif inputClass.getData1() == 1031: self.editGreatPeopleFlat(-iChange) self.placeGreatPeople() elif inputClass.getFunctionName().find("GreatPeopleRate") > -1: if inputClass.getData1() == 1030: self.editGreatPeopleRate(iChange) elif inputClass.getData1() == 1031: self.editGreatPeopleRate(-iChange) self.placeSpecialist() elif inputClass.getFunctionName() == "WBGreatPeople": self.editGreatPeopleProgress(inputClass.getData2()) self.placeGreatPeople() elif inputClass.getFunctionName() == "BonusClass": iSelectedClass = inputClass.getData() - 1 self.createBonusList() self.placeBonus() elif inputClass.getFunctionName() == "BonusAll": for item in lBonus: self.editFreeBonus(item[1]) self.placeBonus() elif inputClass.getFunctionName() == "WBBonus": if inputClass.getData1() == 7878: self.editFreeBonus(inputClass.getData2()) else: self.setNoBonusCB(inputClass.getData2()) self.placeBonus() elif inputClass.getFunctionName() == "BuildingType": bWonder = not bWonder self.sortBuildings() elif inputClass.getFunctionName() == "YieldType": iSelectedYield = screen.getPullDownData( "YieldType", screen.getSelectedPullDownID("YieldType")) elif inputClass.getFunctionName() == "WBModifyBuilding": self.modifyBuilding(inputClass.getData1()) self.placeModify() return 1
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBPromotionScreen", CvScreenEnums.WB_PROMOTION) global bApplyAll global iChangeType global iPlotType global iCopyType global iOwnerType global iSelectedClass if inputClass.getFunctionName() == "CurrentPage": iIndex = screen.getPullDownData( "CurrentPage", screen.getSelectedPullDownID("CurrentPage")) if iIndex == 0: WBUnitScreen.WBUnitScreen(self.WB).interfaceScreen(pUnit) elif iIndex == 2: WBPlayerScreen.WBPlayerScreen(self.WB).interfaceScreen( pUnit.getOwner()) elif iIndex == 3: WBTeamScreen.WBTeamScreen(self.WB).interfaceScreen( pUnit.getTeam()) elif iIndex == 4: WBPlotScreen.WBPlotScreen(self.WB).interfaceScreen(pPlot) elif iIndex == 5: WBEventScreen.WBEventScreen(self.WB).interfaceScreen(pPlot) elif iIndex == 6: WBPlayerUnits.WBPlayerUnits(self.WB).interfaceScreen( pUnit.getOwner()) elif iIndex == 11: WBInfoScreen.WBInfoScreen(self.WB).interfaceScreen( pUnit.getOwner()) elif inputClass.getFunctionName() == "ChangeType": iChangeType = screen.getPullDownData( "ChangeType", screen.getSelectedPullDownID("ChangeType")) elif inputClass.getFunctionName() == "OwnerType": iOwnerType = screen.getPullDownData( "OwnerType", screen.getSelectedPullDownID("OwnerType")) self.sortUnits() elif inputClass.getFunctionName() == "PlotType": iPlotType = screen.getPullDownData( "PlotType", screen.getSelectedPullDownID("PlotType")) self.sortUnits() elif inputClass.getFunctionName() == "CopyType": iCopyType = screen.getPullDownData( "CopyType", screen.getSelectedPullDownID("CopyType")) self.sortUnits() elif inputClass.getFunctionName() == "WBCurrentUnit": iPlayer = inputClass.getData1() - 8300 self.interfaceScreen( GC.getPlayer(iPlayer).getUnit(inputClass.getData2())) elif inputClass.getFunctionName() == "CombatClass": iSelectedClass = screen.getPullDownData( "CombatClass", screen.getSelectedPullDownID("CombatClass")) self.sortPromotions() elif inputClass.getFunctionName() == "WBPromotion": self.editPromotion(inputClass.getData2()) self.placePromotions() elif inputClass.getFunctionName() == "PromotionAll": for item in lList: self.editPromotion(item[1]) self.placePromotions() elif inputClass.getFunctionName() == "ApplyAll": bApplyAll = not bApplyAll sText = u"<font=3b>" + CyTranslator().getText( "TXT_KEY_WB_COPY_ALL", (CyTranslator().getText("TXT_KEY_PEDIA_CATEGORY_UNIT", ()), )) + "</font>" sColor = CyTranslator().getText("[COLOR_WARNING_TEXT]", ()) if bApplyAll: sColor = CyTranslator().getText("[COLOR_POSITIVE_TEXT]", ()) screen.modifyString("ApplyAll", sColor + sText + "</color>", 0) return 1
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBBuildingScreen", CvScreenEnums.WB_BUILDING) global bApplyAll global iSelectedClass global iChangeType global iOwnerType global iPlotType if inputClass.getFunctionName() == "CurrentPage": iIndex = screen.getPullDownData( "CurrentPage", screen.getSelectedPullDownID("CurrentPage")) if iIndex == 0: WBCityEditScreen.WBCityEditScreen( self.WB).interfaceScreen(pCity) elif iIndex == 1: WBCityDataScreen.WBCityDataScreen( self.WB).interfaceScreen(pCity) elif iIndex == 3: WBPlayerScreen.WBPlayerScreen(self.WB).interfaceScreen(iPlayer) elif iIndex == 4: WBTeamScreen.WBTeamScreen(self.WB).interfaceScreen( pCity.getTeam()) elif iIndex == 5: WBPlayerUnits.WBPlayerUnits(self.WB).interfaceScreen(iPlayer) elif iIndex == 6: WBPlotScreen.WBPlotScreen(self.WB).interfaceScreen( pCity.plot()) elif iIndex == 7: WBEventScreen.WBEventScreen(self.WB).interfaceScreen( pCity.plot()) elif iIndex == 8: WBReligionScreen.WBReligionScreen( self.WB).interfaceScreen(iPlayer) elif iIndex == 9: WBCorporationScreen.WBCorporationScreen( self.WB).interfaceScreen(iPlayer) elif iIndex == 11: WBInfoScreen.WBInfoScreen(self.WB).interfaceScreen(iPlayer) elif inputClass.getFunctionName() == "OwnerType": iOwnerType = screen.getPullDownData( "OwnerType", screen.getSelectedPullDownID("OwnerType")) self.sortCities() elif inputClass.getFunctionName() == "PlotType": iPlotType = screen.getPullDownData( "PlotType", screen.getSelectedPullDownID("PlotType")) self.sortCities() elif inputClass.getFunctionName() == "ChangeType": iChangeType = screen.getPullDownData( "ChangeType", screen.getSelectedPullDownID("ChangeType")) elif inputClass.getFunctionName() == "CurrentCity": iPlayerX = inputClass.getData1() - 7200 pPlayerX = GC.getPlayer(iPlayerX) if pPlayerX: self.interfaceScreen(pPlayerX.getCity(inputClass.getData2())) elif inputClass.getFunctionName() == "WBBuilding": bUpdate = self.editBuilding(inputClass.getData1(), GC.getPlayer(iPlayer), False, False) self.placeBuildings() if bUpdate: self.placeWonders() elif inputClass.getFunctionName() == "BuildingAvailable": bUpdate = False for item in lBuilding: bTemp = self.editBuilding(item[1], GC.getPlayer(iPlayer), True, False) bUpdate = bUpdate or bTemp self.placeBuildings() if bUpdate: self.placeWonders() elif inputClass.getFunctionName() == "BuildingAll": bUpdate = False for item in lBuilding: bTemp = self.editBuilding(item[1], GC.getPlayer(iPlayer), False, False) bUpdate = bUpdate or bTemp self.placeBuildings() if bUpdate: self.placeWonders() elif inputClass.getFunctionName() == "WonderClass": iSelectedClass = inputClass.getData() self.placeWonders() elif inputClass.getFunctionName() == "WBWonders": bUpdate = self.editBuilding(inputClass.getData1(), GC.getPlayer(iPlayer), False, True) self.placeWonders() if bUpdate: self.placeBuildings() elif inputClass.getFunctionName() == "WonderAvailable": bUpdate = False lList = lWorld if iSelectedClass == 0: lList = lNational + lTeam + lWorld elif iSelectedClass == 1: lList = lNational elif iSelectedClass == 2: lList = lTeam for item in lList: bTemp = self.editBuilding(item[1], GC.getPlayer(iPlayer), True, True) bUpdate = bUpdate or bTemp self.placeWonders() if bUpdate: self.placeBuildings() elif inputClass.getFunctionName() == "WonderAll": bUpdate = False lList = lWorld if iSelectedClass == 0: lList = lNational + lTeam + lWorld elif iSelectedClass == 1: lList = lNational elif iSelectedClass == 2: lList = lTeam for item in lList: bTemp = self.editBuilding(item[1], GC.getPlayer(iPlayer), False, True) bUpdate = bUpdate or bTemp self.placeWonders() if bUpdate: self.placeBuildings() elif inputClass.getFunctionName() == "ApplyAll": bApplyAll = not bApplyAll sText = u"<font=3b>" + CyTranslator().getText( "TXT_KEY_WB_COPY_ALL", (CyTranslator().getText("TXT_KEY_CONCEPT_CITIES", ()), )) + "</font>" sColor = CyTranslator().getText("[COLOR_WARNING_TEXT]", ()) if bApplyAll: sColor = CyTranslator().getText("[COLOR_POSITIVE_TEXT]", ()) screen.modifyString("ApplyAll", sColor + sText + "</color>", 0) return 1
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBCityEditScreen", CvScreenEnums.WB_CITYEDIT) global iChange if inputClass.getFunctionName() == "ChangeBy": iChange = screen.getPullDownData( "ChangeBy", screen.getSelectedPullDownID("ChangeBy")) elif inputClass.getFunctionName() == "CurrentPage": iIndex = screen.getPullDownData( "CurrentPage", screen.getSelectedPullDownID("CurrentPage")) if iIndex == 1: WBCityDataScreen.WBCityDataScreen().interfaceScreen(pCity) elif iIndex == 2: WBBuildingScreen.WBBuildingScreen().interfaceScreen(pCity) elif iIndex == 3: WBPlayerScreen.WBPlayerScreen().interfaceScreen(iPlayer) elif iIndex == 4: WBTeamScreen.WBTeamScreen().interfaceScreen(pCity.getTeam()) elif iIndex == 5: WBPlayerUnits.WBPlayerUnits().interfaceScreen(iPlayer) elif iIndex == 6: WBPlotScreen.WBPlotScreen().interfaceScreen(pCity.plot()) elif iIndex == 7: WBEventScreen.WBEventScreen().interfaceScreen(pCity.plot()) elif iIndex == 8: WBReligionScreen.WBReligionScreen().interfaceScreen(iPlayer) elif iIndex == 9: WBCorporationScreen.WBCorporationScreen().interfaceScreen( iPlayer) elif iIndex == 11: WBInfoScreen.WBInfoScreen().interfaceScreen(iPlayer) elif inputClass.getFunctionName() == "CurrentCity": self.interfaceScreen( gc.getPlayer(iPlayer).getCity(inputClass.getData2())) elif inputClass.getFunctionName() == "CityName": popup = Popup.PyPopup(CvUtil.EventEditCityName, EventContextTypes.EVENTCONTEXT_ALL) popup.setUserData((pCity.getID(), True, iPlayer)) popup.setHeaderString(CyTranslator().getText( "TXT_KEY_NAME_CITY", ())) popup.setBodyString(CyTranslator().getText( "TXT_KEY_SETTLE_NEW_CITY_NAME", ())) popup.createEditBox(pCity.getName()) popup.setEditBoxMaxCharCount(26) popup.launch() elif inputClass.getFunctionName() == "CityOwner": iIndex = screen.getSelectedPullDownID("CityOwner") pPlot = pCity.plot() gc.getPlayer(screen.getPullDownData("CityOwner", iIndex)).acquireCity( pCity, False, True) self.interfaceScreen(pPlot.getPlotCity()) elif inputClass.getFunctionName().find("BaseYield") > -1: iYield = YieldTypes(inputClass.getData2()) if inputClass.getData1() == 1030: pCity.changeBaseYieldRate(iYield, iChange) elif inputClass.getData1() == 1031: pCity.changeBaseYieldRate( iYield, -min(iChange, pCity.getBaseYieldRate(iYield))) self.placeStats() elif inputClass.getFunctionName().find("CityPopulation") > -1: if inputClass.getData1() == 1030: pCity.changePopulation(iChange) elif inputClass.getData1() == 1031: pCity.changePopulation(-min(iChange, pCity.getPopulation())) self.placeStats() elif inputClass.getFunctionName().find("CityFood") > -1: if inputClass.getData1() == 1030: pCity.changeFood( min(iChange, pCity.growthThreshold() - pCity.getFood())) elif inputClass.getData1() == 1031: pCity.changeFood(-min(iChange, pCity.getFood())) self.placeStats() elif inputClass.getFunctionName().find("CityDefense") > -1: if inputClass.getData1() == 1030: pCity.changeDefenseDamage( min( iChange, gc.getMAX_CITY_DEFENSE_DAMAGE() - pCity.getDefenseDamage())) elif inputClass.getData1() == 1031: pCity.changeDefenseDamage( -min(iChange, pCity.getDefenseDamage())) self.placeStats() elif inputClass.getFunctionName().find("CityTradeRoute") > -1: if inputClass.getData1() == 1030: pCity.changeExtraTradeRoutes( min( iChange, gc.getDefineINT("MAX_TRADE_ROUTES") - pCity.getTradeRoutes())) elif inputClass.getData1() == 1031: pCity.changeExtraTradeRoutes( -min(iChange, pCity.getTradeRoutes())) self.placeStats() elif inputClass.getFunctionName().find("CityChangeCulture") > -1: if inputClass.getData1() == 1030: pCity.changeCulture(iPlayer, iChange, True) elif inputClass.getData1() == 1031: pCity.changeCulture(iPlayer, -min(iChange, pCity.getCulture(iPlayer)), True) self.placeStats() elif inputClass.getFunctionName() == ("CityCultureLevel"): iIndex = screen.getSelectedPullDownID("CityCultureLevel") if iIndex == 0: pCity.setOccupationTimer(max(1, pCity.getOccupationTimer())) else: pCity.setOccupationTimer(0) pCity.setCulture( iPlayer, gc.getCultureLevelInfo(iIndex).getSpeedThreshold( CyGame().getGameSpeedType()), True) self.placeStats() elif inputClass.getFunctionName().find("CityChangeHappy") > -1: if inputClass.getData1() == 1030: pCity.changeExtraHappiness(iChange) elif inputClass.getData1() == 1031: pCity.changeExtraHappiness(-iChange) self.placeStats() elif inputClass.getFunctionName().find("CityChangeHealth") > -1: if inputClass.getData1() == 1030: pCity.changeExtraHealth(iChange) elif inputClass.getData1() == 1031: pCity.changeExtraHealth(-iChange) self.placeStats() elif inputClass.getFunctionName().find("CityOccupationTurn") > -1: if inputClass.getData1() == 1030: pCity.changeOccupationTimer(iChange) elif inputClass.getData1() == 1031: pCity.changeOccupationTimer( -min(iChange, pCity.getOccupationTimer())) self.placeStats() elif inputClass.getFunctionName().find("CityDraftAnger") > -1: if inputClass.getData1() == 1030: pCity.changeConscriptAngerTimer(iChange) elif inputClass.getData1() == 1031: pCity.changeConscriptAngerTimer( -min(iChange, pCity.getConscriptAngerTimer())) self.placeStats() elif inputClass.getFunctionName().find("CityHurryAnger") > -1: if inputClass.getData1() == 1030: pCity.changeHurryAngerTimer(iChange) elif inputClass.getData1() == 1031: pCity.changeHurryAngerTimer( -min(iChange, pCity.getHurryAngerTimer())) self.placeStats() elif inputClass.getFunctionName().find("CityDefyResolution") > -1: if inputClass.getData1() == 1030: pCity.changeDefyResolutionAngerTimer(iChange) elif inputClass.getData1() == 1031: pCity.changeDefyResolutionAngerTimer( -min(iChange, pCity.getDefyResolutionAngerTimer())) self.placeStats() elif inputClass.getFunctionName().find("CityEspionageHappy") > -1: if inputClass.getData1() == 1030: pCity.changeEspionageHappinessCounter(iChange) elif inputClass.getData1() == 1031: pCity.changeEspionageHappinessCounter( -min(iChange, pCity.getEspionageHappinessCounter())) self.placeStats() elif inputClass.getFunctionName().find("CityEspionageHealth") > -1: if inputClass.getData1() == 1030: pCity.changeEspionageHealthCounter(iChange) elif inputClass.getData1() == 1031: pCity.changeEspionageHealthCounter( -min(iChange, pCity.getEspionageHealthCounter())) self.placeStats() elif inputClass.getFunctionName().find("CityTemporaryHappy") > -1: if inputClass.getData1() == 1030: pCity.changeHappinessTimer(iChange) elif inputClass.getData1() == 1031: pCity.changeHappinessTimer( -min(iChange, pCity.getHappinessTimer())) self.placeStats() elif inputClass.getFunctionName() == "WBCityProduction": self.handlePlatyChooseProduction(inputClass) self.placeProduction() elif inputClass.getFunctionName().find("CurrentProduction") > -1: if inputClass.getData1() == 1030: pCity.changeProduction( min(iChange, pCity.getProductionNeeded() - pCity.getProduction())) elif inputClass.getData1() == 1031: pCity.changeProduction(-min(iChange, pCity.getProduction())) self.placeProduction() elif inputClass.getFunctionName().find("CityEditScriptData") > -1: popup = Popup.PyPopup(2222, EventContextTypes.EVENTCONTEXT_ALL) popup.setHeaderString(CyTranslator().getText( "TXT_KEY_WB_SCRIPT", ())) popup.setUserData((pCity.getOwner(), pCity.getID())) popup.createEditBox(pCity.getScriptData()) popup.launch() return 0 return 1
def handleInput(self, inputClass): screen = CyGInterfaceScreen("WBPromotionScreen", CvScreenEnums.WB_PROMOTION) global bApplyAll global iChangeType global iPlotType global iCopyType global iOwnerType global iSelectedClass if inputClass.getFunctionName() == "CurrentPage": iIndex = screen.getPullDownData( "CurrentPage", screen.getSelectedPullDownID("CurrentPage")) if iIndex == 0: WBUnitScreen.WBUnitScreen( CvPlatyBuilderScreen.CvWorldBuilderScreen( )).interfaceScreen(pUnit) elif iIndex == 2: WBPlayerScreen.WBPlayerScreen().interfaceScreen( pUnit.getOwner()) elif iIndex == 3: WBTeamScreen.WBTeamScreen().interfaceScreen(pUnit.getTeam()) elif iIndex == 4: WBPlotScreen.WBPlotScreen().interfaceScreen(pPlot) elif iIndex == 5: WBEventScreen.WBEventScreen().interfaceScreen(pPlot) elif iIndex == 6: WBPlayerUnits.WBPlayerUnits().interfaceScreen(pUnit.getOwner()) elif iIndex == 11: WBInfoScreen.WBInfoScreen().interfaceScreen(pUnit.getOwner()) elif inputClass.getFunctionName() == "ChangeType": iChangeType = screen.getPullDownData( "ChangeType", screen.getSelectedPullDownID("ChangeType")) elif inputClass.getFunctionName() == "OwnerType": iOwnerType = screen.getPullDownData( "OwnerType", screen.getSelectedPullDownID("OwnerType")) self.sortUnits() elif inputClass.getFunctionName() == "PlotType": iPlotType = screen.getPullDownData( "PlotType", screen.getSelectedPullDownID("PlotType")) self.sortUnits() elif inputClass.getFunctionName() == "CopyType": iCopyType = screen.getPullDownData( "CopyType", screen.getSelectedPullDownID("CopyType")) self.sortUnits() elif inputClass.getFunctionName() == "WBCurrentUnit": iPlayer = inputClass.getData1() - 8300 self.interfaceScreen( gc.getPlayer(iPlayer).getUnit(inputClass.getData2())) elif inputClass.getFunctionName() == "CombatClass": iSelectedClass = screen.getPullDownData( "CombatClass", screen.getSelectedPullDownID("CombatClass")) self.sortPromotions() elif inputClass.getFunctionName() == "WBPromotion": self.editPromotion(inputClass.getData2()) self.placePromotions() elif inputClass.getFunctionName() == "PromotionAll": for item in lList: self.editPromotion(item[1]) self.placePromotions() elif inputClass.getFunctionName() == "ApplyAll": bApplyAll = not bApplyAll sText = u"<font=3b>" + CyTranslator().getText( "TXT_KEY_WB_COPY_ALL", (CyTranslator().getText("TXT_KEY_PEDIA_CATEGORY_UNIT", ()), )) + "</font>" sColor = CyTranslator().getText("[COLOR_WARNING_TEXT]", ()) if bApplyAll: sColor = CyTranslator().getText("[COLOR_POSITIVE_TEXT]", ()) screen.modifyString("ApplyAll", sColor + sText + "</color>", 0) elif inputClass.getFunctionName() == "HideInactive": CvPlatyBuilderScreen.bHideInactive = not CvPlatyBuilderScreen.bHideInactive CvPlatyBuilderScreen.CvWorldBuilderScreen().refreshSideMenu() sText = u"<font=3b>" + CyTranslator().getText( "TXT_KEY_PEDIA_HIDE_INACTIVE", ()) + "</font>" sColor = CyTranslator().getText("[COLOR_WARNING_TEXT]", ()) if CvPlatyBuilderScreen.bHideInactive: sColor = CyTranslator().getText("[COLOR_POSITIVE_TEXT]", ()) screen.setText("HideInactive", "Background", sColor + sText + "</color>", CvUtil.FONT_RIGHT_JUSTIFY, screen.getXResolution() - 20, self.iTable_Y - 80, -0.1, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1) self.sortPromotions() return 1