GE Lua Documentation

Press F to search!

onGameplaySelectorGetDetails

Definition


-- @/lua/ge/extensions/ui/gameplaySelector/tileGenerators/scenarioTiles.lua:144

local function onGameplaySelectorGetDetails(itemDetails, details, buttonInstance, backend)
  local scenarioSourceFile = itemDetails.scenarioSourceFile
  if not scenarioSourceFile then
    return
  end
  local scenario = scenario_scenariosLoader.loadScenario(scenarioSourceFile)
  if not scenario then
    return
  end

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

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

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

Callers

@/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},
@/lua/ge/extensions/ui/gameplaySelector/tileGenerators/campaignTiles.lua

local function onGameplaySelectorGetDetails(itemDetails, details, buttonInstance, backend)
  local campaignSourceFile = itemDetails.campaignSourceFile