saveCheckpoint
Definition
-- @/lua/ge/extensions/core/checkpoints.lua:25
local function saveCheckpoint(vehicleId, vehicleName, cpData)
local vehicle = getObjectByID(vehicleId)
if not vehicle then
log('I', logTag,'saveCheckpoint could not find vehicle: '..vehicleName)
return
end
-- log('I', logTag,'saving point for '..vehicleName)
local vehicleCheckpoints = M.state.vehicleCheckpoints
if not vehicleCheckpoints[vehicleId] then
vehicleCheckpoints[vehicleId] = {}
end
if not vehicleName then
vehicleName = 'unnamed_'..vehicleId
end
vehicleCheckpoints[vehicleId].vehicleName = vehicleName
vehicleCheckpoints[vehicleId].checkTimer = 0
vehicleCheckpoints[vehicleId].pos = (cpData and vec3(cpData.desiredPos)) or vehicle:getPosition()
vehicleCheckpoints[vehicleId].dirVec = (cpData and vec3(cpData.desiredDir)) or vehicle:getDirectionVector()
vehicleCheckpoints[vehicleId].upVec = vehicle:getDirectionVectorUp()
vehicleCheckpoints[vehicleId].currentWpName = cpData and cpData.currentWpName
vehicleCheckpoints[vehicleId].currentWpIndex = cpData and cpData.currentWpIndex
vehicleCheckpoints[vehicleId].nextWpIndex = cpData and cpData.nextWpIndex
-- dump(vehicleCheckpoints[vehicleId])
end
Callers
@/lua/ge/extensions/core/checkpoints.lua
local vehName = vehicle:getField('name', '')
saveCheckpoint(vehicleId, vehName)
state.vehicleCheckpoints[vehicleId].initialPos = state.vehicleCheckpoints[vehicleId].pos
cpData.nextWpIndex = data.next
saveCheckpoint(data.vehicleId, data.vehicleName, cpData)
@/lua/ge/extensions/campaign/exploration.lua
local vehicle = getObjectByID(vid)
core_checkpoints.saveCheckpoint(vid, vehicle:getField('name', ''), lastRampTriggerPos)
log('I', logTag, 'Set checkpoint to ramp: ' .. data.rampName)