Definition
-- @/lua/ge/extensions/gameplay/markerInteraction.lua:66
M.formatMission = function(m)
local info = {
id = m.id,
name = m.name,
description = m.description,
preview = m.previewFile,
missionTypeLabel = m.missionTypeLabel or mission.missionType,
userSettings = m:getUserSettingsData() or {},
defaultUserSettings = m.defaultUserSettings or {},
additionalAttributes = {},
progress = m.saveData.progress,
currentProgressKey = m.currentProgressKey or m.defaultProgressKey,
unlocks = m.unlocks,
hasUserSettingsUnlocked = gameplay_missions_progress.missionHasUserSettingsUnlocked(m.id),
devMission = m.devMission,
tutorialActive = (career_modules_linearTutorial and career_modules_linearTutorial.isLinearTutorialActive()) or nil,
}
info.hasUserSettings = #info.userSettings > 0
local additionalAttributes, additionalAttributesSortedKeys = gameplay_missions_missions.getAdditionalAttributes()
for _, attKey in ipairs(additionalAttributesSortedKeys) do
local att = additionalAttributes[attKey]
local mAttKey = m.additionalAttributes[attKey]
local val
if type(mAttKey) == 'string' then
val = att.valuesByKey[m.additionalAttributes[attKey]]
elseif type(mAttKey) == 'table' then
val = m.additionalAttributes[attKey]
end
if val then
table.insert(info.additionalAttributes, {
icon = att.icon or "",
labelKey = att.translationKey,
valueKey = val.translationKey
})
end
end
for _, customAtt in ipairs(m.customAdditionalAttributes or {}) do
table.insert(info.additionalAttributes, customAtt)
end
info.formattedProgress = gameplay_missions_progress.formatSaveDataForUi(m.id)
info.leaderboardKey = m.defaultLeaderboardKey or 'recent'
--info.gameContextUiButtons = {}
info.gameContextUiButtons = m.getGameContextUiButtons and m:getGameContextUiButtons()
return info
end
Callers
@/lua/ge/extensions/gameplay/missions/missionScreen.lua
-- formats a single mission.
local function formatMission(m)
local previewFile = m.previewFile
if m.missionId then
table.insert(dataToSend, M.formatMission(gameplay_missions_missions.getMissionById(m.missionId)))
end
for _, m in ipairs(gameplay_missions_missions.get()) do
--table.insert(dataToSend, M.formatMission(gameplay_missions_missions.getMissionById(m.id)))
end
context = 'ongoingMission',
missions = {M.formatMission(activeMission)},
preselectedMissionId = gameplay_missions_missionManager.getForegroundMissionId(),
for _, id in ipairs(openMenuWithCustomMissionList) do
table.insert(missions, M.formatMission(gameplay_missions_missions.getMissionById(id)))
end
@/lua/ge/extensions/gameplay/markerInteraction.lua
if m.missionId then
table.insert(dataToSend, M.formatMission(gameplay_missions_missions.getMissionById(m.missionId)))
end
@/lua/ge/extensions/career/modules/branches/landing.lua
local m = gameplay_missions_missions.getMissionById(mId)
league.missions[i] = M.formatMission(m)
if league.isCertification then
@/lua/ge/extensions/flowgraph/modules/uiModule.lua
local m = gameplay_missions_missions.getMissionById(mId)
league.missions[i] = formatMission(m)
end
local m = gameplay_missions_missions.getMissionById(elem.id)
elem.formatted = formatMission(m)
if m.startCondition.type == "league" then