Lua事件派发器

-----------------------------------------
--Author:Hugh
--DateTime:2019-10-30
--Describe:可用于游戏内部所有的UI事件广播通知
----------------------------------------

--框架自定义全局类
cc.exports.EventManager = {
    EventList = {},         --事件集合
}

--所有的广播枚举事件在此注册(名字,值不要重复)
EventManager.EventType = {
   Example1 = 1,                --例子1
   Example2 = 2,                --例子2
}

--触发
function EventManager.EventBroadcast(eventType)
    if EventManager.EventList[eventType] then
        EventManager.EventList[eventType]()
    end
end

--注册
function EventManager.EventAddListener(eventType,callback)
    if EventManager.EventList[eventType] then
        print("事件重复监听,驳回监听请求,事件类型:"..eventType.."")
        return
    end
    EventManager.EventList[eventType] = callback
end

--销毁
function EventManager.EventRemoveLinster(eventType)
    EventManager.EventList[eventType] = nil
end

return EventManager




你可能感兴趣的:(Lua)