Bazaar developer reference

CvGame::selectionListGameNetMessage(int, int, int, int, int, bool, bool)

Defined in
CvGame.cpp, line 2576
Class
CvGame
Hook name
CivHooks::CvGame_selectionListGameNetMessage

Hooks

static bool BeforeCvGame_selectionListGameNetMessage(CvGame* self, int eMessage, int iData2, int iData3, int iData4, int iFlags, bool bAlt, bool bShift);static void AfterCvGame_selectionListGameNetMessage(CvGame* self, int eMessage, int iData2, int iData3, int iData4, int iFlags, bool bAlt, bool bShift);static void ReplaceCvGame_selectionListGameNetMessage(void (*original)(CvGame*, int, int, int, int, int, bool, bool), CvGame* self, int eMessage, int iData2, int iData3, int iData4, int iFlags, bool bAlt, bool bShift);CivRegisterBefore<CivHooks::CvGame_selectionListGameNetMessage>(host, &BeforeCvGame_selectionListGameNetMessage);CivRegisterAfter<CivHooks::CvGame_selectionListGameNetMessage>(host, &AfterCvGame_selectionListGameNetMessage);CivRegisterReplace<CivHooks::CvGame_selectionListGameNetMessage>(host, &ReplaceCvGame_selectionListGameNetMessage);

Code

2576void CvGame::selectionListGameNetMessage(int eMessage, int iData2, int iData3, int iData4, int iFlags, bool bAlt, bool bShift)2577{2578	auto_ptr<ICvUnit1> pSelectedUnit(GC.GetEngineUserInterface()->GetHeadSelectedUnit());2579	CvUnit* pkSelectedUnit = GC.UnwrapUnitPointer(pSelectedUnit.get());25802581	if(pkSelectedUnit != NULL)2582	{2583		if(pkSelectedUnit->getOwner() == getActivePlayer() && !pSelectedUnit->IsBusy())2584		{2585			if(eMessage == GAMEMESSAGE_DO_COMMAND)2586			{2587				gDLL->sendDoCommand(pkSelectedUnit->GetID(), ((CommandTypes)iData2), iData3, iData4, bAlt);2588			}2589			else if((eMessage == GAMEMESSAGE_PUSH_MISSION) || (eMessage == GAMEMESSAGE_AUTO_MISSION))2590			{2591				if(eMessage == GAMEMESSAGE_PUSH_MISSION)2592				{2593					MissionTypes eMission = (MissionTypes)iData2;2594					CvPlot* pPlot = GC.getMap().plot(iData3, iData4);2595					if(pPlot && pkSelectedUnit->CanSwapWithUnitHere(*pPlot) && eMission != CvTypes::getMISSION_ROUTE_TO())2596					{2597						gDLL->sendSwapUnits(pkSelectedUnit->GetID(), ((MissionTypes)iData2), iData3, iData4, iFlags, bShift);2598					}2599					else2600					{2601						gDLL->sendPushMission(pkSelectedUnit->GetID(), ((MissionTypes)iData2), iData3, iData4, iFlags, bShift);2602					}2603				}2604				else2605				{2606					gDLL->sendAutoMission(pkSelectedUnit->GetID());2607				}2608			}2609			else if((eMessage == GAMEMESSAGE_SWAP_UNITS))2610			{2611				gDLL->sendSwapUnits(pkSelectedUnit->GetID(), ((MissionTypes)iData2), iData3, iData4, iFlags, bShift);2612			}2613			else2614			{2615				CvAssert(false);2616			}2617		}2618	}2619}

Calls

Called by