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)