GE Lua Documentation

Press F to search!

formatStars

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)