Definition
-- @/lua/ge/extensions/gameplay/missions/progress.lua:1492
local function formatStars(mission)
if--[[ not career_career or not career_career.isActive() or ]]not mission.saveData.unlockedStars
or not mission.careerSetup.starsActive or not next(mission.careerSetup.starsActive) then
return {
disabled = true
}
end
-- get a list of all stars, sorted according to
local starKeys, defaultCache = mission.careerSetup._activeStarCache.sortedStars, mission.careerSetup._activeStarCache.defaultStarKeysByKey
local defaultStarKeysToIndex = mission.careerSetup._activeStarCache.defaultStarKeysToIndex
local unlockedStarsFormatted = {stars = {}, totalStars = #starKeys}
local totalUnlockedStarCount = 0
local defaultUnlockedStarCount, totalDefaultStarCount = 0,0
local bonusUnlockedStarCount, totalBonusStarCount = 0,0
local defaults, bonus = {},{}
for i, key in ipairs(starKeys) do
local count = mission.saveData.unlockedStars[key] or 0
local label = mission.starLabels[key] or "Missing Star Description"
if type(label) == "string" then
label = {
txt = label,
context = tryBuildContext(mission.starLabels[key], mission.missionTypeData),
}
elseif type(label) == "function" then
label = label(mission)
end
local elem = {
key = key,
label = label,
rewards = career_career.isActive() and mission.careerSetup._activeStarCache.sortedStarRewardsByKey[key] or {},
unlocked = count > 0,
isDefaultStar = defaultCache[key] and true or false,
defaultStarIndex = defaultStarKeysToIndex[key] or false,
globalStarIndex = i,
count = count,
}
totalUnlockedStarCount = totalUnlockedStarCount + (elem.unlocked and 1 or 0)
totalDefaultStarCount = totalDefaultStarCount + (elem.isDefaultStar and 1 or 0)
defaultUnlockedStarCount = defaultUnlockedStarCount + (elem.unlocked and elem.isDefaultStar and 1 or 0)
totalBonusStarCount = totalBonusStarCount + ((not elem.isDefaultStar) and 1 or 0)
bonusUnlockedStarCount = bonusUnlockedStarCount + (elem.unlocked and (not elem.isDefaultStar) and 1 or 0)
table.insert(defaultCache[key] and defaults or bonus, elem.unlocked)
table.insert(unlockedStarsFormatted.stars, elem)
end
unlockedStarsFormatted.totalUnlockedStarCount = totalUnlockedStarCount
unlockedStarsFormatted.defaultUnlockedStarCount = defaultUnlockedStarCount
unlockedStarsFormatted.totalDefaultStarCount = totalDefaultStarCount
unlockedStarsFormatted.bonusUnlockedStarCount = bonusUnlockedStarCount
unlockedStarsFormatted.totalBonusStarCount = totalBonusStarCount
unlockedStarsFormatted.defaults = defaults
unlockedStarsFormatted.bonus = bonus
return unlockedStarsFormatted
end
Callers
@/lua/ge/extensions/flowgraph/nodes/ui/startScreen.lua
data.leaderboardKey = self.mgr.activity.defaultLeaderboardKey or 'recent'
data.formattedStars = gameplay_missions_progress.formatStars(self.mgr.activity)
end
@/lua/ge/extensions/flowgraph/nodes/ui/endScreen.lua
end
missionData.formattedStars = gameplay_missions_progress.formatStars(self.mgr.activity)
@/lua/ge/extensions/gameplay/missions/progress.lua
formattedProgressByKey = formattedProgressByKey,
unlockedStars = formatStars(mission)
}
ret.unlockedStars = formatStars(mission)
@/lua/ge/extensions/flowgraph/modules/uiModule.lua
local activeRewards = gameplay_missions_missionScreen.getActiveStarsForUserSettings(mission.id, unflattenedSettings)
local stars = gameplay_missions_progress.formatStars(mission).stars or {}
local anyVisible = false
@/lua/ge/extensions/flowgraph/nodes/ui/missionEndScreen.lua
end
missionData.formattedStars = gameplay_missions_progress.formatStars(self.mgr.activity)