setDragRaceData
Definition
-- @/lua/ge/extensions/gameplay/drag/general.lua:348
local function setDragRaceData(data)
-- Allow setting dragData even if it exists (for reloading/resetting)
if not data then
return
end
dragData = data
if not dragData.racers then dragData.racers = {} end
-- Ensure all required extensions are loaded immediately when dragData is set
-- This is critical for POI system and mission loading - extensions must be ready
if not ensureAllExtensionsLoaded() then
log('E', logTag, 'Failed to ensure all extensions loaded in setDragRaceData')
return
end
end
Callers
@/lua/ge/extensions/gameplay/drag/dragBridge.lua
-- Set dragData first so ensureAllExtensionsLoaded can work
gameplay_drag_general.setDragRaceData(data)
@/lua/ge/extensions/editor/dragRaceEditor.lua
utils.saveToUndoStack()
state.setDragRaceData(utils.createNewDragRaceData())
state.setCurrentFileName(nil)
utils.saveToUndoStack()
state.setDragRaceData(utils.createNewDragRaceData())
state.setSelectedLaneIndex(-1)
if state.getDragRaceData() == nil then
state.setDragRaceData(utils.createNewDragRaceData())
end
state.setCurrentFileName(data.currentFileName or state.getCurrentFileName())
state.setDragRaceData(data.dragRaceData or state.getDragRaceData())
state.setHasUnsavedChanges(data.hasUnsavedChanges or false)
@/lua/ge/extensions/gameplay/drag/general.lua
if not M.getDragIsStarted() then
M.setDragRaceData(deepcopy(data))
if not M.startDragRaceActivity(i) then
@/lua/ge/extensions/editor/dragRaceEditor/utils.lua
table.insert(redoStack, dragRaceData)
state.setDragRaceData(table.remove(undoStack))
M.markUnsavedChanges()
table.insert(undoStack, dragRaceData)
state.setDragRaceData(table.remove(redoStack))
M.markUnsavedChanges()