41 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
-- 猫猫虫的 LuaEngine 工具模块:Keypad
 | 
						||
-- @version: 1.0.0
 | 
						||
 | 
						||
local Keypad = {}
 | 
						||
 | 
						||
--- 带计时器的按键触发操作(注:暂不支持组合键)
 | 
						||
---@param keypadID number|string
 | 
						||
---@param chrono number
 | 
						||
---@param func fun()
 | 
						||
---@param xbox boolean|nil
 | 
						||
function Keypad.UseChronoscope(keypadID, chrono, func, xbox)
 | 
						||
    if keypadID == nil or chrono == nil or func == nil then
 | 
						||
        return
 | 
						||
    end
 | 
						||
    if chrono < 0 then
 | 
						||
        return
 | 
						||
    end
 | 
						||
    if xbox ~= true and xbox ~= false then
 | 
						||
        xbox = nil
 | 
						||
    end
 | 
						||
 | 
						||
    -- TODO: 暂不支持组合键
 | 
						||
    if type(keypadID) == "table" then
 | 
						||
        return
 | 
						||
    end
 | 
						||
 | 
						||
    local keypadIDStr = keypadID
 | 
						||
    if type(keypadID) == "number" then
 | 
						||
        keypadIDStr = tostring(keypadID)
 | 
						||
    end
 | 
						||
    local keypadShortcut = "keypad_keyCD_"..keypadIDStr
 | 
						||
 | 
						||
    if engine.keypad(keypadID, xbox) and (CheckChronoscope(keypadShortcut) or
 | 
						||
        not CheckPresenceChronoscope(keypadShortcut)) then
 | 
						||
 | 
						||
        AddChronoscope(chrono, keypadShortcut)
 | 
						||
        func()
 | 
						||
    end
 | 
						||
end
 | 
						||
 | 
						||
return Keypad |