Bazaar developer reference

CultureHelpers::GetGreatWorkSlot(GreatWorkType)

Defined in
CvCultureClasses.cpp, line 5577
Hook name
CivHooks::CultureHelpers_GetGreatWorkSlot

Hooks

static bool BeforeCultureHelpers_GetGreatWorkSlot(GreatWorkType eType, GreatWorkSlotType& result);static void AfterCultureHelpers_GetGreatWorkSlot(GreatWorkType eType, GreatWorkSlotType& result);static GreatWorkSlotType ReplaceCultureHelpers_GetGreatWorkSlot(GreatWorkSlotType (*original)(GreatWorkType), GreatWorkType eType);CivRegisterBefore<CivHooks::CultureHelpers_GetGreatWorkSlot>(host, &BeforeCultureHelpers_GetGreatWorkSlot);CivRegisterAfter<CivHooks::CultureHelpers_GetGreatWorkSlot>(host, &AfterCultureHelpers_GetGreatWorkSlot);CivRegisterReplace<CivHooks::CultureHelpers_GetGreatWorkSlot>(host, &ReplaceCultureHelpers_GetGreatWorkSlot);

Code

5577GreatWorkSlotType CultureHelpers::GetGreatWorkSlot(GreatWorkType eType)5578{5579	GreatWorkSlotType eSlot = NO_GREAT_WORK_SLOT;5580	Database::Connection* db = GC.GetGameDatabase();5581	if(db != NULL)5582	{5583		const char* szSQL = "SELECT GreatWorkSlots.ID from GreatWorks "5584							"inner join GreatWorkClasses  on GreatWorks.GreatWorkClassType == GreatWorkClasses .Type "5585							"inner join GreatWorkSlots on GreatWorkClasses.SlotType == GreatWorkSlots.Type where GreatWorks .ID = ? LIMIT 1";55865587		Database::Results kResults;5588		if(db->Execute(kResults, szSQL))5589		{5590			kResults.Bind(1, eType);55915592			if(kResults.Step())5593			{5594				eSlot = static_cast<GreatWorkSlotType>(kResults.GetInt(0));5595			}5596		}5597	}55985599	return eSlot;5600}

Calls

Called by