GE Lua Documentation

Press F to search!

onGameplaySelectorGetTiles

Definition


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

local function onGameplaySelectorGetTiles(items)
  for _, level in ipairs(core_levels.getList()) do
    local defaultSpawnPointCount = 0
    for idx, spawnPoint in ipairs(level.spawnPoints) do
      local name = spawnPoint.translationId or spawnPoint.name or spawnPoint.objectname or "Unnamed Spawnpoint"
      name = translate(name)
      if level.title then
        local levelTitle = level.title
        levelTitle = translate(levelTitle)
        name = string.format("%s (%s)", name, levelTitle)
      end
      local item = {
        name = name,
        preview = spawnPoint.previews and spawnPoint.previews[1] or nil,
        order = idx,
        favouriteIdx = 0,
        showFavouriteIconPercent = 0,
        --gotoPath = {"spawnPoints", "spawnPoint_" .. name},
        isDefaultSpawnPoint = spawnPoint.flag == "default" or spawnPoint.objectname == level.defaultSpawnPointName,

        showDetails = {levelName = level.levelName, spawnPointObjectName = spawnPoint.objectname},
        doubleClickDetails = {levelName = level.levelName, spawnPointObjectName = spawnPoint.objectname},

        system = "Freeroam",
        type = "Freeroam Spawnpoint",
        levelName = level.levelName,
        isAuxiliary = level.isAuxiliary,
        sourceIcons = {},
        validBackends = {freeroamSelector = true, gameplaySelector = false},
        filterHook = "onFilterCustomLevelTiles"
      }
      defaultSpawnPointCount = defaultSpawnPointCount + (item.isDefaultSpawnPoint and 1 or 0)
      item.key = getKeyFromDetails(item.showDetails)
      item.showDetails.key = item.key
      item.doubleClickDetails.key = item.key
      if level.official then
        table.insert(item.sourceIcons, {icon = "beamNG"})
      end
      if level.authors == "BeamNG & Camshaft Software" then
        table.insert(item.sourceIcons, {svg = "/ui/assets/Original/camshaft_automation_logo.svg"})
      end
      if level.isAuxiliary then
        table.insert(item.sourceIcons, {icon = "bug"})
      end
      item.level = translate(level.title)
      table.insert(items, item)
    end
    if defaultSpawnPointCount > 1 then
      log("E", "levelTiles", string.format("Default spawnpoint count is greater than 1 for level %s", level.levelName))
    end
  end
end

Callers

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

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