convertLegacyData
Definition
-- @/lua/ge/extensions/gameplay/drag/saveSystem.lua:200
M.convertLegacyData = function(legacyData)
if not legacyData then
log('E', logTag, 'No legacy data to convert')
return nil
end
local convertedData = {
strip = {
id = legacyData.stripInfo and legacyData.stripInfo.id or "legacy_strip",
name = legacyData.stripInfo and legacyData.stripInfo.stripName or "Legacy Strip",
description = "Converted from legacy format",
lanes = {}
},
dragType = legacyData.dragType or "",
context = legacyData.context or "",
phases = legacyData.phases or {},
prefabs = legacyData.prefabs or {},
canBeReseted = legacyData.canBeReseted or false,
canBeTeleported = legacyData.canBeTeleported or false,
stripInfo = legacyData.stripInfo or {}
}
if legacyData.strip and legacyData.strip.lanes then
for i, lane in ipairs(legacyData.strip.lanes) do
local convertedLane = {
id = "legacy_lane_" .. i,
shortName = lane.shortName or ("Lane " .. i),
longName = lane.longName or ("Lane " .. i),
color = lane.color or "blue",
laneOrder = lane.laneOrder or i,
waypoints = {},
boundary = lane.boundary or {}
}
if lane.waypoints then
for waypointType, waypoint in pairs(lane.waypoints) do
convertedLane.waypoints[waypointType] = {
name = waypoint.name or waypointType,
transform = waypoint.transform or {
pos = vec3(0, 0, 0),
rot = quat(0, 0, 0, 1),
scl = vec3(1, 1, 1)
},
waypoint = waypoint.waypoint or {
speed = 5,
mode = "limit"
}
}
end
end
table.insert(convertedData.strip.lanes, convertedLane)
end
end
return convertedData
end
Callers
@/lua/ge/extensions/gameplay/drag/saveSystem.lua
return M.convertLegacyData(data)
end