GE Lua Documentation

Press F to search!

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()