GE Lua Documentation

Press F to search!

registerFunstuffActions

Definition


-- @/lua/ge/extensions/core/funstuff.lua:249

local function registerFunstuffActions(entries)
  core_quickAccess.addEntry({ level = '/root/sandbox/funStuff/', generator = function(entries)

    table.insert(entries, {startSlot = 1, endSlot = 1, dynamicSlot = {id="funstuff_left"}})
    table.insert(entries, {startSlot = 2, endSlot = 2, dynamicSlot = {id="funstuff_upLeft"}})
    table.insert(entries, {startSlot = 3, endSlot = 3, dynamicSlot = {id="funstuff_up"}})
    table.insert(entries, {startSlot = 4, endSlot = 4, dynamicSlot = {id="funstuff_upRight"}})
    table.insert(entries, {startSlot = 5, endSlot = 5, dynamicSlot = {id="funstuff_right"}})
    -- Add main funstuff menu entries

    table.insert(entries, {
      title = "ui.radialmenu2.funstuff.Other",
      icon = "vehicleFeatures03",
      uniqueID = "funstuff_other",
      startSlot = 6, endSlot = 6,
      ["goto"] = "/root/sandbox/funStuff/other/"
    })

    table.insert(entries, {
      title = "ui.radialmenu2.funstuff.Forces",
      icon = "wavesSignalSentRight",
      uniqueID = "funstuff_forces",
      startSlot = 7, endSlot = 7,
      ["goto"] = "/root/sandbox/funStuff/forces/"
    })

    table.insert(entries, {
      title = "ui.radialmenu2.funstuff.Destruction",
      icon = "hammerParticles",
      uniqueID = "funstuff_destruction",
      startSlot = 8, endSlot = 8,
      ["goto"] = "/root/sandbox/funStuff/destruction/"
    })
  end})

  -- Destruction submenu
  core_quickAccess.addEntry({ level = '/root/sandbox/funStuff/destruction/', generator = function(entries)
    if not core_input_actionFilter.isActionBlocked("funBreak") then
      table.insert(entries, {
        uniqueID = "funBreak",
        title = "ui.radialmenu2.funstuff.Break",
        desc = "ui.radialmenu2.funstuff.Break.desc",
        icon = 'cogsDamaged',
        onSelect = breakAllBreakgroups
      })
    end
    if not core_input_actionFilter.isActionBlocked("funHinges") then
      table.insert(entries, {
        uniqueID = "funHinges",
        title = "ui.radialmenu2.funstuff.Hinges",
        desc = "ui.radialmenu2.funstuff.Hinges.desc",
        icon = 'hingeBroken',
        onSelect = breakHinges
      })
    end
    if not core_input_actionFilter.isActionBlocked("funTires") then
      table.insert(entries, {
        uniqueID = "funTires",
        title = "ui.radialmenu2.funstuff.Tires",
        desc = "ui.radialmenu2.funstuff.Tires.desc",
        icon = 'tireDeflated',
        onSelect = deflateTires
      })
      table.insert(entries, {
        uniqueID = "funRandomTire",
        title = "ui.radialmenu2.funstuff.RandomTire",
        desc = "ui.radialmenu2.funstuff.RandomTire.desc",
        icon = 'tireAirPuff',
        onSelect = deflateRandomTire
      })
    end
    if not core_input_actionFilter.isActionBlocked("funFire") then
      table.insert(entries, {
        uniqueID = "funFire",
        title = "ui.radialmenu2.funstuff.Fire",
        desc = "ui.radialmenu2.funstuff.Fire.desc",
        icon = 'fire',
        onSelect = igniteVehicle
      })
    end
    if not core_input_actionFilter.isActionBlocked("funExtinguish") then
      table.insert(entries, {
        uniqueID = "funExtinguish",
        title = "ui.radialmenu2.funstuff.Extinguish",
        desc = "ui.radialmenu2.funstuff.Extinguish.desc",
        icon = 'fireExtinguisher',
        onSelect = extinguishVehicle
      })
    end
    if not core_input_actionFilter.isActionBlocked("funBoom") then
      table.insert(entries, {
        uniqueID = "funBoom",
        title = "ui.radialmenu2.funstuff.Boom",
        desc = "ui.radialmenu2.funstuff.Boom.desc",
        icon = 'explosion',
        onSelect = explodeVehicle
      })
    end
  end})

  -- Forces submenu
  core_quickAccess.addEntry({ level = '/root/sandbox/funStuff/forces/', generator = function(entries)
    if not core_input_actionFilter.isActionBlocked("forceField") then
      local e = {
        title = 'ui.radialmenu2.funstuff.ForceField',
        desc = {txt = 'ui.radialmenu2.funstuff.ForceField.desc', context = {status = 'ui.radialmenu2.funstuff.ForceField.inactive'}},
        icon = 'forceFieldPush1',
        uniqueID = 'forceField',
        startSlot = 2,
        onSelect = toggleForceField
      }
      if gameplay_forceField.isActive() then
        e.color = 'var(--bng-orange-400)'
        if gameplay_forceField.getForceMultiplier() > 0 then
          e.desc = {txt = 'ui.radialmenu2.funstuff.ForceField.desc', context = {status = 'ui.radialmenu2.funstuff.ForceField.repulsion'}}
        end
        if gameplay_forceField.getForceMultiplier() < 0 then
          e.desc = {txt = 'ui.radialmenu2.funstuff.ForceField.desc', context = {status = 'ui.radialmenu2.funstuff.ForceField.attraction'}}
          e.icon = 'forceFieldPull1'
        end
      end
      table.insert(entries, e)
    end
    if not core_input_actionFilter.isActionBlocked("funFling") then
      table.insert(entries, {
        title = "ui.radialmenu2.funstuff.Fling",
        desc = "ui.radialmenu2.funstuff.Fling.desc",
        icon = 'pushUp',
        uniqueID = 'flingUpward',
        startSlot = 3,
        onSelect = flingUpward
      })
    end
    if not core_input_actionFilter.isActionBlocked("funFlingDownward") then
      table.insert(entries, {
        title = "ui.radialmenu2.funstuff.FlingDownward",
        desc = "ui.radialmenu2.funstuff.FlingDownward.desc",
        icon = 'pushDown',
        startSlot = 7,
        uniqueID = 'flingDownward',
        onSelect = flingDownward
      })
    end
    if not core_input_actionFilter.isActionBlocked("funBoost") then
      table.insert(entries, {
        title = "ui.radialmenu2.funstuff.Boost",
        desc = "ui.radialmenu2.funstuff.Boost.desc",
        icon = 'carFast',
        startSlot = 5,
        uniqueID = 'boost',
        onSelect = boost
      })
    end
    if not core_input_actionFilter.isActionBlocked("funBoostBackwards") then
      table.insert(entries, {
        title = "ui.radialmenu2.funstuff.BoostBackwards",
        desc = "ui.radialmenu2.funstuff.BoostBackwards.desc",
        icon = 'carFastReverse',
        uniqueID = 'boostBackwards',
        startSlot = 1,
        onSelect = boostBackwards
      })
    end
  end})

  -- Other submenu
  core_quickAccess.addEntry({ level = '/root/sandbox/funStuff/other/', generator = function(entries)
    if not core_input_actionFilter.isActionBlocked("latchesOpen") then
      table.insert(entries, {
        uniqueID = "funLatchesOpen",
        title = "ui.radialmenu2.funstuff.LatchesOpen",
        desc = "ui.radialmenu2.funstuff.LatchesOpen.desc",
        icon = "vehicleDoorsOpen",
        onSelect = openLatches
      })
    end
    if not core_input_actionFilter.isActionBlocked("latchesClose") then
      table.insert(entries, {
        uniqueID = "funLatchesClose",
        title = "ui.radialmenu2.funstuff.LatchesClose",
        desc = "ui.radialmenu2.funstuff.LatchesClose.desc",
        icon = "vehicleDoorsClose",
        onSelect = closeLatches
      })
    end

    if not core_input_actionFilter.isActionBlocked("parts_selector") then
      table.insert(entries, {
        uniqueID = "funSetFuelLevelFull",
        title = "ui.radialmenu2.funstuff.SetFuelLevelFull",
        icon = "gaugeFull",
        onSelect = function() return setFuelLevel(1) end
      })
      table.insert(entries, {
        uniqueID = "funSetFuelLevelEmpty",
        title = "ui.radialmenu2.funstuff.SetFuelLevelEmpty",
        icon = "gaugeEmpty",
        onSelect = function() return setFuelLevel(0) end
      })
      table.insert(entries, {
        uniqueID = "funRandomizeColors",
        title = "ui.radialmenu2.funstuff.RandomizeColors",
        icon = "sprayCan",
        onSelect = randomizeColors
      })
    end
    if not core_input_actionFilter.isActionBlocked("vehicle_selector") then
      table.insert(entries, {
        uniqueID = "funRandomVehicle",
        title = "ui.radialmenu2.funstuff.RandomVehicle",
        icon = "carStarred",
        onSelect = randomVehicle
      })
    end
    if not core_input_actionFilter.isActionBlocked("toggleBigMap") then
      table.insert(entries, {
        uniqueID = "funRandomRoute",
        title = "ui.radialmenu2.funstuff.RandomRoute",
        icon = "pathDice",
        onSelect = randomRoute
      })
    end
  end})
end

Callers

@/lua/ge/extensions/core/quickAccess.lua

  extensions.core_funstuff.registerFunstuffActions()