Hooks
static bool BeforeCvEconomicAIStrategyXMLEntry_CacheResults(CvEconomicAIStrategyXMLEntry* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static void AfterCvEconomicAIStrategyXMLEntry_CacheResults(CvEconomicAIStrategyXMLEntry* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static bool ReplaceCvEconomicAIStrategyXMLEntry_CacheResults(bool (*original)(CvEconomicAIStrategyXMLEntry*, Database::Results&, CvDatabaseUtility&), CvEconomicAIStrategyXMLEntry* self, Database::Results& kResults, CvDatabaseUtility& kUtility);CivRegisterBefore<CivHooks::CvEconomicAIStrategyXMLEntry_CacheResults>(host, &BeforeCvEconomicAIStrategyXMLEntry_CacheResults);CivRegisterAfter<CivHooks::CvEconomicAIStrategyXMLEntry_CacheResults>(host, &AfterCvEconomicAIStrategyXMLEntry_CacheResults);CivRegisterReplace<CivHooks::CvEconomicAIStrategyXMLEntry_CacheResults>(host, &ReplaceCvEconomicAIStrategyXMLEntry_CacheResults);
Code
53bool CvEconomicAIStrategyXMLEntry::CacheResults(Database::Results& kResults, CvDatabaseUtility& kUtility)54{55 if(!CvBaseInfo::CacheResults(kResults, kUtility))56 return false;5758 //Basic Properties59 m_bNoMinorCivs = kResults.GetBool("NoMinorCivs");60 m_iCheckTriggerTurnCount = kResults.GetInt("CheckTriggerTurnCount");61 m_iMinimumNumTurnsExecuted = kResults.GetInt("MinimumNumTurnsExecuted");62 m_iWeightThreshold = kResults.GetInt("WeightThreshold");63 m_iFirstTurnExecuted = kResults.GetInt("FirstTurnExecuted");6465 const char* strAdvisor = kResults.GetText("Advisor");66 m_eAdvisor = NO_ADVISOR_TYPE;67 if(strAdvisor)68 {69 if(strcmp(strAdvisor, "MILITARY") == 0)70 {71 m_eAdvisor = ADVISOR_MILITARY;72 }73 else if(strcmp(strAdvisor, "ECONOMIC") == 0)74 {75 m_eAdvisor = ADVISOR_ECONOMIC;76 }77 else if(strcmp(strAdvisor, "FOREIGN") == 0)78 {79 m_eAdvisor = ADVISOR_FOREIGN;80 }81 else if(strcmp(strAdvisor, "SCIENCE") == 0)82 {83 m_eAdvisor = ADVISOR_SCIENCE;84 }85 }8687 m_strAdvisorCounselText = kResults.GetText("AdvisorCounsel");88 m_iAdvisorCounselImportance = kResults.GetInt("AdvisorCounselImportance");8990 //References91 const char* szTextVal = NULL;92 szTextVal = kResults.GetText("TechPrereq");93 m_iTechPrereq = GC.getInfoTypeForString(szTextVal, true);9495 szTextVal = kResults.GetText("TechObsolete");96 m_iTechObsolete = GC.getInfoTypeForString(szTextVal, true);9798 //Arrays99 //Arrays100 const char* szType = GetType();101 kUtility.SetFlavors(m_piPlayerFlavorValue, "AIEconomicStrategy_Player_Flavors",102 "AIEconomicStrategyType", szType);103 kUtility.SetFlavors(m_piCityFlavorValue, "AIEconomicStrategy_City_Flavors",104 "AIEconomicStrategyType", szType);105106107 kUtility.SetFlavors(m_piPersonalityFlavorThresholdMod,108 "AIEconomicStrategy_PersonalityFlavorThresholdMods",109 "AIEconomicStrategyType", szType);110111 return true;112}