GE Lua Documentation

Press F to search!

createTimeslipData

Definition


-- @/lua/ge/extensions/gameplay/drag/general.lua:634

local function createTimeslipData()
  if not dragData or not next(dragData) then
    log("E", logTag, "No drag data found, cannot create timeslip data")
    return
  end

  local rawData = {}

  rawData.stripInfo = {
    stripName = dragData.stripInfo and dragData.stripInfo.stripName or "Drag Strip",
    levelName = core_levels.getLevelByName(getCurrentLevelIdentifier()).title,
    dateTime = os.date(dragData.stripInfo and dragData.stripInfo.dateFormat or "%a %m/%d/%Y %I:%M:%S %p"),
    tree = treeNames[dragData.prefabs.christmasTree.treeType],
  }
  rawData.env = {
    tempK = core_environment.getTemperatureK(),
    tempC = core_environment.getTemperatureK() - 273.15,
    tempF = (core_environment.getTemperatureK() - 273.15) * (9/5) + 32,
    customGrav = math.abs(core_environment.getGravity() - 9.81) > 0.01,
    gravity = string.format("%0.2f m/s²", math.abs(core_environment.getGravity())),
  }
  rawData.dragType = dragData.dragType

  rawData.racerInfos = {}
  for id, racer in pairs(dragData.racers) do
    local currentVehicle = core_vehicles.getVehicleDetails(id)
    local vehicleConfig = currentVehicle.configs

    local timers = {}
    for _, timeLabel in ipairs(timerKeys) do
      timers[timeLabel] = string.format("%0.3f", racer.timers[timeLabel].value)
    end
    local velocities = {}
    for _, velLabel in ipairs(velocityKeys) do
      velocities[velLabel..'_km/h'] = string.format("%0.3f", racer.timers[velLabel].value * 3.6)
      velocities[velLabel..'_mph'] = string.format("%0.3f", racer.timers[velLabel].value * 2.23694)
    end

    local info = {
      name = racer.niceName,
      stock = racer.stock and "Stock" or "Modified",
      licenseText = racer.licenseText,
      lane = dragData.strip.lanes[racer.lane].longName,
      laneNum = racer.lane,
      finalTime = racer.timers.time_1_4.value,
      rewards = M.setCareerRewrads() or {},
      dialDiff = (racer.timers.time_1_4.value + racer.timers.reactionTime.value) - racer.timers.dial.value,
      disqualification = racer.isDesqualified,
      brand = currentVehicle.model.Brand or "Unknown",
      country = currentVehicle.model.Country or "Unknown",
      drivetrain = vehicleConfig.Drivetrain or "Unknown",
      fuelType = vehicleConfig["Fuel Type"] or "Unknown",
      transmission = vehicleConfig.Transmission or "Unknown",
      configType = vehicleConfig["Config Type"] or "Unknown",
      inductionType = vehicleConfig["Induction Type"] or "Unknown",
      timers = timers,
      velocities = velocities
    }
    table.insert(rawData.racerInfos, info)
  end
  table.sort(rawData.racerInfos, function(a,b) return a.laneNum > b.laneNum end)
  return rawData
end

Callers

@/lua/ge/extensions/gameplay/drag/general.lua
local function createTimeslipPanelData()
  local slip = M.createTimeslipData()
  local ret = {}
local function sendTimeslipDataToUi()
  local slipData = M.createTimeslipData()
@/lua/ge/extensions/gameplay/drag/dragBridge.lua
M.createTimeslipData = function()
  return gameplay_drag_general.createTimeslipData()
end
@/lua/ge/extensions/flowgraph/nodes/ui/updatedUI/endScreenTimeSlip.lua
  -- add it to the layout
  local slipData = gameplay_drag_general.createTimeslipData()
  --dump(dragData)