g_PanelHasFocus = false
g_SelectedPlayer = -1
efn_OnlyRevealedResources = true
efn_OnlyRevealedPlots = true
efn_ResourceNames = {}
efn_ResourceDataByName = {}
efn_ResourcesToLocateList = {}
efn_ResourcePinData = {}
-------------------------------------------------------------------------------
function efn_IsResourceRevealed(resName, player)
-- Function returns true iff the specified resource has been revealed to the specified player
print("efn_ResourceRevealed entered")
local idxTech, idxCivic, techRevealed, civicRevealed
local resource = efn_ResourceDataByName[resName]
idxTech = resource.IndexPrereqTech
idxCivic = resource.IndexPrereqCivic
techRevealed = (idxTech == -1) or player:GetTechs():HasTech(idxTech)
civicRevealed = (idxCivic == -1) or player:GetCulture():HasCivic(idxCivic)
return techRevealed and civicRevealed
end
function efn_Initialize()
print("_TunerResourcePanel loading")
local resource, resourceName, prereqTech, idxPrereqTech, prereqCivic, idxPrereqCivic
for resource in GameInfo.Resources() do
resourceName = string.gsub(resource.ResourceType, "RESOURCE_", "")
table.insert(efn_ResourceNames, resourceName)
prereqTech = resource.PrereqTech
idxPrereqTech = -1; if prereqTech then idxPrereqTech = GameInfo.Technologies[prereqTech].Index end
prereqCivic = resource.PrereqCivic
idxPrereqCivic = -1; if prereqCivic then idxPrereqCivic = GameInfo.Civics[prereqCivic].Index end
efn_ResourceDataByName[resourceName] = {Index = resource.Index, IndexPrereqTech = idxPrereqTech, IndexPrereqCivic = idxPrereqCivic}
end
print("Initialized Resource Data Lists:")
print("\tCount\t\tName\t\tIndex\tIndexReqTech\t\tIndexReqCivic")
local idxRes, resourceData
for idxRes, resourceName in ipairs(efn_ResourceNames) do
resourceData = efn_ResourceDataByName[resourceName]
print("\t" .. idxRes .. "\t" .. resourceName .. "\t" .. resourceData.Index .. "\t" .. resourceData.IndexPrereqTech .. "\t" .. resourceData.IndexPrereqCivic)
end
print("**********************************")
end
efn_Initialize()