void CvDllPythonEvents::reportInit() { if (preEvent()) { CyArgsList eventData; eventData.add("Init"); // add key to lookup python handler fxn postEvent(eventData); } }
void CvDllPythonEvents::preSave() { if (preEvent()) { CyArgsList eventData; eventData.add("OnPreSave"); postEvent(eventData); } }
void CvDllPythonEvents::reportChat(CvWString szString) { if (preEvent()) { CyArgsList eventData; eventData.add("chat"); // add key to lookup python handler fxn eventData.add(szString); postEvent(eventData); } }
void CvDllPythonEvents::reportEndGameTurn(int iGameTurn) { if (preEvent()) { CyArgsList eventData; eventData.add("EndGameTurn"); // add key to lookup python handler fxn eventData.add(iGameTurn); postEvent(eventData); } }
void CvDllPythonEvents::reportWindowActivation(bool bActive) { if (preEvent()) { CyArgsList eventData; eventData.add("windowActivation"); eventData.add(bActive); postEvent(eventData); } }
void CvDllPythonEvents::reportGenericEvent(const char* szEventName, void *pyArgs) { if (preEvent()) { CyArgsList eventData; eventData.add(szEventName); eventData.add(pyArgs); // generic args tuple postEvent(eventData); } }
void CvDllPythonEvents::reportEndGoldenAge(PlayerTypes ePlayer) { if (preEvent()) { CyArgsList eventData; eventData.add("endGoldenAge"); // add key to lookup python handler fxn eventData.add((int)ePlayer); postEvent(eventData); } }
void CvDllPythonEvents::reportSetPlayerAlive( PlayerTypes ePlayerID, bool bNewValue ) { if (preEvent()) { CyArgsList eventData; eventData.add("setPlayerAlive"); eventData.add((int)ePlayerID); eventData.add(bNewValue); postEvent(eventData); } }
void CvDllPythonEvents::reportVictory(TeamTypes eNewWinner, VictoryTypes eNewVictory) { if (preEvent()) { CyArgsList eventData; eventData.add("victory"); // add key to lookup python handler fxn eventData.add((int)eNewWinner); eventData.add((int)eNewVictory); postEvent(eventData); } }
void CvDllPythonEvents::reportCorporationFounded(CorporationTypes eType, PlayerTypes ePlayer) { if (preEvent()) { CyArgsList eventData; eventData.add("corporationFounded"); // add key to lookup python handler fxn eventData.add((int)eType); eventData.add((int)ePlayer); postEvent(eventData); } }
void CvDllPythonEvents::reportTechSelected(TechTypes eTech, PlayerTypes ePlayer) { if (preEvent()) { CyArgsList eventData; eventData.add("techSelected"); // add key to lookup python handler fxn eventData.add((int)eTech); eventData.add((int)ePlayer); postEvent(eventData); } }
void CvDllPythonEvents::reportFirstContact(TeamTypes eTeamID1, TeamTypes eTeamID2) { if (preEvent()) { CyArgsList eventData; eventData.add("firstContact"); // add key to lookup python handler fxn eventData.add((int)eTeamID1); eventData.add((int)eTeamID2); postEvent(eventData); } }
void CvDllPythonEvents::reportBeginPlayerTurn(int iGameTurn, PlayerTypes ePlayer) { if (preEvent()) { CyArgsList eventData; eventData.add("BeginPlayerTurn"); // add key to lookup python handler fxn eventData.add(iGameTurn); eventData.add((int)ePlayer); postEvent(eventData); } }
void CvDllPythonEvents::reportRouteBuilt(int iRouteType, int iX, int iY) { if (preEvent()) { CyArgsList eventData; eventData.add("routeBuilt"); // add key to lookup python handler fxn eventData.add(iRouteType); eventData.add(iX); eventData.add(iY); postEvent(eventData); } }
int getBugOptionINT(const char* id, int iDefault, const char* xmlKey) { CyArgsList argsList; long lResult = 0; argsList.add(id); argsList.add(iDefault); gDLL->getPythonIFace()->callFunction(PYBugOptionsModule, "getOptionINT", argsList.makeFunctionArgs(), &lResult); return lResult; }
// edead: start void CvDllPythonEvents::reportRevolution(PlayerTypes ePlayerID) { if (preEvent()) { CyArgsList eventData; eventData.add("revolution"); // add key to lookup python handler fxn eventData.add((int)ePlayerID); postEvent(eventData); } }
void CvDllPythonEvents::reportImprovementBuilt(int iImprovementType, int iX, int iY) { if (preEvent()) { CyArgsList eventData; eventData.add("improvementBuilt"); // add key to lookup python handler fxn eventData.add(iImprovementType); eventData.add(iX); eventData.add(iY); postEvent(eventData); } }
bool getBugOptionBOOL(const char* id, bool bDefault, const char* xmlKey) { CyArgsList argsList; long lResult = 0; argsList.add(id); argsList.add(bDefault); gDLL->getPythonIFace()->callFunction(PYBugOptionsModule, "getOptionBOOL", argsList.makeFunctionArgs(), &lResult); return lResult != 0; }
int CvMapGenerator::getRiverValueAtPlot(CvPlot* pPlot) { CvPlot* pAdjacentPlot; CvRandom riverRand; int iSum; int iI; FAssert(pPlot != NULL); long result = 0; CyPlot kPlot = CyPlot(pPlot); CyArgsList argsList; argsList.add(gDLL->getPythonIFace()->makePythonObject(&kPlot)); if (gDLL->getPythonIFace()->callFunction(gDLL->getPythonIFace()->getMapScriptModule(), "getRiverAltitude", argsList.makeFunctionArgs(), &result)) { if (!gDLL->getPythonIFace()->pythonUsingDefaultImpl()) // Python override { if (result >= 0) { return result; } else { FAssertMsg(false, "python getRiverAltitude() must return >= 0"); } } } iSum = result; iSum += ((NUM_PLOT_TYPES - pPlot->getPlotType()) * 20); for (iI = 0; iI < NUM_DIRECTION_TYPES; iI++) { pAdjacentPlot = plotDirection(pPlot->getX_INLINE(), pPlot->getY_INLINE(), ((DirectionTypes)iI)); if (pAdjacentPlot != NULL) { iSum += (NUM_PLOT_TYPES - pAdjacentPlot->getPlotType()); } else { iSum += (NUM_PLOT_TYPES * 10); } } riverRand.init((pPlot->getX_INLINE() * 43251267) + (pPlot->getY_INLINE() * 8273903)); iSum += (riverRand.get(10, "River Rand")); return iSum; }
// Leoreth: release dead civilizations void CvDllPythonEvents::reportReleasedPlayer(PlayerTypes ePlayer, PlayerTypes eReleasedPlayer) { if (preEvent()) { CyArgsList eventData; eventData.add("releasedPlayer"); eventData.add((int)ePlayer); eventData.add((int)eReleasedPlayer); postEvent(eventData); } }
void CvDllPythonEvents::reportUpdate(float fDeltaTime) { if (preEvent()) { if(GC.getUSE_ON_UPDATE_CALLBACK()) { CyArgsList eventData; eventData.add("Update"); // add key to lookup python handler fxn eventData.add(fDeltaTime); postEvent(eventData); } } }
// Leoreth: blockade a city void CvDllPythonEvents::reportBlockade(PlayerTypes ePlayer, int iGold) { if (preEvent()) { CyArgsList eventData; eventData.add("blockade"); eventData.add((int)ePlayer); eventData.add(iGold); postEvent(eventData); } }
void CvDllPythonEvents::reportCityLost(CvCity* pCity) { if (preEvent()) { CyArgsList eventData; eventData.add("cityLost"); // add key to lookup python handler fxn CyCity* pyu = new CyCity(pCity); eventData.add(gDLL->getPythonIFace()->makePythonObject(pyu)); postEvent(eventData); delete pyu; } }
void CvDllPythonEvents::reportTechAcquired(TechTypes eType, TeamTypes eTeam, PlayerTypes ePlayer, bool bAnnounce) { if (preEvent()) { CyArgsList eventData; eventData.add("techAcquired"); // add key to lookup python handler fxn eventData.add((int)eType); eventData.add((int)eTeam); eventData.add((int)ePlayer); eventData.add(bAnnounce); postEvent(eventData); } }
void CvNetAddReminder::Execute() { if (m_ePlayer != NO_PLAYER) { CyArgsList argsList; long lResult = 0; argsList.add(m_ePlayer); argsList.add(m_iGameTurn); argsList.add(m_szMessage.c_str()); gDLL->getPythonIFace()->callFunction(PYCivModule, "netAddReminder", argsList.makeFunctionArgs(), &lResult); } }
void CvDllPythonEvents::reportUnitRename(CvUnit *pUnit) { if (preEvent()) { CyArgsList eventData; eventData.add("UnitRename"); // add key to lookup python handler fxn CyUnit* pCyUnit = new CyUnit(pUnit); eventData.add(gDLL->getPythonIFace()->makePythonObject(pCyUnit)); postEvent(eventData); delete pCyUnit; } }
// Leoreth: peace deal arranged between players void CvDllPythonEvents::reportPeaceBrokered(PlayerTypes eBroker, PlayerTypes ePlayer1, PlayerTypes ePlayer2) { if (preEvent()) { CyArgsList eventData; eventData.add("peaceBrokered"); eventData.add((int)eBroker); eventData.add((int)ePlayer1); eventData.add((int)ePlayer2); postEvent(eventData); } }
void CvDllPythonEvents::reportUnitPromoted(CvUnit* pUnit, PromotionTypes ePromotion) { if (preEvent()) { CyArgsList eventData; eventData.add("unitPromoted"); // add key to lookup python handler fxn CyUnit* pyu = new CyUnit(pUnit); eventData.add(gDLL->getPythonIFace()->makePythonObject(pyu)); eventData.add((int)ePromotion); postEvent(eventData); delete pyu; } }
void CvDllPythonEvents::reportModNetMessage(int iData1, int iData2, int iData3, int iData4, int iData5) { if (preEvent()) { CyArgsList eventData; eventData.add("ModNetMessage"); // add key to lookup python handler fxn eventData.add(iData1); eventData.add(iData2); eventData.add(iData3); eventData.add(iData4); eventData.add(iData5); postEvent(eventData); } }
void CvDllPythonEvents::reportPlotPicked(CvPlot *pPlot) { if (preEvent()) { CyArgsList eventData; eventData.add("plotPicked"); // add key to lookup python handler fxn CyPlot* pCyPlot = new CyPlot(pPlot); eventData.add(gDLL->getPythonIFace()->makePythonObject(pCyPlot)); postEvent(eventData); delete pCyPlot; } }