Bazaar developer reference

CvPolicyBranchEntry::CacheResults(Database::Results &, CvDatabaseUtility &)

Defined in
CvPolicyClasses.cpp, line 2318
Class
CvPolicyBranchEntry
Hook name
CivHooks::CvPolicyBranchEntry_CacheResults
Overrides
CvBaseInfo::CacheResults(Database::Results &, CvDatabaseUtility &)

Hooks

static bool BeforeCvPolicyBranchEntry_CacheResults(CvPolicyBranchEntry* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static void AfterCvPolicyBranchEntry_CacheResults(CvPolicyBranchEntry* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static bool ReplaceCvPolicyBranchEntry_CacheResults(bool (*original)(CvPolicyBranchEntry*, Database::Results&, CvDatabaseUtility&), CvPolicyBranchEntry* self, Database::Results& kResults, CvDatabaseUtility& kUtility);CivRegisterBefore<CivHooks::CvPolicyBranchEntry_CacheResults>(host, &BeforeCvPolicyBranchEntry_CacheResults);CivRegisterAfter<CivHooks::CvPolicyBranchEntry_CacheResults>(host, &AfterCvPolicyBranchEntry_CacheResults);CivRegisterReplace<CivHooks::CvPolicyBranchEntry_CacheResults>(host, &ReplaceCvPolicyBranchEntry_CacheResults);

Code

2317/// Read from XML file (pass 1)2318bool CvPolicyBranchEntry::CacheResults(Database::Results& kResults, CvDatabaseUtility& kUtility)2319{2320	if(!CvBaseInfo::CacheResults(kResults, kUtility))2321		return false;23222323	//References2324	const char* szEraPrereq = kResults.GetText("EraPrereq");2325	m_iEraPrereq = GC.getInfoTypeForString(szEraPrereq, true);23262327	const char* szFreePolicy = kResults.GetText("FreePolicy");2328	m_iFreePolicy = GC.getInfoTypeForString(szFreePolicy, true);23292330	const char* szFreeFinishingPolicy = kResults.GetText("FreeFinishingPolicy");2331	m_iFreeFinishingPolicy = GC.getInfoTypeForString(szFreeFinishingPolicy, true);23322333	m_iFirstAdopterFreePolicies = kResults.GetInt("FirstAdopterFreePolicies");2334	m_iSecondAdopterFreePolicies = kResults.GetInt("SecondAdopterFreePolicies");23352336	const char* szPolicyBranchType = GetType();23372338	m_bPurchaseByLevel = kResults.GetBool("PurchaseByLevel");2339	m_bLockedWithoutReligion = kResults.GetBool("LockedWithoutReligion");2340	m_bMutuallyExclusive = kResults.GetBool("AIMutuallyExclusive");23412342	m_bDelayWhenNoReligion = kResults.GetBool("AIDelayNoReligion");2343	m_bDelayWhenNoCulture = kResults.GetBool("AIDelayNoCulture");2344	m_bDelayWhenNoCityStates = kResults.GetBool("AIDelayNoCityStates");2345	m_bDelayWhenNoScience = kResults.GetBool("AIDelayNoScience");23462347	//PolicyBranch_Disables2348	{2349		kUtility.InitializeArray(m_piPolicyBranchDisables, "PolicyBranchTypes", (int)NO_POLICY_BRANCH_TYPE);23502351		std::string sqlKey = "m_piPolicyBranchDisables";2352		Database::Results* pResults = kUtility.GetResults(sqlKey);2353		if(pResults == NULL)2354		{2355			const char* szSQL = "select PolicyBranchTypes.ID from PolicyBranch_Disables inner join PolicyBranchTypes on PolicyBranchTypes.Type = PolicyBranchDisable where PolicyBranchType = ?";2356			pResults = kUtility.PrepareResults(sqlKey, szSQL);2357		}23582359		pResults->Bind(1, szPolicyBranchType, false);23602361		int iID;2362		while(pResults->Step())2363		{2364			iID = pResults->GetInt(0);2365			m_piPolicyBranchDisables[iID] = 1;2366		}23672368		pResults->Reset();2369	}23702371	return true;2372}

Calls