GE Lua Documentation

Press F to search!

onGameplaySelectorGetDetails

Definition


-- @/lua/ge/extensions/ui/gameplaySelector/tileGenerators/campaignTiles.lua:123

local function onGameplaySelectorGetDetails(itemDetails, details, buttonInstance, backend)
  local campaignSourceFile = itemDetails.campaignSourceFile
  if not campaignSourceFile then
    return
  end
  local campaign = campaign_campaignsLoader.loadCampaign(campaignSourceFile)
  if not campaign then
    return
  end

  local data = {
    headerTitle = translate(campaign.title),
    description = translate(campaign.description),
    preview = campaign.previews and campaign.previews[1] or nil,
    isFavourite = backend.isFavourite(getKeyFromDetails(itemDetails)),
    specifications = generateCampaignSpecifications(campaign),
    tags = {},
    buttonInfo = {
      buttonInstance.addButton(function()
        -- Track recent usage
        backend.trackRecent(itemDetails.key)
        -- Start campaign
        campaign_campaignsLoader.start(campaign)
      end, {
        label = "Start Campaign",
        icon = "clapperboard",
        primary = true,
        isDoubleClickAction = true,
        waitForLoadingScreen = true,
      })
    }
  }

  -- Add tags for all sourceIcons
  if campaign.official then
    table.insert(data.tags, {icon = "beamNG", label = "BeamNG - Official"})
  end
  if campaign.isAuxiliary then
    table.insert(data.tags, {icon = "bug", label = "Auxiliary"})
  end

  -- Add mod information tags
  if campaign.modID then
    local mod = core_modmanager.getModNameFromID(campaign.modID)
    if mod then
      table.insert(data.tags, {icon = "puzzleModule", label = campaign.modTitle or campaign.modName, goToMod = mod.modID})
    end
  end
  table.insert(details, data)
end

Callers

@/lua/ge/extensions/ui/gameplaySelector/tileGenerators/scenarioTiles.lua

local function onGameplaySelectorGetDetails(itemDetails, details, buttonInstance, backend)
  local scenarioSourceFile = itemDetails.scenarioSourceFile
@/lua/ge/extensions/ui/gameplaySelector/tileGenerators/levelTiles.lua

local function onGameplaySelectorGetDetails(itemDetails, details, buttonInstance, backend)
  local levelName, spawnPointObjectName = itemDetails.levelName, itemDetails.spawnPointObjectName
@/lua/ge/extensions/ui/gameplaySelector/tileGenerators/missionTiles.lua

local function onGameplaySelectorGetDetails(itemDetails, details, buttonInstance, backend)
  local missionId = itemDetails.missionId
@/lua/ge/extensions/freeroam/freeroamConfigurator.lua
  local success = pcall(function()
    ui_gameplaySelector_tileGenerators_levelTiles.onGameplaySelectorGetDetails(
      {levelName = levelName, spawnPointObjectName = spawnPointName},