From f1d21837089bb5d20c1469f81db561b895eec08e Mon Sep 17 00:00:00 2001 From: kiritow <1362050620@qq.com> Date: Thu, 4 Jan 2018 14:10:47 +0800 Subject: [PATCH] update libevent --- libevent.lua | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/libevent.lua b/libevent.lua index a9668a9..dfc44c2 100644 --- a/libevent.lua +++ b/libevent.lua @@ -150,21 +150,24 @@ function RemoveEventListener(ListenerID) return event.ignore(event.handlers[ListenerID].key,event.handlers[ListenerID].callback) end -function WaitEvent(EventName) - if(EventName~=nil) then - checkstring(EventName) - return doEventTranslate(table.pack(event.pull(EventName))) - else +function WaitEvent(...) + local tb=table.pack(...) + if(tb.n==0) then -- WaitEvent(),event.pull() return doEventTranslate(table.pack(event.pull())) + elseif(type(tb[1])=="string") then + if(type(tb[2])==nil) then -- WaitEvent("key_up"),event.pull("key_up") + return doEventTranslate(table.pack(event.pull(tb[1]))) + else -- WaitEvent("key_up",1),event.pull(1,"key_up") + checknumber(tb[2]) + return doEventTranslate(table.pack(event.pull(tb[2],tb[1]))) + end + elseif(type(tb[1])=="number") then -- WaitEvent(1),event.pull(1) + return doEventTranslate(table.pack(event.pull(tb[1]))) + else + error("syntax error. Usage: WaitEvent([EventName],[TimeOutSecond])") end end -function WaitEventFor(EventName,TimeOut) - checkstring(EventName) - checknumber(TimeOut) - return doEventTranslate(table.pack(event.pull(TimeOut,EventName))) -end - function PushEvent(EventName,...) checkstring(EventName) return event.push(EventName,...)