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
- CvGlobals::getLeagueProjectInfo(LeagueProjectTypes)
- CvGlobals::getLeagueProjectRewardInfo(LeagueProjectRewardTypes)
- CvGlobals::getNumLeagueProjectInfos()
- CvLeague::GetProjectCostPerPlayer(LeagueProjectTypes) const
- CvLeagueProjectEntry::GetRewardTier3() const
- CvLeagueProjectRewardEntry::GetBuilding() const