addRecord
Definition
-- @/lua/ge/extensions/gameplay/speedTrapLeaderboards.lua:58
local function addRecord(speedTrapData, playerSpeed, overSpeed, veh)
local currentLevel = getCurrentLevelIdentifier()
if not leaderboards[currentLevel] then
leaderboards[currentLevel] = {}
end
if not leaderboards[currentLevel][speedTrapData.triggerName] then
leaderboards[currentLevel][speedTrapData.triggerName] = {}
end
local speedTrapLeaderboard = leaderboards[currentLevel][speedTrapData.triggerName]
-- if there is enough room still, add the current record
if tableSizeC(speedTrapLeaderboard) < leaderboardSize then
table.insert(speedTrapLeaderboard, createEntry(playerSpeed, overSpeed, veh))
table.sort(speedTrapLeaderboard, function(a, b) return a.speed > b.speed end)
dirtyLevels[currentLevel] = true
-- if the list is already full, check if the current record is faster than the slowest one
elseif playerSpeed > speedTrapLeaderboard[leaderboardSize].speed then
speedTrapLeaderboard[leaderboardSize] = createEntry(playerSpeed, overSpeed, veh)
table.sort(speedTrapLeaderboard, function(a, b) return a.speed > b.speed end)
dirtyLevels[currentLevel] = true
end
if playerSpeed >= speedTrapLeaderboard[1].speed then
return true, speedTrapLeaderboard
end
return false, speedTrapLeaderboard
end
Callers
@/inspector/Models/MemoryTimeline.js
addRecord(record, options = {})
{
super.addRecord(record, options);
}
@/inspector/Models/TimelineRecording.js
if (record) {
recording.addRecord(record);
addRecord(record)
{
// Add the record to the global timeline by type.
timeline.addRecord(record, {discontinuity});
sourceCodeTimeline.addRecord(record);
@/inspector/Models/Timeline.js
addRecord(record, options = {})
{
@/inspector/Models/NetworkTimeline.js
addRecord(record, options = {})
{
super.addRecord(record, options);
}
@/inspector/Controllers/TimelineManager.js
{
this._activeRecording.addRecord(record);
@/inspector/Models/CPUTimeline.js
addRecord(record, options = {})
{
super.addRecord(record, options);
}
@/lua/ge/extensions/career/modules/speedTraps.lua
local highscore, leaderboard = gameplay_speedTrapLeaderboards.addRecord(speedTrapData, playerSpeed, overSpeed, veh)
@/lua/ge/extensions/freeroam/freeroam.lua
local veh = getPlayerVehicle(0)
local highscore, leaderboard = gameplay_speedTrapLeaderboards.addRecord(speedTrapData, playerSpeed, overSpeed, veh)
ui_message({txt="ui.freeroam.speedTrap.speedingMessage", context={licensePlate = core_vehicles.getVehicleLicenseText(veh), recordedSpeed = playerSpeed, speedLimit = speedTrapData.speedLimit}}, 10, 'speedTrap')