def handleInput(self, inputClass):
		screen = CyGInterfaceScreen("WBCorporationScreen", CvScreenEnums.WB_CORPORATION)
		global iSelectedPlayer
		global bHeadquarter
		global iOwnerType

		if inputClass.getButtonType() == WidgetTypes.WIDGET_PYTHON:
			if inputClass.getData1() > 7199 and inputClass.getData1() < 7300:
				iCityID = inputClass.getData2()
				iPlayerX = inputClass.getData1() - 7200
				WBCityEditScreen.WBCityEditScreen(CvPlatyBuilderScreen.CvWorldBuilderScreen()).interfaceScreen(gc.getPlayer(iPlayerX).getCity(iCityID))

			elif inputClass.getData1() == 7876 or inputClass.getData1() == 7872:
				iPlayerX = inputClass.getData2() /10000
				WBPlayerScreen.WBPlayerScreen().interfaceScreen(iPlayerX)

		if inputClass.getFunctionName() == "CurrentPage":
			iIndex = screen.getPullDownData("CurrentPage", screen.getSelectedPullDownID("CurrentPage"))
			if iIndex == 0:
				WBPlayerScreen.WBPlayerScreen().interfaceScreen(iSelectedPlayer)
			elif iIndex == 1:
				WBTeamScreen.WBTeamScreen().interfaceScreen(gc.getPlayer(iSelectedPlayer).getTeam())
			elif iIndex == 8:
				WBReligionScreen.WBReligionScreen().interfaceScreen(iSelectedPlayer)
			elif iIndex == 10:
				WBGameDataScreen.WBGameDataScreen(CvPlatyBuilderScreen.CvWorldBuilderScreen()).interfaceScreen()
			elif iIndex == 11:
				WBInfoScreen.WBInfoScreen().interfaceScreen(iSelectedPlayer)

		elif inputClass.getFunctionName() == "OwnerType":
			iOwnerType = screen.getPullDownData("OwnerType", screen.getSelectedPullDownID("OwnerType"))
			self.sortCities()

		elif inputClass.getFunctionName() == "CurrentPlayer":
			iSelectedPlayer = screen.getPullDownData("CurrentPlayer", screen.getSelectedPullDownID("CurrentPlayer"))
			self.interfaceScreen(iSelectedPlayer)

		elif inputClass.getFunctionName() == "WBCityCorporations":
			if inputClass.getData1() == 8201:
				pCity = lCities[inputClass.getData()][0]
				if bHeadquarter:
					self.editHeadquarter(inputClass.getData2(), pCity)
				else:
					self.editCorporation(inputClass.getData2(), pCity, 2)
				self.placeCityTable()

		elif inputClass.getFunctionName() == "WBAllCorporations":
			if inputClass.getButtonType() == WidgetTypes.WIDGET_PYTHON:
				for (loopCity, iPlayerX) in lCities:
					self.editCorporation(inputClass.getData2(), loopCity, inputClass.getData1() == 8201)
				self.placeCityTable()

		elif inputClass.getFunctionName() == "SetHeadquarter":
			bHeadquarter = not bHeadquarter
			sText = "<font=3b>" + CyTranslator().getText("TXT_KEY_CORPORATION_HEADQUARTERS", ()) + "</font>"
			sColor = CyTranslator().getText("[COLOR_WARNING_TEXT]", ())
			if bHeadquarter:
				sColor = CyTranslator().getText("[COLOR_POSITIVE_TEXT]", ())
			screen.modifyString("SetHeadquarter", sColor + sText + "</color>", 0)
		return 1
    def handleInput(self, inputClass):
        screen = CyGInterfaceScreen("WBPlayerEnabledScreen",
                                    CvScreenEnums.WB_PLAYER_ENABLED)
        global iChange
        global bRemove

        if inputClass.getFunctionName() == "CurrentPage":
            iIndex = screen.getPullDownData(
                "CurrentPage", screen.getSelectedPullDownID("CurrentPage"))
            if iIndex == 8:
                WBReligionScreen.WBReligionScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)
            elif iIndex == 9:
                WBCorporationScreen.WBCorporationScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)
            elif iIndex == 10:
                WBGameDataScreen.WBGameDataScreen(self.top).interfaceScreen()
            elif iIndex == 11:
                WBInfoScreen.WBInfoScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)
            elif iIndex == 12:
                WBStoredDataScreen.WBStoredDataScreen(
                    self.top).interfaceScreen()

        elif inputClass.getFunctionName() == "WBGameOptions":
            if inputClass.getData1() == 22020:
                iPlayer = inputClass.getData2()
                data.players[iPlayer].iSpawnType = (
                    data.players[iPlayer].iSpawnType + 1) % 3
                self.placeGameOptions()

        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(
                    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("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
Esempio n. 5
0
    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("WBGameDataScreen",
                                    CvScreenEnums.WB_GAMEDATA)
        global iChange
        global bHiddenOption
        global bRepeat
        global iSelectedCiv
        global iSelectedLeader

        if inputClass.getFunctionName() == "CurrentPage":
            iIndex = screen.getPullDownData(
                "CurrentPage", screen.getSelectedPullDownID("CurrentPage"))
            if iIndex == 8:
                WBReligionScreen.WBReligionScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)
            elif iIndex == 9:
                WBCorporationScreen.WBCorporationScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)
            elif iIndex == 11:
                WBInfoScreen.WBInfoScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)

        elif inputClass.getFunctionName() == "ChangeBy":
            iChange = screen.getPullDownData(
                "ChangeBy", screen.getSelectedPullDownID("ChangeBy"))

        elif inputClass.getFunctionName().find("StartYear") > -1:
            if inputClass.getData1() == 1030:
                CyGame().setStartYear(CyGame().getStartYear() + iChange)
            elif inputClass.getData1() == 1031:
                CyGame().setStartYear(CyGame().getStartYear() - iChange)
            self.placeStats()

        elif inputClass.getFunctionName().find("MaxCityElimination") > -1:
            if inputClass.getData1() == 1030:
                CyGame().setMaxCityElimination(
                    CyGame().getMaxCityElimination() + iChange)
            elif inputClass.getData1() == 1031:
                CyGame().setMaxCityElimination(
                    max(0,
                        CyGame().getMaxCityElimination() - iChange))
            self.placeStats()

        elif inputClass.getFunctionName().find("GameTurn") > -1:
            if inputClass.getData1() == 1030:
                iChange = min(
                    iChange,
                    CyGame().getMaxTurns() - CyGame().getElapsedGameTurns())
                CyGame().setGameTurn(CyGame().getGameTurn() + iChange)
                CyGame().changeMaxTurns(-iChange)
            elif inputClass.getData1() == 1031:
                iChange = min(CyGame().getGameTurn(), iChange)
                CyGame().setGameTurn(CyGame().getGameTurn() - iChange)
                CyGame().changeMaxTurns(iChange)
            self.placeStats()

        elif inputClass.getFunctionName().find("TargetScore") > -1:
            if inputClass.getData1() == 1030:
                CyGame().setTargetScore(CyGame().getTargetScore() + iChange)
            elif inputClass.getData1() == 1031:
                CyGame().setTargetScore(
                    max(0,
                        CyGame().getTargetScore() - iChange))
            self.placeStats()

        elif inputClass.getFunctionName().find("EstimateEndTurn") > -1:
            if inputClass.getData1() == 1030:
                CyGame().setEstimateEndTurn(CyGame().getEstimateEndTurn() +
                                            iChange)
            elif inputClass.getData1() == 1031:
                CyGame().setEstimateEndTurn(
                    max(0,
                        CyGame().getEstimateEndTurn() - iChange))
            self.placeStats()

        elif inputClass.getFunctionName().find("NukesExploded") > -1:
            if inputClass.getData1() == 1030:
                CyGame().changeNukesExploded(iChange)
            elif inputClass.getData1() == 1031:
                CyGame().changeNukesExploded(
                    -min(CyGame().getNukesExploded(), iChange))
            self.placeStats()

        elif inputClass.getFunctionName().find("MaxTurns") > -1:
            if inputClass.getData1() == 1030:
                CyGame().changeMaxTurns(iChange)
            elif inputClass.getData1() == 1031:
                CyGame().changeMaxTurns(-min(CyGame().getMaxTurns(), iChange))
            self.placeStats()

        elif inputClass.getFunctionName().find("TradeRoutes") > -1:
            if inputClass.getData1() == 1030:
                CyGame().changeTradeRoutes(
                    min(
                        iChange,
                        gc.getDefineINT("MAX_TRADE_ROUTES") -
                        gc.getDefineINT("INITIAL_TRADE_ROUTES") -
                        CyGame().getTradeRoutes()))
            elif inputClass.getData1() == 1031:
                CyGame().changeTradeRoutes(
                    -min(CyGame().getTradeRoutes(), iChange))
            self.placeStats()

        elif inputClass.getFunctionName().find("AIAutoPlay") > -1:
            if inputClass.getData1() == 1030:
                CyGame().setAIAutoPlay(CyGame().getAIAutoPlay() + iChange)
            elif inputClass.getData1() == 1031:
                CyGame().setAIAutoPlay(
                    max(0,
                        CyGame().getAIAutoPlay() - iChange))
            self.placeStats()

        elif inputClass.getFunctionName() == "WBGameOptions":
            iGameOption = inputClass.getData2()
            CyGame().setOption(iGameOption, not CyGame().isOption(iGameOption))
            self.checkOptions(iGameOption)
            self.placeGameOptions()

        elif inputClass.getFunctionName() == "HiddenOptions":
            bHiddenOption = not bHiddenOption
            self.placeGameOptions()

        elif inputClass.getFunctionName() == "AllowsRepeat":
            bRepeat = not bRepeat
            iSelectedCiv = -1
            iSelectedLeader = -1
            self.placeNewPlayer()

        elif inputClass.getFunctionName() == "WBNewCiv":
            iSelectedCiv = inputClass.getData2()
            iSelectedLeader = -1
            self.interfaceScreen()

        elif inputClass.getFunctionName() == "WBNewLeader":
            iSelectedLeader = inputClass.getData2()
            self.interfaceScreen()

        elif inputClass.getFunctionName() == "CreatePlayer":
            for i in xrange(gc.getMAX_CIV_PLAYERS()):
                if not gc.getPlayer(i).isEverAlive():
                    CyGame().addPlayer(i, iSelectedLeader, iSelectedCiv)
                    break
            screen.hideScreen()
            self.top.m_iCurrentPlayer = i
            self.top.normalPlayerTabModeCB()

        elif inputClass.getFunctionName() == "GameEditScriptData":
            popup = Popup.PyPopup(4444, EventContextTypes.EVENTCONTEXT_ALL)
            popup.setHeaderString(CyTranslator().getText(
                "TXT_KEY_WB_SCRIPT", ()))
            popup.createEditBox(CyGame().getScriptData())
            popup.launch()
        return 1
	def handleInput (self, inputClass):
		screen = CyGInterfaceScreen( "WBPlayerScreen", CvScreenEnums.WB_PLAYER)
		global iChange
		global bRemove

		if inputClass.getFunctionName() == "ChangeBy":
			iChange = screen.getPullDownData("ChangeBy", screen.getSelectedPullDownID("ChangeBy"))
			if bRemove:
				iChange = -screen.getPullDownData("ChangeBy", screen.getSelectedPullDownID("ChangeBy"))
			else:
				iChange = screen.getPullDownData("ChangeBy", screen.getSelectedPullDownID("ChangeBy"))

		elif inputClass.getFunctionName() == "CurrentPage":
			iIndex = screen.getPullDownData("CurrentPage", screen.getSelectedPullDownID("CurrentPage"))
			if iIndex == 1:
				WBTeamScreen.WBTeamScreen().interfaceScreen(iTeam)
			elif iIndex == 2:
				WBProjectScreen.WBProjectScreen().interfaceScreen(iTeam)
			elif iIndex == 3:
				WBTechScreen.WBTechScreen().interfaceScreen(iTeam)
			elif iIndex == 4:
				WBPlayerUnits.WBPlayerUnits().interfaceScreen(iPlayer)
			elif iIndex == 8:
				WBReligionScreen.WBReligionScreen().interfaceScreen(iPlayer)
			elif iIndex == 9:
				WBCorporationScreen.WBCorporationScreen().interfaceScreen(iPlayer)
			elif iIndex == 11:
				WBInfoScreen.WBInfoScreen().interfaceScreen(iPlayer)

		elif inputClass.getFunctionName() == "CurrentPlayer":
			iIndex = screen.getPullDownData("CurrentPlayer", screen.getSelectedPullDownID("CurrentPlayer"))
			self.interfaceScreen(iIndex)

		elif inputClass.getFunctionName() == "CurrentEra":
			pPlayer.setCurrentEra(screen.getPullDownData("CurrentEra", screen.getSelectedPullDownID("CurrentEra")))
			dc.checkName(iPlayer)

		elif inputClass.getFunctionName().find("PlayerGold") > -1:
			if inputClass.getData1() == 1030:
				pPlayer.changeGold(iChange)
			elif inputClass.getData1() == 1031:
				pPlayer.changeGold(- min(iChange, pPlayer.getGold()))
			self.placeStats()

		elif inputClass.getFunctionName().find("CombatXP") > -1:
			if inputClass.getData1() == 1030:
				pPlayer.changeCombatExperience(min(iChange, pPlayer.greatPeopleThreshold(True) - pPlayer.getCombatExperience()))
			elif inputClass.getData1() == 1031:
				pPlayer.changeCombatExperience(- min(iChange, pPlayer.getCombatExperience()))
			self.placeStats()

		elif inputClass.getFunctionName().find("GoldenAge") > -1:
			if inputClass.getData1() == 1030:
				pPlayer.changeGoldenAgeTurns(iChange)
			elif inputClass.getData1() == 1031:
				pPlayer.changeGoldenAgeTurns(- min(iChange, pPlayer.getGoldenAgeTurns()))
			self.placeStats()

		elif inputClass.getFunctionName().find("GPRequired") > -1:
			if inputClass.getData1() == 1030:
				pPlayer.changeNumUnitGoldenAges(iChange)
			elif inputClass.getData1() == 1031:
				pPlayer.changeNumUnitGoldenAges(- min(iChange, pPlayer.unitsRequiredForGoldenAge() - 1))
			self.placeStats()

		elif inputClass.getFunctionName().find("Anarchy") > -1:
			if inputClass.getData1() == 1030:
				pPlayer.changeAnarchyTurns(iChange)
			elif inputClass.getData1() == 1031:
				pPlayer.changeAnarchyTurns(- min(iChange, pPlayer.getAnarchyTurns()))
			self.placeStats()

		elif inputClass.getFunctionName().find("CoastalTrade") > -1:
			if inputClass.getData1() == 1030:
				pPlayer.changeCoastalTradeRoutes(min(iChange, gc.getDefineINT("MAX_TRADE_ROUTES") - pPlayer.getCoastalTradeRoutes()))
			elif inputClass.getData1() == 1031:
				pPlayer.changeCoastalTradeRoutes(- min(iChange, pPlayer.getCoastalTradeRoutes()))
			self.placeStats()

		elif inputClass.getFunctionName().find("CommerceFlexible") > -1:
			iCommerce = CommerceTypes(inputClass.getData2())
			if inputClass.getData1() == 1030:
				if pPlayer.isCommerceFlexible(iCommerce):
					pPlayer.changeCommercePercent(iCommerce, iChange)
			elif inputClass.getData1() == 1031:
				if pPlayer.isCommerceFlexible(iCommerce):
					pPlayer.changeCommercePercent(iCommerce, - min(iChange, pPlayer.getCommercePercent(iCommerce)))
			elif inputClass.getData1() == 7881:
				if pPlayer.isCommerceFlexible(iCommerce):
					pTeam.changeCommerceFlexibleCount(iCommerce, - pTeam.getCommerceFlexibleCount(iCommerce))
				else:
					pTeam.changeCommerceFlexibleCount(iCommerce, 1)
			self.placeStats()

		elif inputClass.getFunctionName() == "WBPlayerResearch":
			iTech = inputClass.getData2()
			if iTech == -1:
				pPlayer.clearResearchQueue()
			else:
				pPlayer.pushResearch(iTech, True)
			self.interfaceScreen(iPlayer)

		elif inputClass.getFunctionName().find("CurrentResearch") > -1:
			iTech = pPlayer.getCurrentResearch()
			if iTech > -1:
				if inputClass.getData1() == 1030:
					pTeam.changeResearchProgress(pPlayer.getCurrentResearch(), min(iChange, pTeam.getResearchCost(iTech) - pTeam.getResearchProgress(iTech)), iPlayer)
				elif inputClass.getData1() == 1031:
					pTeam.changeResearchProgress(pPlayer.getCurrentResearch(), - min(iChange, pTeam.getResearchProgress(iTech)), iPlayer)
				self.placeResearch()

		elif inputClass.getFunctionName() == "WBPlayerReligions":
			iReligion = inputClass.getData1()
			pPlayer.setLastStateReligion(inputClass.getData1())
			# dc.checkName(iPlayer)
			self.placeReligions()

		elif inputClass.getFunctionName().find("StateReligionUnit") > -1:
			if inputClass.getData1() == 1030:
				pPlayer.changeStateReligionUnitProductionModifier(iChange)
			elif inputClass.getData1() == 1031:
				pPlayer.changeStateReligionUnitProductionModifier(- min(iChange, pPlayer.getStateReligionUnitProductionModifier()))
			self.placeReligions()

		elif inputClass.getFunctionName().find("StateReligionBuilding") > -1:
			if inputClass.getData1() == 1030:
				pPlayer.changeStateReligionBuildingProductionModifier(iChange)
			elif inputClass.getData1() == 1031:
				pPlayer.changeStateReligionBuildingProductionModifier(- min(iChange, pPlayer.getStateReligionBuildingProductionModifier()))
			self.placeReligions()

		elif inputClass.getFunctionName() == "WBPlayerCivics":
			iCivic = inputClass.getData2()
			if pPlayer.canDoCivics(iCivic) or not CvPlatyBuilderScreen.bHideInactive:
				pPlayer.setCivics(gc.getCivicInfo(iCivic).getCivicOptionType(), iCivic)
				dc.checkName(iPlayer)
			self.interfaceScreen(iPlayer)
			
		elif inputClass.getFunctionName() == "CivEnabledButton":
			data.setPlayerEnabled(iPlayer, not data.isPlayerEnabled(iPlayer))
			self.interfaceScreen(iPlayer)
			
		elif inputClass.getFunctionName() == "PlayerEditScriptData":
			popup = Popup.PyPopup(1111, EventContextTypes.EVENTCONTEXT_ALL)
			popup.setHeaderString(CyTranslator().getText("TXT_KEY_WB_SCRIPT", ()))
			popup.setUserData((pPlayer.getID(),))
			popup.createEditBox(pPlayer.getScriptData())
			popup.launch()
			return
			
		elif inputClass.getFunctionName().find("ModifierButton") > -1:
			iModifier = inputClass.getData2()
			iModifierValue = pPlayer.getModifier(iModifier)
			if inputClass.getData1() == 1030:
				pPlayer.setModifier(iModifier, iModifierValue + abs(iChange))
			elif inputClass.getData1() == 1031:
				pPlayer.setModifier(iModifier, iModifierValue - abs(iChange))
			self.placeModifiers()

		elif inputClass.getFunctionName() == "ModifierResetButton":
			self.placeModifiers(inputClass.getData1() == 1)

		elif inputClass.getFunctionName().find("ModifierRevertButton") > -1:
			iModifier = inputClass.getData1()
			iModifierValue = Modifiers.getAdjustedModifier(iPlayer, iModifier)
			pPlayer.setModifier(iModifier, iModifierValue)
			self.placeModifiers(True)

		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 - 25, 20, -0.1, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1)
			self.placeReligions()
			self.placeCivics()

		return 1
    def handleInput(self, inputClass):
        screen = CyGInterfaceScreen("WBStoredDataScreen",
                                    CvScreenEnums.WB_STOREDDATA)
        global iChange
        global iSelectedCiv
        global bRemove
        global iSelectedMode

        global scriptDict
        global lBools
        global lInts
        global lLists
        global iSelectedList
        global iWarList

        if inputClass.getFunctionName() == "CurrentPage":
            iIndex = screen.getPullDownData(
                "CurrentPage", screen.getSelectedPullDownID("CurrentPage"))
            if iIndex == 8:
                WBReligionScreen.WBReligionScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)
            elif iIndex == 9:
                WBCorporationScreen.WBCorporationScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)
            elif iIndex == 10:
                WBGameDataScreen.WBGameDataScreen(self.top).interfaceScreen()
            elif iIndex == 11:
                WBInfoScreen.WBInfoScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)

        elif inputClass.getFunctionName() == "ChangeBy":
            if bRemove:
                iChange = -screen.getPullDownData(
                    "ChangeBy", screen.getSelectedPullDownID("ChangeBy"))
            else:
                iChange = screen.getPullDownData(
                    "ChangeBy", screen.getSelectedPullDownID("ChangeBy"))

        elif inputClass.getFunctionName() == "ChangeType":
            bRemove = not bRemove
            iChange = -iChange

        elif inputClass.getFunctionName() == "SelectMode":
            iSelectedMode = screen.getPullDownData(
                "SelectMode", screen.getSelectedPullDownID("SelectMode"))
            iSelectedList = 0
            self.loadData()

        elif inputClass.getFunctionName() == "SelectCiv":
            iSelectedCiv = screen.getPullDownData(
                "SelectCiv", screen.getSelectedPullDownID("SelectCiv"))
            self.placeCivButton()
            if iSelectedMode == 1:
                self.loadData()

        elif inputClass.getFunctionName() == "WBDataTable":
            if inputClass.getData1() == 22007:
                item = lBools[inputClass.getData2()]
                if iSelectedMode == 0:
                    data.__dict__[item] = not data.__dict__[item]
                else:
                    data.players[iSelectedCiv].__dict__[
                        item] = not data.players[iSelectedCiv].__dict__[item]
            elif inputClass.getData1() == 22008:
                item = lInts[inputClass.getData2()]
                if iSelectedMode == 0:
                    iValue = data.__dict__[item]
                else:
                    iValue = data.players[iSelectedCiv].__dict__[item]

                iValue += iChange

                if item == "iStabilityLevel":
                    iValue = max(iStabilityCollapsing,
                                 min(iValue, iStabilitySolid))
                elif item == "iFirstNewWorldColony":
                    iValue = iSelectedCiv

                if iSelectedMode == 0:
                    data.__dict__[item] = iValue
                else:
                    data.players[iSelectedCiv].__dict__[item] = iValue
            if iSelectedMode == 0:
                for iPlayer in range(iNumPlayers):
                    if not gc.getPlayer(iPlayer).isAlive(): continue
                    dc.checkName(iPlayer)
            else:
                dc.checkName(iSelectedCiv)
            self.placeDataTable()

        elif inputClass.getFunctionName() == "WBListTable":
            iSelectedList = inputClass.getData2()
            self.placeListTables()

        elif inputClass.getFunctionName() == "WBListTableTwo":
            iItem = inputClass.getData2()
            sList = lLists[iSelectedList]

            if sList == "lWarTrend":
                iWarList = iItem
            elif isinstance(scriptDict[sList][iItem], bool):
                if iSelectedMode == 0:
                    data.__dict__[sList][
                        iItem] = not data.__dict__[sList][iItem]
                else:
                    data.players[iSelectedCiv].__dict__[sList][
                        iItem] = not data.players[iSelectedCiv].__dict__[
                            sList][iItem]
            elif isinstance(scriptDict[sList][iItem], int):
                bCiv = sList in [
                    "lFirstDiscovered", "lWonderBuilder", "lReligionFounder",
                    "lFirstEntered", "lFirstGreatPeople"
                ]
                if bCiv:
                    data.__dict__[sList][iItem] = iSelectedCiv
                else:
                    if sList in ["lGoals", "lEconomyTrend"]:
                        iValue = data.players[iSelectedCiv].__dict__[sList][
                            iItem] + abs(iChange) / iChange
                        iValue = max(-1, min(iValue, 1))
                        data.players[iSelectedCiv].__dict__[sList][
                            iItem] = iValue
                    elif sList == "lHappinessTrend":
                        if bRemove:
                            iValue = -1
                        else:
                            iValue = 1
                        data.players[iSelectedCiv].__dict__[sList][
                            iItem] = iValue
                    else:
                        popup = Popup.PyPopup(
                            7777, EventContextTypes.EVENTCONTEXT_ALL)
                        if iSelectedMode == 0:
                            sText = str(data.__dict__[sList][iItem])
                        else:
                            sText = str(
                                data.players[iSelectedCiv].__dict__[sList]
                                [iItem])
                        popup.setUserData((iItem, -1))
                        popup.createEditBox(sText)
                        popup.launch()
                        return 1
            if iSelectedMode == 0:
                for iPlayer in range(iNumPlayers):
                    if not gc.getPlayer(iPlayer).isAlive(): continue
                    dc.checkName(iPlayer)
            else:
                dc.checkName(iSelectedCiv)
            self.placeListTables()

        elif inputClass.getFunctionName() == "WBListTableThree":
            iItem = inputClass.getData2()
            data.players[iSelectedCiv].__dict__["lWarTrend"][iWarList][
                iItem] += iChange
            self.placeListTables()

        elif inputClass.getFunctionName() == "RestoreBackup":
            BugData.onGameLoad(-1)
            self.loadData()
        elif inputClass.getFunctionName() == "CreateBackup":
            BugData.save()

        return 1
Esempio n. 9
0
    ## 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(),
    WB_INFO: WBInfoScreen.WBInfoScreen(),
    WB_TRADE: WBTradeScreen.WBTradeScreen(),
}

#######################################################################################
## Handle Navigation Map
#######################################################################################
HandleNavigationMap = {
    MAIN_INTERFACE: mainInterface,
    PEDIA_MAIN: pediaMainScreen,
    PEDIA_TECH: pediaMainScreen,
    PEDIA_UNIT: pediaMainScreen,
    PEDIA_BUILDING: pediaMainScreen,
    PEDIA_PROMOTION: pediaMainScreen,
Esempio n. 10
0
    def handleInput(self, inputClass):
        screen = CyGInterfaceScreen("WBPlayerScreen", CvScreenEnums.WB_PLAYER)
        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:
                WBTeamScreen.WBTeamScreen().interfaceScreen(iTeam)
            elif iIndex == 2:
                WBProjectScreen.WBProjectScreen().interfaceScreen(iTeam)
            elif iIndex == 3:
                WBTechScreen.WBTechScreen().interfaceScreen(iTeam)
            elif iIndex == 4:
                WBPlayerUnits.WBPlayerUnits().interfaceScreen(iPlayer)
            elif iIndex == 8:
                WBReligionScreen.WBReligionScreen().interfaceScreen(iPlayer)
            elif iIndex == 9:
                WBCorporationScreen.WBCorporationScreen().interfaceScreen(
                    iPlayer)
            elif iIndex == 11:
                WBInfoScreen.WBInfoScreen().interfaceScreen(iPlayer)

        elif inputClass.getFunctionName() == "CurrentPlayer":
            iIndex = screen.getPullDownData(
                "CurrentPlayer", screen.getSelectedPullDownID("CurrentPlayer"))
            self.interfaceScreen(iIndex)

        elif inputClass.getFunctionName() == "CurrentEra":
            pPlayer.setCurrentEra(
                screen.getPullDownData(
                    "CurrentEra", screen.getSelectedPullDownID("CurrentEra")))

        elif inputClass.getFunctionName().find("PlayerGold") > -1:
            if inputClass.getData1() == 1030:
                pPlayer.changeGold(iChange)
            elif inputClass.getData1() == 1031:
                pPlayer.changeGold(-min(iChange, pPlayer.getGold()))
            self.placeStats()

        elif inputClass.getFunctionName().find("CombatXP") > -1:
            if inputClass.getData1() == 1030:
                pPlayer.changeCombatExperience(
                    min(
                        iChange,
                        pPlayer.greatPeopleThreshold(True) -
                        pPlayer.getCombatExperience()))
            elif inputClass.getData1() == 1031:
                pPlayer.changeCombatExperience(
                    -min(iChange, pPlayer.getCombatExperience()))
            self.placeStats()

        elif inputClass.getFunctionName().find("GoldenAge") > -1:
            if inputClass.getData1() == 1030:
                pPlayer.changeGoldenAgeTurns(iChange)
            elif inputClass.getData1() == 1031:
                pPlayer.changeGoldenAgeTurns(
                    -min(iChange, pPlayer.getGoldenAgeTurns()))
            self.placeStats()

        elif inputClass.getFunctionName().find("GPRequired") > -1:
            if inputClass.getData1() == 1030:
                pPlayer.changeNumUnitGoldenAges(iChange)
            elif inputClass.getData1() == 1031:
                pPlayer.changeNumUnitGoldenAges(
                    -min(iChange,
                         pPlayer.unitsRequiredForGoldenAge() - 1))
            self.placeStats()

        elif inputClass.getFunctionName().find("Anarchy") > -1:
            if inputClass.getData1() == 1030:
                pPlayer.changeAnarchyTurns(iChange)
            elif inputClass.getData1() == 1031:
                pPlayer.changeAnarchyTurns(
                    -min(iChange, pPlayer.getAnarchyTurns()))
            self.placeStats()

        elif inputClass.getFunctionName().find("CoastalTrade") > -1:
            if inputClass.getData1() == 1030:
                pPlayer.changeCoastalTradeRoutes(
                    min(
                        iChange,
                        gc.getDefineINT("MAX_TRADE_ROUTES") -
                        pPlayer.getCoastalTradeRoutes()))
            elif inputClass.getData1() == 1031:
                pPlayer.changeCoastalTradeRoutes(
                    -min(iChange, pPlayer.getCoastalTradeRoutes()))
            self.placeStats()

        elif inputClass.getFunctionName().find("CommerceFlexible") > -1:
            iCommerce = CommerceTypes(inputClass.getData2())
            if inputClass.getData1() == 1030:
                if pPlayer.isCommerceFlexible(iCommerce):
                    pPlayer.changeCommercePercent(iCommerce, iChange)
            elif inputClass.getData1() == 1031:
                if pPlayer.isCommerceFlexible(iCommerce):
                    pPlayer.changeCommercePercent(
                        iCommerce,
                        -min(iChange, pPlayer.getCommercePercent(iCommerce)))
            elif inputClass.getData1() == 7881:
                if pPlayer.isCommerceFlexible(iCommerce):
                    pTeam.changeCommerceFlexibleCount(
                        iCommerce, -pTeam.getCommerceFlexibleCount(iCommerce))
                else:
                    pTeam.changeCommerceFlexibleCount(iCommerce, 1)
            self.placeStats()

        elif inputClass.getFunctionName() == "WBPlayerResearch":
            iTech = inputClass.getData2()
            if iTech == -1:
                pPlayer.clearResearchQueue()
            else:
                pPlayer.pushResearch(iTech, True)
            self.interfaceScreen(iPlayer)

        elif inputClass.getFunctionName().find("CurrentResearch") > -1:
            iTech = pPlayer.getCurrentResearch()
            if iTech > -1:
                if inputClass.getData1() == 1030:
                    pTeam.changeResearchProgress(
                        pPlayer.getCurrentResearch(),
                        min(
                            iChange,
                            pTeam.getResearchCost(iTech) -
                            pTeam.getResearchProgress(iTech)), iPlayer)
                elif inputClass.getData1() == 1031:
                    pTeam.changeResearchProgress(
                        pPlayer.getCurrentResearch(),
                        -min(iChange, pTeam.getResearchProgress(iTech)),
                        iPlayer)
                self.placeResearch()

        elif inputClass.getFunctionName() == "WBPlayerReligions":
            iReligion = inputClass.getData1()
            pPlayer.setLastStateReligion(inputClass.getData1())
            self.placeReligions()

        elif inputClass.getFunctionName().find("StateReligionUnit") > -1:
            if inputClass.getData1() == 1030:
                pPlayer.changeStateReligionUnitProductionModifier(iChange)
            elif inputClass.getData1() == 1031:
                pPlayer.changeStateReligionUnitProductionModifier(-min(
                    iChange, pPlayer.getStateReligionUnitProductionModifier()))
            self.placeReligions()

        elif inputClass.getFunctionName().find("StateReligionBuilding") > -1:
            if inputClass.getData1() == 1030:
                pPlayer.changeStateReligionBuildingProductionModifier(iChange)
            elif inputClass.getData1() == 1031:
                pPlayer.changeStateReligionBuildingProductionModifier(
                    -min(iChange,
                         pPlayer.getStateReligionBuildingProductionModifier()))
            self.placeReligions()

        elif inputClass.getFunctionName() == "WBPlayerCivics":
            iCivic = inputClass.getData2()
            if pPlayer.canDoCivics(iCivic):
                pPlayer.setCivics(
                    gc.getCivicInfo(iCivic).getCivicOptionType(), iCivic)
            self.interfaceScreen(iPlayer)

        elif inputClass.getFunctionName() == "PlayerEditScriptData":
            popup = Popup.PyPopup(1111, EventContextTypes.EVENTCONTEXT_ALL)
            popup.setHeaderString(CyTranslator().getText(
                "TXT_KEY_WB_SCRIPT", ()))
            popup.setUserData((pPlayer.getID(), ))
            popup.createEditBox(pPlayer.getScriptData())
            popup.launch()
            return

        return 1
Esempio n. 11
0
    def handleInput(self, inputClass, screen):

        HandleInputUtil.debugInput(inputClass)
        bAlt, bCtrl, bShift = self.InputData.getModifierKeys()
        iCode = inputClass.eNotifyCode
        iData = inputClass.iData
        ID = inputClass.iItemID
        NAME = inputClass.szFunctionName
        szFlag = HandleInputUtil.MOUSE_FLAGS.get(inputClass.uiFlags, "UNKNOWN")

        if iCode == 6:  # Character
            if iData == 1:
                if self.bInEditBox:
                    self.closeEditBox(screen, False)
                else:
                    self.exit(screen)
                return 1
            return 0
        elif iCode in (16, 17):
            return 0

        szSplit = NAME.split("|")
        BASE = szSplit[0]
        if szSplit[1:]:
            TYPE = szSplit[1]
        else:
            TYPE = ""
        if szSplit[2:]:
            CASE = szSplit[2:]
        else:
            CASE = [""]

        if iCode == 4:  # Mouse Enter

            if NAME == "GameOption":
                self.WB.tooltip.handle(screen,
                                       self.GC.getGameOptionInfo(ID).getHelp())

        elif not iCode:  # click

            if BASE == "SpinBox":
                if bCtrl:
                    if szFlag == "MOUSE_RBUTTONUP":
                        iInc = -1
                    else:
                        iInc = 1
                aList = (TYPE, CASE, NAME)

                if TYPE == "Date":

                    if CASE[0] == "StartYear":
                        if bCtrl:
                            self.applySpinBoxData(
                                None, (aList, self.GAME.getStartYear() + iInc))
                        else:
                            self.initSpinBox(aList, self.GAME.getStartYear(),
                                             1, 10000000, -10000000,
                                             self.szStartYear)

                    elif CASE[0] == "GameTurn":
                        if bCtrl:
                            iNewValue = self.GAME.getGameTurn() + iInc
                            if iNewValue > -1:
                                self.applySpinBoxData(None, (aList, iNewValue))
                        else:
                            self.initSpinBox(aList, self.GAME.getGameTurn(), 1,
                                             10000000, 0, self.szGameTurn)

                    elif CASE[0] == "MaxTurns":
                        if bCtrl:
                            iNewValue = self.GAME.getMaxTurns() + iInc
                            if iNewValue > -1:
                                self.applySpinBoxData(None, (aList, iNewValue))
                        else:
                            self.initSpinBox(aList, self.GAME.getMaxTurns(), 1,
                                             10000000, 0, self.szMaxTurns)

                elif TYPE == "MaxCityElimination":
                    if bCtrl:
                        iNewValue = self.GAME.getMaxCityElimination() + iInc
                        if iNewValue > -1:
                            self.applySpinBoxData(None, (aList, iNewValue))
                    else:
                        self.initSpinBox(aList,
                                         self.GAME.getMaxCityElimination(), 1,
                                         10000000, 0,
                                         self.szMaxCityElimination)

                elif TYPE == "TargetScore":
                    if bCtrl:
                        iNewValue = self.GAME.getTargetScore() + iInc
                        if iNewValue > -1:
                            self.applySpinBoxData(None, (aList, iNewValue))
                    else:
                        self.initSpinBox(aList, self.GAME.getTargetScore(), 1,
                                         10000000, 0, self.szTargetScore)

                elif TYPE == "NukesExploded":
                    if bCtrl:
                        iNewValue = self.GAME.getNukesExploded() + iInc
                        if iNewValue > -1:
                            self.applySpinBoxData(None,
                                                  (aList, iNewValue, iInc))
                    else:
                        self.initSpinBox(aList, self.GAME.getNukesExploded(),
                                         1, 10000000, 0, self.szNukesExploded)

                elif TYPE == "TradeRoutes":
                    if bCtrl:
                        iNewValue = self.GAME.getTradeRoutes() + iInc
                        if iNewValue > -1:
                            self.applySpinBoxData(None,
                                                  (aList, iNewValue, iInc))
                    else:
                        self.initSpinBox(aList, self.GAME.getTradeRoutes(), 1,
                                         10000000, 0, self.szTradeRoutes)

            elif BASE == "PullDown":

                aList = (TYPE, CASE, NAME)
                if TYPE == "CircumnavigatedGlobe":
                    self.initPullDown(aList,
                                      self.GAME.getCircumnavigatedTeam(),
                                      self.szCircumnavigatedGlobe)

            elif BASE == "ScriptData":
                if TYPE == "Btn":
                    self.initEditBox(screen)

                elif TYPE == "Ok":
                    self.closeEditBox(screen, True)

                elif TYPE == "Cancel":
                    self.closeEditBox(screen, False)

            elif NAME == "HiddenOptions":
                self.bHiddenOption = not self.bHiddenOption
                screen.hide(NAME)
                screen.modifyString(NAME, self.getHiddenOptionsBtnText(),
                                    1 << 0)
                screen.show(NAME)
                self.placeGameOptions(screen)

            elif NAME == "GameOption" or inputClass.iData1 == 999:
                if NAME == "GameOption":
                    iOption = ID
                else:
                    iOption = inputClass.iData2

                bNewValue = not self.GAME.isOption(iOption)
                self.GAME.setOption(iOption, bNewValue)

                if bNewValue:
                    szTxt = self.szColorYay
                else:
                    szTxt = self.szColorNay

                info = self.GC.getGameOptionInfo(iOption)
                szTxt += self.aFontList[3] + info.getDescription()

                if not info.getVisible():
                    szTxt += self.szHidden

                name = "GameOption" + str(iOption)
                screen.hide(name)
                screen.modifyString(name, szTxt, 1 << 0)
                screen.show(name)

                self.checkOptions(screen, iOption)

            elif NAME == "ExitSubScreen":
                self.exit(screen)
                return 1

        elif iCode == 11:  # List Select

            if NAME == "CurrentPage":
                iIndex = screen.getPullDownData(
                    "CurrentPage", screen.getSelectedPullDownID("CurrentPage"))
                if iIndex == 8:
                    self.exit(screen)
                    import WBReligionScreen
                    WBReligionScreen.WBReligionScreen(self.WB).interfaceScreen(
                        self.WB.iCurrentPlayer)
                elif iIndex == 9:
                    self.exit(screen)
                    import WBCorporationScreen
                    WBCorporationScreen.WBCorporationScreen(
                        self.WB).interfaceScreen(self.WB.iCurrentPlayer)
                elif iIndex == 11:
                    self.exit(screen)
                    import WBInfoScreen
                    WBInfoScreen.WBInfoScreen(self.WB).interfaceScreen(
                        self.WB.iCurrentPlayer)

        global iSelectedCiv, iSelectedLeader

        if NAME == "WBNewCiv":
            iSelectedCiv = inputClass.iData2
            iSelectedLeader = -1
            self.placeNewPlayer(screen)

        elif NAME == "WBNewLeader":
            iSelectedLeader = inputClass.iData2
            self.placeNewPlayer(screen)

        elif NAME == "CreatePlayer":
            for i in xrange(self.GC.getMAX_PC_PLAYERS()):
                if not self.GC.getPlayer(i).isEverAlive():
                    self.GAME.addPlayer(i, iSelectedLeader, iSelectedCiv, True)
                    break
            self.exit(screen)
            self.WB.iCurrentPlayer = i
            self.WB.normalPlayerTabModeCB()

        return 1
Esempio n. 12
0
    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(),
    WB_INFO:
    WBInfoScreen.WBInfoScreen(),
    WB_TRADE:
    WBTradeScreen.WBTradeScreen(),
    WB_STOREDDATA:
    WBStoredDataScreen.WBStoredDataScreen(worldBuilderScreen),
    WB_PLAYER_ENABLED:
    WBPlayerEnabledScreen.WBPlayerEnabledScreen(worldBuilderScreen),
}

#######################################################################################
## Handle Navigation Map
#######################################################################################
Esempio n. 13
0
    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
Esempio n. 14
0
    def handleInput(self, inputClass):
        screen = CyGInterfaceScreen("WBCorporationScreen",
                                    CvScreenEnums.WB_CORPORATION)
        global iSelectedPlayer
        global bHeadquarter

        if inputClass.getButtonType() == WidgetTypes.WIDGET_PYTHON:
            if inputClass.getData1() > 7199 and inputClass.getData1() < 7300:
                iCityID = inputClass.getData2()
                iPlayerX = inputClass.getData1() - 7200
                WBCityEditScreen.WBCityEditScreen().interfaceScreen(
                    gc.getPlayer(iPlayerX).getCity(iCityID))

            elif inputClass.getData1() == 7876 or inputClass.getData1(
            ) == 7872:
                iPlayerX = inputClass.getData2() / 10000
                WBPlayerScreen.WBPlayerScreen().interfaceScreen(iPlayerX)

        if inputClass.getFunctionName() == "CurrentPage":
            iIndex = screen.getPullDownData(
                "CurrentPage", screen.getSelectedPullDownID("CurrentPage"))
            if iIndex == 0:
                WBPlayerScreen.WBPlayerScreen().interfaceScreen(
                    iSelectedPlayer)
            elif iIndex == 1:
                WBTeamScreen.WBTeamScreen().interfaceScreen(
                    gc.getPlayer(iSelectedPlayer).getTeam())
            elif iIndex == 8:
                WBReligionScreen.WBReligionScreen().interfaceScreen(
                    iSelectedPlayer)
            elif iIndex == 10:
                WBGameDataScreen.WBGameDataScreen(
                    CvPlatyBuilderScreen.CvWorldBuilderScreen(
                    )).interfaceScreen()
            elif iIndex == 11:
                WBInfoScreen.WBInfoScreen().interfaceScreen(iSelectedPlayer)

        elif inputClass.getFunctionName() == "CurrentPlayer":
            iSelectedPlayer = screen.getPullDownData(
                "CurrentPlayer", screen.getSelectedPullDownID("CurrentPlayer"))
            self.interfaceScreen(iSelectedPlayer)

        elif inputClass.getFunctionName() == "WBCityCorporations":
            if inputClass.getData1() == 8201:
                pPlayer = gc.getPlayer(iSelectedPlayer)
                (loopCity, pIter) = pPlayer.firstCity(False)
                while loopCity:
                    if not loopCity.isNone() and loopCity.getOwner(
                    ) == pPlayer.getID():  #only valid cities
                        if pIter - 1 == inputClass.getData():
                            if bHeadquarter:
                                self.editHeadquarter(inputClass.getData2(),
                                                     loopCity)
                            else:
                                self.editCorporation(inputClass.getData2(),
                                                     loopCity, 2)
                            break
                    (loopCity, pIter) = pPlayer.nextCity(pIter, False)
                self.placePlayerCities()

        elif inputClass.getFunctionName() == "WBAllCorporations":
            if inputClass.getButtonType() == WidgetTypes.WIDGET_PYTHON:
                pPlayer = gc.getPlayer(iSelectedPlayer)
                (loopCity, pIter) = pPlayer.firstCity(False)
                while loopCity:
                    if not loopCity.isNone() and loopCity.getOwner(
                    ) == pPlayer.getID():  #only valid cities
                        self.editCorporation(inputClass.getData2(), loopCity,
                                             inputClass.getData1() == 6782)
                    (loopCity, pIter) = pPlayer.nextCity(pIter, False)
                self.placePlayerCities()

        elif inputClass.getFunctionName() == "SetHeadquarter":
            bHeadquarter = not bHeadquarter
            sText = "<font=3b>" + CyTranslator().getText(
                "TXT_KEY_CORPORATION_HEADQUARTERS", ()) + "</font>"
            sColor = CyTranslator().getText("[COLOR_WARNING_TEXT]", ())
            if bHeadquarter:
                sColor = CyTranslator().getText("[COLOR_POSITIVE_TEXT]", ())
            screen.modifyString("SetHeadquarter", sColor + sText + "</color>",
                                0)
        return 1
Esempio n. 15
0
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)
Esempio n. 16
0
    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
Esempio n. 17
0
    def handleInput(self, inputClass):
        screen = CyGInterfaceScreen("WBGameDataScreen",
                                    CvScreenEnums.WB_GAMEDATA)
        global iChange
        global bHiddenOption
        global bRepeat
        global iSelectedCiv
        global iSelectedLeader
        global bRemove

        if inputClass.getFunctionName() == "CurrentPage":
            iIndex = screen.getPullDownData(
                "CurrentPage", screen.getSelectedPullDownID("CurrentPage"))
            if iIndex == 8:
                WBReligionScreen.WBReligionScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)
            elif iIndex == 9:
                WBCorporationScreen.WBCorporationScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)
            elif iIndex == 11:
                WBInfoScreen.WBInfoScreen().interfaceScreen(
                    self.top.m_iCurrentPlayer)
            elif iIndex == 12:
                WBStoredDataScreen.WBStoredDataScreen(
                    self.top).interfaceScreen()
            elif iIndex == 13:
                WBPlayerEnabledScreen.WBPlayerEnabledScreen(
                    self.top).interfaceScreen()

        elif inputClass.getFunctionName() == "ChangeBy":
            if bRemove:
                iChange = -screen.getPullDownData(
                    "ChangeBy", screen.getSelectedPullDownID("ChangeBy"))
            else:
                iChange = screen.getPullDownData(
                    "ChangeBy", screen.getSelectedPullDownID("ChangeBy"))

        elif inputClass.getFunctionName() == "ChangeType":
            bRemove = not bRemove
            iChange = -iChange

        elif inputClass.getFunctionName().find("StartYear") > -1:
            if inputClass.getData1() == 1030:
                CyGame().setStartYear(CyGame().getStartYear() + abs(iChange))
            elif inputClass.getData1() == 1031:
                CyGame().setStartYear(CyGame().getStartYear() - abs(iChange))
            self.placeStats()

        elif inputClass.getFunctionName().find("MaxCityElimination") > -1:
            if inputClass.getData1() == 1030:
                CyGame().setMaxCityElimination(
                    CyGame().getMaxCityElimination() + abs(iChange))
            elif inputClass.getData1() == 1031:
                CyGame().setMaxCityElimination(
                    max(0,
                        CyGame().getMaxCityElimination() - abs(iChange)))
            self.placeStats()

        elif inputClass.getFunctionName().find("GameTurn") > -1:
            if inputClass.getData1() == 1030:
                iChange = min(
                    abs(iChange),
                    CyGame().getMaxTurns() - CyGame().getElapsedGameTurns())
                CyGame().setGameTurn(CyGame().getGameTurn() + iChange)
                CyGame().changeMaxTurns(-iChange)
            elif inputClass.getData1() == 1031:
                iChange = min(CyGame().getGameTurn(), abs(iChange))
                CyGame().setGameTurn(CyGame().getGameTurn() - iChange)
                CyGame().changeMaxTurns(iChange)
            self.placeStats()

        elif inputClass.getFunctionName().find("TargetScore") > -1:
            if inputClass.getData1() == 1030:
                CyGame().setTargetScore(CyGame().getTargetScore() +
                                        abs(iChange))
            elif inputClass.getData1() == 1031:
                CyGame().setTargetScore(
                    max(0,
                        CyGame().getTargetScore() - abs(iChange)))
            self.placeStats()

        elif inputClass.getFunctionName().find("EstimateEndTurn") > -1:
            if inputClass.getData1() == 1030:
                CyGame().setEstimateEndTurn(CyGame().getEstimateEndTurn() +
                                            iChange)
            elif inputClass.getData1() == 1031:
                CyGame().setEstimateEndTurn(
                    max(0,
                        CyGame().getEstimateEndTurn() - iChange))
            self.placeStats()

        elif inputClass.getFunctionName().find("NukesExploded") > -1:
            if inputClass.getData1() == 1030:
                CyGame().changeNukesExploded(abs(iChange))
            elif inputClass.getData1() == 1031:
                CyGame().changeNukesExploded(
                    -min(CyGame().getNukesExploded(), abs(iChange)))
            self.placeStats()

        elif inputClass.getFunctionName().find("MaxTurns") > -1:
            if inputClass.getData1() == 1030:
                CyGame().changeMaxTurns(abs(iChange))
            elif inputClass.getData1() == 1031:
                CyGame().changeMaxTurns(
                    -min(CyGame().getMaxTurns(), abs(iChange)))
            self.placeStats()

        elif inputClass.getFunctionName().find("TradeRoutes") > -1:
            if inputClass.getData1() == 1030:
                CyGame().changeTradeRoutes(
                    min(
                        abs(iChange),
                        gc.getDefineINT("MAX_TRADE_ROUTES") -
                        gc.getDefineINT("INITIAL_TRADE_ROUTES") -
                        CyGame().getTradeRoutes()))
            elif inputClass.getData1() == 1031:
                CyGame().changeTradeRoutes(
                    -min(CyGame().getTradeRoutes(), abs(iChange)))
            self.placeStats()

        elif inputClass.getFunctionName().find("AIAutoPlay") > -1:
            if inputClass.getData1() == 1030:
                CyGame().setAIAutoPlay(CyGame().getAIAutoPlay() + abs(iChange))
            elif inputClass.getData1() == 1031:
                CyGame().setAIAutoPlay(
                    max(0,
                        CyGame().getAIAutoPlay() - abs(iChange)))
            self.placeStats()

        elif inputClass.getFunctionName() == "WBGameOptions":
            iGameOption = inputClass.getData2()
            if iGameOption < gc.getNumGameOptionInfos():
                CyGame().setOption(iGameOption,
                                   not CyGame().isOption(iGameOption))
                self.checkOptions(iGameOption)
            else:
                # Enabling/disabling secondary civs
                if iGameOption < 2000:
                    iItem = iGameOption - 1000
                    data.setPlayerEnabled(iItem,
                                          not data.isPlayerEnabled(iItem))
                # Enabling/disabling RFC options
                elif iGameOption == 2000:
                    data.bIgnoreAI = not data.bIgnoreAI
                elif iGameOption == 2001:
                    data.bUnlimitedSwitching = not data.bUnlimitedSwitching
                elif iGameOption == 2002:
                    data.bNoCongressOption = not data.bNoCongressOption
                elif iGameOption == 2003:
                    data.bNoPlagues = not data.bNoPlagues
                # Stored Variables
                elif iGameOption == 3001:
                    data.bAlreadySwitched = not data.bAlreadySwitched
                elif iGameOption == 3002 and cong.isCongressEnabled():
                    data.iCongressTurns = max(1, data.iCongressTurns + iChange)
            self.placeGameOptions()

        elif inputClass.getFunctionName() == "HiddenOptions":
            bHiddenOption = not bHiddenOption
            self.placeGameOptions()

        elif inputClass.getFunctionName() == "AllowsRepeat":
            bRepeat = not bRepeat
            iSelectedCiv = -1
            iSelectedLeader = -1
            self.placeNewPlayer()

        elif inputClass.getFunctionName() == "WBNewCiv":
            iSelectedCiv = inputClass.getData2()
            iSelectedLeader = -1
            self.interfaceScreen()

        elif inputClass.getFunctionName() == "WBNewLeader":
            iSelectedLeader = inputClass.getData2()
            self.interfaceScreen()

        elif inputClass.getFunctionName() == "CreatePlayer":
            for i in xrange(gc.getMAX_CIV_PLAYERS()):
                if not gc.getPlayer(i).isEverAlive():
                    CyGame().addPlayer(i, iSelectedLeader, iSelectedCiv)
                    break
            screen.hideScreen()
            self.top.m_iCurrentPlayer = i
            self.top.normalPlayerTabModeCB()

        elif inputClass.getFunctionName() == "GameEditScriptData":
            popup = Popup.PyPopup(4444, EventContextTypes.EVENTCONTEXT_ALL)
            popup.setHeaderString(CyTranslator().getText(
                "TXT_KEY_WB_SCRIPT", ()))
            popup.createEditBox(CyGame().getScriptData())
            popup.launch()

        return 1