Bazaar developer reference

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

Called by