Files
ox_lib/imports/disableControls/client.lua
Linden 26538b8148 refactor(imports): assign modules directly to lib namespace
Mostly a change for improved intellisense with sumneko lua.
Includes some type fixes and deprecation notices.
2022-09-14 01:20:50 +10:00

56 lines
1.0 KiB
Lua

--- Call on frame to disable all stored keys.
--- ```
--- disableControls()
--- ```
local disableControls = {}
---@param ... number
function disableControls:Add(...)
local keys = type(...) == 'table' and ... or {...}
for i=1, #keys do
local key = keys[i]
if self[key] then
self[key] += 1
else
self[key] = 1
end
end
end
---@param ... number
function disableControls:Remove(...)
local keys = type(...) == 'table' and ... or {...}
for i=1, #keys do
local key = keys[i]
local exists = self[key]
if exists and exists > 1 then
self[key] -= 1
else
self[key] = nil
end
end
end
---@param ... number
function disableControls:Clear(...)
local keys = type(...) == 'table' and ... or {...}
for i=1, #keys do
self[keys[i]] = nil
end
end
local keys = {}
local DisableControlAction = DisableControlAction
local pairs = pairs
lib.disableControls = setmetatable(disableControls, {
__index = keys,
__newindex = keys,
__call = function()
for k in pairs(keys) do
DisableControlAction(0, k, true)
end
end
})
return lib.disableControls