loadCampaign
Definition
-- @/lua/ge/extensions/campaign/campaignsLoader.lua:12
local function loadCampaign(campaignfile)
-- log('D', logTag, 'loading campaign : ' .. campaignfile)
--TODO(AK): add code to validate that this campaign is valid
local campaign = jsonReadFile(campaignfile)
campaign.sourceFile = string.gsub(campaignfile, "(.*:)(.*)", "%2")
campaign.sourcePath = string.gsub(campaignfile, "(.*)/(.*)", "%1")
campaign.official = isOfficialContentVPath(campaign.sourcePath)
-- add mod information
local mod = extensions.core_modmanager.getModFromPath(campaignfile, true)
if mod then
campaign.modID = mod.modID
campaign.modName = mod.modname
if mod.modData and mod.modData.title then
campaign.modTitle = mod.modData.title
end
else
campaign.modID = nil
campaign.modName = 'BeamNG'
campaign.modTitle = 'BeamNG.drive'
end
local index = string.find(campaign.sourcePath, "/[^/]*$") + 1
-- todo: insert all images of the scenarios belong to this as well
campaign.previews = {
imageExistsDefault(campaign.sourcePath..'/'..campaign.sourcePath:sub(index)..'.jpg')
}
--dump(campaign)
return campaign
end
Callers
@/lua/ge/extensions/campaign/campaigns.lua
-- --load the campaign in the data
-- local campaignToStart = loadCampaign(data.sourceFile)
-- -- dump(campaignToStart)
@/lua/ge/extensions/campaign/campaignsLoader.lua
for _,campaignfile in pairs(campaignInfofiles) do
local entry = loadCampaign(campaignfile)
if entry then
@/lua/ge/extensions/ui/gameplaySelector/tileGenerators/campaignTiles.lua
end
local campaign = campaign_campaignsLoader.loadCampaign(campaignSourceFile)
if not campaign then