onGameplaySelectorGetDetails
Definition
-- @/lua/ge/extensions/ui/gameplaySelector/tileGenerators/missionTiles.lua:182
local function onGameplaySelectorGetDetails(itemDetails, details, buttonInstance, backend)
local missionId = itemDetails.missionId
if not missionId then
return
end
local mission = gameplay_missions_missions.getMissionById(missionId)
if not mission then
return
end
local data = {
headerTitle = translate(mission.name),
description = translate(mission.description or ""),
preview = mission.previewFile,
isFavourite = backend.isFavourite(getKeyFromDetails(itemDetails)),
specifications = generateMissionSpecifications(mission),
tags = {},
buttonInfo = {}
}
if buttonInstance and backend then
table.insert(data.buttonInfo,
buttonInstance.addButton(function()
-- Track recent usage
backend.trackRecent(itemDetails.key)
-- Start mission
gameplay_missions_missionManager.startWithLoadingLevel(mission)
end, {
label = "Start Mission",
icon = "play",
primary = true,
isDoubleClickAction = true,
waitForLoadingScreen = true,
})
)
end
-- Add tags for all sourceIcons
if mission.official then
table.insert(data.tags, {icon = "beamNG", label = "BeamNG - Official"})
end
if mission.devMission then
table.insert(data.tags, {icon = "bug", label = "Auxiliary"})
end
local isCareerOnly = mission.careerSetup and mission.careerSetup.showInCareer and not mission.careerSetup.showInFreeroam
if isCareerOnly then
table.insert(data.tags, {icon = "cup", label = "Career Only"})
end
-- Add mod information tags
if mission.modID then
local mod = core_modmanager.getModNameFromID(mission.modID)
if mod then
table.insert(data.tags, {icon = "puzzleModule", label = mission.modTitle or mission.modName, goToMod = mod.modID})
end
end
-- Add mission type tag
if mission.missionType and mission.missionType ~= "flowgraph" then
table.insert(data.tags, {icon = "markerTriangleBack", label = translate(mission.missionTypeLabel or mission.missionType)})
end
table.insert(details, data)
end
Callers
@/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/scenarioTiles.lua
local function onGameplaySelectorGetDetails(itemDetails, details, buttonInstance, backend)
local scenarioSourceFile = itemDetails.scenarioSourceFile
@/lua/ge/extensions/ui/gameplaySelector/tileGenerators/campaignTiles.lua
local function onGameplaySelectorGetDetails(itemDetails, details, buttonInstance, backend)
local campaignSourceFile = itemDetails.campaignSourceFile
@/lua/ge/extensions/ui/gameplaySelector/tileGenerators/levelTiles.lua
local function onGameplaySelectorGetDetails(itemDetails, details, buttonInstance, backend)
local levelName, spawnPointObjectName = itemDetails.levelName, itemDetails.spawnPointObjectName