Bazaar developer reference

CvCity::setupSpaceshipGraphics()

Defined in
CvCity.cpp, line 1353
Class
CvCity
Hook name
CivHooks::CvCity_setupSpaceshipGraphics

Hooks

static bool BeforeCvCity_setupSpaceshipGraphics(CvCity* self);static void AfterCvCity_setupSpaceshipGraphics(CvCity* self);static void ReplaceCvCity_setupSpaceshipGraphics(void (*original)(CvCity*), CvCity* self);CivRegisterBefore<CivHooks::CvCity_setupSpaceshipGraphics>(host, &BeforeCvCity_setupSpaceshipGraphics);CivRegisterAfter<CivHooks::CvCity_setupSpaceshipGraphics>(host, &AfterCvCity_setupSpaceshipGraphics);CivRegisterReplace<CivHooks::CvCity_setupSpaceshipGraphics>(host, &ReplaceCvCity_setupSpaceshipGraphics);

Code

1353void CvCity::setupSpaceshipGraphics()1354{1355	VALIDATE_OBJECT13561357	CvTeam& thisTeam = GET_TEAM(getTeam());13581359	ProjectTypes ApolloProgram = (ProjectTypes) GC.getSPACE_RACE_TRIGGER_PROJECT();13601361	int spaceshipState = 0;13621363	if(isCapital() && thisTeam.getProjectCount((ProjectTypes)ApolloProgram) == 1)1364	{1365		ProjectTypes capsuleID = (ProjectTypes) GC.getSPACESHIP_CAPSULE();1366		ProjectTypes boosterID = (ProjectTypes) GC.getSPACESHIP_BOOSTER();1367		ProjectTypes stasisID = (ProjectTypes) GC.getSPACESHIP_STASIS();1368		ProjectTypes engineID = (ProjectTypes) GC.getSPACESHIP_ENGINE();13691370		enum eSpaceshipState1371		{1372		    eUnderConstruction	= 0x0000,1373		    eFrame				= 0x0001,1374		    eCapsule			= 0x0002,1375		    eStasis_Chamber		= 0x0004,1376		    eEngine				= 0x0008,1377		    eBooster1			= 0x0010,1378		    eBooster2			= 0x0020,1379		    eBooster3			= 0x0040,1380		    eConstructed		= 0x0080,1381		};13821383		auto_ptr<ICvPlot1> pDllPlot(new CvDllPlot(plot()));1384		gDLL->GameplaySpaceshipRemoved(pDllPlot.get());1385		gDLL->GameplaySpaceshipCreated(pDllPlot.get(), eUnderConstruction + eFrame);13861387		spaceshipState = eFrame;13881389		if((thisTeam.getProjectCount((ProjectTypes)capsuleID)) == 1)1390		{1391			spaceshipState += eCapsule;1392		}13931394		if((thisTeam.getProjectCount((ProjectTypes)stasisID)) == 1)1395		{1396			spaceshipState += eStasis_Chamber;1397		}13981399		if((thisTeam.getProjectCount((ProjectTypes)engineID)) == 1)1400		{1401			spaceshipState += eEngine;1402		}14031404		if((thisTeam.getProjectCount((ProjectTypes)boosterID)) >= 1)1405		{1406			spaceshipState += eBooster1;1407		}14081409		if((thisTeam.getProjectCount((ProjectTypes)boosterID)) >= 2)1410		{1411			spaceshipState += eBooster2;1412		}14131414		if((thisTeam.getProjectCount((ProjectTypes)boosterID)) == 3)1415		{1416			spaceshipState += eBooster3;1417		}14181419		gDLL->GameplaySpaceshipEdited(pDllPlot.get(), spaceshipState);1420	}1421}

Calls

Called by