mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-17 06:56:03 +01:00
feat(keys): implement a DisableControlAction wrapper
This commit is contained in:
@@ -23,7 +23,7 @@ game 'gta5'
|
||||
--[[ Resource Information ]]--
|
||||
name 'pe-lualib'
|
||||
author 'Linden'
|
||||
version '1.0.2'
|
||||
version '1.0.3'
|
||||
repository 'https://github.com/project-error/pe-lualib'
|
||||
description 'A library of shared functions to utilise in other resources.'
|
||||
|
||||
|
||||
54
imports/controls/client.lua
Normal file
54
imports/controls/client.lua
Normal file
@@ -0,0 +1,54 @@
|
||||
--- Call on frame to disable all stored keys.
|
||||
--- ```
|
||||
--- DisableControlActions()
|
||||
--- ```
|
||||
local DisableControlActions = {}
|
||||
|
||||
---@param ... number
|
||||
function DisableControlActions: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 DisableControlActions: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 DisableControlActions: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
|
||||
|
||||
return setmetatable(DisableControlActions, {
|
||||
__index = Keys,
|
||||
__newindex = Keys,
|
||||
__call = function()
|
||||
for k in pairs(Keys) do
|
||||
DisableControlAction(0, k, true)
|
||||
end
|
||||
end
|
||||
})
|
||||
13
init.lua
13
init.lua
@@ -32,16 +32,7 @@ local function loadFile(self, file)
|
||||
error(('\n^1Error importing module (%s): %s^0'):format(dir, err), 3)
|
||||
else
|
||||
rawset(self, file, chunk())
|
||||
return setmetatable(self[file], {
|
||||
__index = {
|
||||
name = file,
|
||||
resource = LIBRARY
|
||||
},
|
||||
|
||||
__newindex = function()
|
||||
error('Cannot add indexes to imports')
|
||||
end
|
||||
})
|
||||
return self[file]
|
||||
end
|
||||
else error(('\n^3Unable to import module (%s)^0'):format(dir), 3) end
|
||||
end
|
||||
@@ -84,7 +75,7 @@ setmetatable(lib, {
|
||||
_ENV.lib = lib
|
||||
|
||||
--- Dream of a world where this PR gets accepted.
|
||||
--- ```lua
|
||||
--- ```
|
||||
--- SetInterval(callback: function, timer: number)
|
||||
--- ```
|
||||
SetInterval = setmetatable({currentId = 0}, {
|
||||
|
||||
Reference in New Issue
Block a user