Hooks
static bool BeforeCvMultiUnitFormationInfo_CacheResults(CvMultiUnitFormationInfo* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static void AfterCvMultiUnitFormationInfo_CacheResults(CvMultiUnitFormationInfo* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static bool ReplaceCvMultiUnitFormationInfo_CacheResults(bool (*original)(CvMultiUnitFormationInfo*, Database::Results&, CvDatabaseUtility&), CvMultiUnitFormationInfo* self, Database::Results& kResults, CvDatabaseUtility& kUtility);CivRegisterBefore<CivHooks::CvMultiUnitFormationInfo_CacheResults>(host, &BeforeCvMultiUnitFormationInfo_CacheResults);CivRegisterAfter<CivHooks::CvMultiUnitFormationInfo_CacheResults>(host, &AfterCvMultiUnitFormationInfo_CacheResults);CivRegisterReplace<CivHooks::CvMultiUnitFormationInfo_CacheResults>(host, &ReplaceCvMultiUnitFormationInfo_CacheResults);
Code
1552bool CvMultiUnitFormationInfo::CacheResults(Database::Results& kResults, CvDatabaseUtility& kUtility)1553{1554 if(!CvBaseInfo::CacheResults(kResults, kUtility))1555 return false;15561557 m_strFormationName = kResults.GetText("Name");1558 m_bRequiresNavalUnitConsistency = kResults.GetBool("RequiresNavalUnitConsistency");15591560 //Slot entries1561 {1562 Database::Results kSlotEntries;1563 if(DB.SelectAt(kSlotEntries, "MultiUnitFormation_SlotEntries", "MultiUnitFormationType", GetType()))1564 {1565 while(kSlotEntries.Step())1566 {1567 CvFormationSlotEntry slotEntry;15681569 //Basic Properties1570 slotEntry.m_requiredSlot = kSlotEntries.GetBool("RequiredSlot");15711572 //References1573 const char* szTextVal = NULL;1574 szTextVal = kSlotEntries.GetText("MultiUnitPositionType");1575 slotEntry.m_ePositionType = (MultiunitPositionTypes)GC.getInfoTypeForString(szTextVal, true);15761577 szTextVal = kSlotEntries.GetText("PrimaryUnitType");1578 slotEntry.m_primaryUnitType = GC.getInfoTypeForString(szTextVal, true);15791580 szTextVal = kSlotEntries.GetText("SecondaryUnitType");1581 slotEntry.m_secondaryUnitType = GC.getInfoTypeForString(szTextVal, true);15821583 m_vctSlotEntries.push_back(slotEntry);1584 }1585 }1586 }15871588 return true;1589}