CvPlayer::changeProjectMaking(ProjectTypes, int)
- Defined in
- CvPlayer.cpp, line 20655
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_changeProjectMaking
Hooks
static bool BeforeCvPlayer_changeProjectMaking(CvPlayer* self, ProjectTypes eIndex, int iChange);static void AfterCvPlayer_changeProjectMaking(CvPlayer* self, ProjectTypes eIndex, int iChange);static void ReplaceCvPlayer_changeProjectMaking(void (*original)(CvPlayer*, ProjectTypes, int), CvPlayer* self, ProjectTypes eIndex, int iChange);CivRegisterBefore<CivHooks::CvPlayer_changeProjectMaking>(host, &BeforeCvPlayer_changeProjectMaking);CivRegisterAfter<CivHooks::CvPlayer_changeProjectMaking>(host, &AfterCvPlayer_changeProjectMaking);CivRegisterReplace<CivHooks::CvPlayer_changeProjectMaking>(host, &ReplaceCvPlayer_changeProjectMaking);
Code
20655void CvPlayer::changeProjectMaking(ProjectTypes eIndex, int iChange)20656{20657 CvAssertMsg(eIndex >= 0, "eIndex is expected to be non-negative (invalid Index)");20658 CvAssertMsg(eIndex < GC.getNumProjectInfos(), "eIndex is expected to be within maximum bounds (invalid Index)");2065920660 if(iChange != 0)20661 {20662 m_paiProjectMaking.setAt(eIndex, m_paiProjectMaking[eIndex] + iChange);20663 CvAssert(getProjectMaking(eIndex) >= 0);2066420665 // Update the amount of a Resource used up by Projects in Production20666 for(int iResourceLoop = 0; iResourceLoop < GC.getNumResourceInfos(); iResourceLoop++)20667 {20668 if(GC.getProjectInfo(eIndex)->GetResourceQuantityRequirement(iResourceLoop) > 0)20669 {20670 changeNumResourceUsed((ResourceTypes) iResourceLoop, iChange * GC.getProjectInfo(eIndex)->GetResourceQuantityRequirement(iResourceLoop));20671 }20672 }20673 }20674}
Calls
- CvGlobals::getNumResourceInfos()
- CvGlobals::getProjectInfo(ProjectTypes)
- CvPlayer::changeNumResourceUsed(ResourceTypes, int)
- CvProjectEntry::GetResourceQuantityRequirement(int) const
FAutoVariable::operator[]FAutoVariable::setAt