function uisBinds.BindToInput(q,G,z,...)local u={...}q.connections[G]={}for t=1,#u,1 do local P=u[t]q.connections[G][P]={UIS.InputBegan:Connect(function(q,u)if q.KeyCode==P then z(G,q.UserInputState,q)end end),UIS.InputChanged:Connect(function(q,u)if q.KeyCode==P then z(G,q.UserInputState,q)end end),UIS.InputEnded:Connect(function(q,u)if q.KeyCode==P then z(G,q.UserInputState,q)end end)}end end function uisBinds.UnbindAction(z,G)for G,z in next,z.connections[G]do for G=1,#z,1 do z[G]:Disconnect()end end z.connections[G]=nil end
--

function uisBinds:BindToInput(actionName, func, ...)
	local binds = { ... }
	self.connections[actionName] = {}

	for i = 1, #binds do
		local keycode = binds[i]
		self.connections[actionName][keycode] = {
			UIS.InputBegan:Connect(function(input, process)
				if input.KeyCode == keycode then
					func(actionName, input.UserInputState, input)
				end
			end),

			UIS.InputChanged:Connect(function(input, process)
				if input.KeyCode == keycode then
					func(actionName, input.UserInputState, input)
				end
			end),

			UIS.InputEnded:Connect(function(input, process)
				if input.KeyCode == keycode then
					func(actionName, input.UserInputState, input)
				end
			end),
		}
	end
end

function uisBinds:UnbindAction(actionName)
	for keycode, array in next, self.connections[actionName] do
		for i = 1, #array do
			array[i]:Disconnect()
		end
	end
	self.connections[actionName] = nil
end
