Bazaar developer reference

CvLeague::GetProjectBuildingCostPerPlayer(BuildingTypes) const

Defined in
CvVotingClasses.cpp, line 3677
Class
CvLeague
Hook name
CivHooks::CvLeague_GetProjectBuildingCostPerPlayer

Hooks

static bool BeforeCvLeague_GetProjectBuildingCostPerPlayer(const CvLeague* self, BuildingTypes eRewardBuilding, int& result);static void AfterCvLeague_GetProjectBuildingCostPerPlayer(const CvLeague* self, BuildingTypes eRewardBuilding, int& result);static int ReplaceCvLeague_GetProjectBuildingCostPerPlayer(int (*original)(const CvLeague*, BuildingTypes), const CvLeague* self, BuildingTypes eRewardBuilding);CivRegisterBefore<CivHooks::CvLeague_GetProjectBuildingCostPerPlayer>(host, &BeforeCvLeague_GetProjectBuildingCostPerPlayer);CivRegisterAfter<CivHooks::CvLeague_GetProjectBuildingCostPerPlayer>(host, &AfterCvLeague_GetProjectBuildingCostPerPlayer);CivRegisterReplace<CivHooks::CvLeague_GetProjectBuildingCostPerPlayer>(host, &ReplaceCvLeague_GetProjectBuildingCostPerPlayer);

Code

3675// Helper function to lookup cost per player by a BuildingType that is part of the project rewards.3676// Assumes that this BuildingType is a reward for at most 1 project.3677int CvLeague::GetProjectBuildingCostPerPlayer(BuildingTypes eRewardBuilding) const3678{3679	int iCost = 0;36803681	// Is it part of an international project?3682	for (int i = 0; i < GC.getNumLeagueProjectInfos(); i++)3683	{3684		LeagueProjectTypes eProject = (LeagueProjectTypes)i;3685		CvLeagueProjectEntry* pProjectInfo = GC.getLeagueProjectInfo(eProject);3686		if (pProjectInfo != NULL && pProjectInfo->GetRewardTier3() != NO_LEAGUE_PROJECT_REWARD) // Only check top reward tier3687		{3688			CvLeagueProjectRewardEntry* pRewardInfo = GC.getLeagueProjectRewardInfo(pProjectInfo->GetRewardTier3());3689			if (pRewardInfo != NULL && pRewardInfo->GetBuilding() == eRewardBuilding)3690			{3691				iCost = GetProjectCostPerPlayer(eProject) / 100;3692				break;3693			}3694		}3695	}36963697	return iCost;3698}

Calls

Called by