GE Lua Documentation

Press F to search!

onGameplaySelectorGetTiles

Definition


-- @/lua/ge/extensions/ui/gameplaySelector/tileGenerators/missionTiles.lua:8

local function onGameplaySelectorGetTiles(items, backend)
  if backend.backendName == "gameplaySelector" then
    for _, mission in ipairs(gameplay_missions_missions.get()) do
      local isCareerOnly = mission.careerSetup and mission.careerSetup.showInCareer and not mission.careerSetup.showInFreeroam

      local item =  {
        name = mission.name,
        preview = mission.previewFile,
        favouriteIdx = 0,
        showFavouriteIconPercent = 0,
        showDetails = {missionId = mission.id},

        system = "Challenges",
        missionType = mission.missionType,
        missionTypeLabel = mission.missionTypeLabel,
        type = translate(mission.missionTypeLabel),
        sourceIcons = {},
        isAuxiliary = mission.devMission,
        isCareerOnly = isCareerOnly, -- Add flag for filtering
        order = isCareerOnly and mission.unlocks.depth or -(mission.date or 0),
        validBackends = {gameplaySelector = true},
        date = mission.date,
      }
      item.key = getKeyFromDetails(item.showDetails)
      item.showDetails.key = item.key

      item.name = item.name or "Unnamed Mission"
      item.name = translate(item.name)
      if mission.startTrigger.type == "coordinates" then
        item.level = mission.startTrigger.level
      elseif mission.startTrigger.type == "level" then
        item.level = mission.startTrigger.level
      end
      if item.level then
        item.level = core_levels.getLevelTitle(item.level) or "Other..."
        item.level = translate(item.level)
      end
      if mission.official then
        table.insert(item.sourceIcons, {icon = "beamNG"})
      end
      if mission.devMission then
        table.insert(item.sourceIcons, {icon = "bug"})
      end
      if isCareerOnly then
        table.insert(item.sourceIcons, {icon = "cup"})
      end
      table.insert(items, item)
    end
  end

  table.insert(items, {
    name = "More Missions...",
    system = "Other Gameplay",
    key = "moreMissions",
    order = 100,
    isLegacy = true,
    validBackends = {}
  })
end

Callers

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

local function onGameplaySelectorGetTiles(items)
  for _, level in ipairs(core_levels.getList()) do
@/lua/ge/extensions/ui/gameplaySelector/tileGenerators/campaignTiles.lua

local function onGameplaySelectorGetTiles(items, backend)
  if backend.backendName == "gameplaySelector" then
@/lua/ge/extensions/ui/gameplaySelector/tileGenerators/scenarioTiles.lua

local function onGameplaySelectorGetTiles(items, backend)
  if backend.backendName == "gameplaySelector" then