Bazaar developer reference

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

Defined in
CvInfos.cpp, line 4731
Class
CvResourceInfo
Hook name
CivHooks::CvResourceInfo_CacheResults
Overrides
CvBaseInfo::CacheResults(Database::Results &, CvDatabaseUtility &)

Hooks

static bool BeforeCvResourceInfo_CacheResults(CvResourceInfo* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static void AfterCvResourceInfo_CacheResults(CvResourceInfo* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static bool ReplaceCvResourceInfo_CacheResults(bool (*original)(CvResourceInfo*, Database::Results&, CvDatabaseUtility&), CvResourceInfo* self, Database::Results& kResults, CvDatabaseUtility& kUtility);CivRegisterBefore<CivHooks::CvResourceInfo_CacheResults>(host, &BeforeCvResourceInfo_CacheResults);CivRegisterAfter<CivHooks::CvResourceInfo_CacheResults>(host, &AfterCvResourceInfo_CacheResults);CivRegisterReplace<CivHooks::CvResourceInfo_CacheResults>(host, &ReplaceCvResourceInfo_CacheResults);

Code

4731bool CvResourceInfo::CacheResults(Database::Results& kResults, CvDatabaseUtility& kUtility)4732{4733	if(!CvBaseInfo::CacheResults(kResults, kUtility))4734		return false;47354736	//Basic properties4737	m_iStartingResourceQuantity = kResults.GetInt("StartingResourceQuantity");4738	m_iAITradeModifier = kResults.GetInt("AITradeModifier");4739	m_iAIObjective = kResults.GetInt("AIObjective");4740	m_iHappiness = kResults.GetInt("Happiness");4741	m_iWonderProductionMod = kResults.GetInt("WonderProductionMod");47424743	const char* szEraType = kResults.GetText("WonderProductionModObsoleteEra");4744	m_eWonderProductionModObsoleteEra = (EraTypes)GC.getInfoTypeForString(szEraType, true);47454746	m_iMinAreaSize = kResults.GetInt("MinAreaSize");4747	m_iMinLatitude = kResults.GetInt("MinLatitude");4748	m_iMaxLatitude = kResults.GetInt("MaxLatitude");4749	m_iPlacementOrder = kResults.GetInt("PlacementOrder");4750	m_iConstAppearance = kResults.GetInt("ConstAppearance");47514752	m_iPercentPerPlayer = kResults.GetInt("Player");4753	m_iTilesPer = kResults.GetInt("TilesPer");4754	m_iMinLandPercent = kResults.GetInt("MinLandPercent");4755	m_iUniqueRange = kResults.GetInt("Unique");4756	m_iGroupRange = kResults.GetInt("GroupRange");4757	m_iGroupRand = kResults.GetInt("GroupRand");4758	m_bPresentOnAllValidPlots = kResults.GetBool("PresentOnAllValidPlots");4759	m_bOneArea = kResults.GetBool("Area");4760	m_bHills = kResults.GetBool("Hills");4761	m_bFlatlands = kResults.GetBool("Flatlands");4762	m_bNoRiverSide = kResults.GetBool("NoRiverSide");4763	m_bNormalize = kResults.GetBool("Normalize");4764	m_bOnlyMinorCivs = kResults.GetBool("OnlyMinorCivs");47654766	const char* szCivilizationType = kResults.GetText("CivilizationType");4767	m_eRequiredCivilization = (CivilizationTypes)GC.getInfoTypeForString(szCivilizationType, true);47684769	m_iRandAppearance1 = kResults.GetInt("RandApp1");4770	m_iRandAppearance2 = kResults.GetInt("RandApp2");4771	m_iRandAppearance3 = kResults.GetInt("RandApp3");4772	m_iRandAppearance4 = kResults.GetInt("RandApp4");47734774	m_eResourceUsage   = (ResourceUsageTypes)kResults.GetInt("ResourceUsage");47754776	//Basic references4777	const char* szResourceClassType = kResults.GetText("ResourceClassType");4778	m_iResourceClassType = GC.getInfoTypeForString(szResourceClassType, true);47794780	const char* szIconString = kResults.GetText("IconString");4781	SetIconString(szIconString);47824783	const char* szArtDefineTag = kResults.GetText("ArtDefineTag");4784	setArtDefineTag(szArtDefineTag);47854786	const char* szArtDefineTagHeavy = kResults.GetText("ArtDefineTagHeavy");4787	setArtDefineTagHeavy(szArtDefineTagHeavy);47884789	const char* szAltArtDefineTag = kResults.GetText("AltArtDefineTag");4790	setAltArtDefineTag(szAltArtDefineTag);47914792	const char* szAltArtDefineTagHeavy = kResults.GetText("AltArtDefineTagHeavy");4793	setAltArtDefineTagHeavy(szAltArtDefineTagHeavy);47944795	const char* szTechReveal = kResults.GetText("TechReveal");4796	m_iTechReveal = GC.getInfoTypeForString(szTechReveal, true);47974798	const char* szPolicyReveal = kResults.GetText("PolicyReveal");4799	m_iPolicyReveal = GC.getInfoTypeForString(szPolicyReveal, true);48004801	const char* szTechCityTrade = kResults.GetText("TechCityTrade");4802	m_iTechCityTrade = GC.getInfoTypeForString(szTechCityTrade, true);48034804	const char* szTechObsolete = kResults.GetText("TechObsolete");4805	m_iTechObsolete = GC.getInfoTypeForString(szTechObsolete, true);48064807	const char* szAIStopTradingEra = kResults.GetText("AIStopTradingEra");4808	m_iAIStopTradingEra = GC.getInfoTypeForString(szAIStopTradingEra, true);48094810	//Arrays4811	const char* szResourceType = GetType();4812	kUtility.SetYields(m_piYieldChange, "Resource_YieldChanges", "ResourceType", szResourceType);4813	kUtility.SetFlavors(m_piFlavor, "Resource_Flavors", "ResourceType", szResourceType);48144815	kUtility.PopulateArrayByExistence(m_pbTerrain, "Terrains", "Resource_TerrainBooleans", "TerrainType", "ResourceType", szResourceType);4816	kUtility.PopulateArrayByExistence(m_pbFeature, "Features", "Resource_FeatureBooleans", "FeatureType", "ResourceType", szResourceType);4817	kUtility.PopulateArrayByExistence(m_pbFeatureTerrain, "Terrains", "Resource_FeatureTerrainBooleans", "TerrainType", "ResourceType", szResourceType);48184819	//Resource_QuantityTypes4820	{4821		const int iNumQuantityTypes = GC.getNUM_RESOURCE_QUANTITY_TYPES();4822		kUtility.InitializeArray(m_piResourceQuantityTypes, iNumQuantityTypes);48234824		//Default it to 14825		m_piResourceQuantityTypes[0] = 1;48264827		Database::Results kArrayResults;4828		char szQuery[512];4829		sprintf_s(szQuery, "select Quantity from Resource_QuantityTypes where ResourceType = '%s';", szResourceType);48304831		if(DB.Execute(kArrayResults, szQuery))4832		{4833			int i = 0;4834			while(kArrayResults.Step())4835			{4836				CvAssertMsg(i < iNumQuantityTypes, "Too many resource quantities.");4837				const int quantity = kArrayResults.GetInt(0);4838				m_piResourceQuantityTypes[i++] = quantity;4839			}4840		}48414842	}484348444845	return true;4846}

Calls