def _handleOnPreSaveEvent(self, eventType, argsList): """Tells BugData to save all script data after other handlers have been called. This won't work as a normal handler because it must be done after other handlers. """ self._handleDefaultEvent(eventType, argsList) BugData.save()
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
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)) if iSelectedMode == 0: data.__dict__[item] = iValue else: data.players[iSelectedCiv].__dict__[item] = iValue 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"] 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 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