-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAPI.lua
More file actions
90 lines (73 loc) · 3.15 KB
/
Copy pathAPI.lua
File metadata and controls
90 lines (73 loc) · 3.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
-- -------------------------------------------------------------------------- --
-- Import --
-- -------------------------------------------------------------------------- --
local ais = AUTO_INPUT_SWITCH
local aisApi = ais.API
local Util = ais.Util --[[@as Util]]
-- -------------------------------------------------------------------------- --
-- Methods --
-- -------------------------------------------------------------------------- --
-- -------------------------------------------------------------------------- --
-- Get Instances --
-- -------------------------------------------------------------------------- --
---@return AutoInputSwitch
function aisApi.GetSingleton()
return ais.GetSingleton()
end
---@return EventManager
function aisApi.GetEventManager()
return aisApi.GetSingleton():GetEventManager()
end
-- -------------------------------------------------------------------------- --
-- Input Controls --
-- -------------------------------------------------------------------------- --
---@return 'gamepad'|'keyboard'
function aisApi.GetCurrentController()
return aisApi.GetSingleton():GetCurrentController()
end
---@return boolean
function aisApi.GetXboxMovementEnabled()
return aisApi.GetSingleton():GetXboxMovementEnabled()
end
-- -------------------------------------------------------------------------- --
-- Pointers --
-- -------------------------------------------------------------------------- --
---@return userdata
function aisApi.GetXboxMovementPointer()
return aisApi.GetSingleton():GetXboxMovementPointer()
end
---@return userdata
function aisApi.GetControllerPointer()
return aisApi.GetSingleton():GetControllerPointer()
end
-- -------------------------------------------------------------------------- --
-- Input Detection --
-- -------------------------------------------------------------------------- --
---@return string?
function aisApi.GetAnyKeyboardKeyPressed()
local _, key = Util.IsAnyKeyJustPressed()
return key
end
---@param ctrlId 0|1|2|3
---@return integer?
function aisApi.GetAnyGamepadButtonPressed(ctrlId)
local _, buttonId = Util.IsAnyGamepadButtonPressed(ctrlId)
return buttonId
end
-- -------------------------------------------------------------------------- --
-- Events --
-- -------------------------------------------------------------------------- --
---@param eventName string
---@param callback function
function aisApi.AddEventListener(eventName, callback)
aisApi.GetSingleton():GetEventManager():AddListener(eventName, callback)
end
---@param eventName string
---@param callback function
---@return boolean success
function aisApi.RemoveEventListener(eventName, callback)
return aisApi
.GetSingleton()
:GetEventManager()
:RemoveListener(eventName, callback)
end