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