CoolFace
Datasetpublic

jiuyhfdj/wdsm_cocos_lua_debug_shell

# WDSM Cocos-Lua Debug Shell 这是从 D:\UU\23707_wdsm_wdsm_3k_20260319_28719_m0.apk 逆向整理出的 Cocos2d-x Lua Win32 调试壳工程,用于继续恢复、修改和预览游戏 UI / 建筑功能。 给 Max 接手先读 D:\UU\wdsm_cocos_lua_debug_shell\MAX_START_HERE.md D:\UU\wdsm_cocos_lua_debug_shell\MAX_RUNBOOK.md D:\UU\wdsm_cocos_lua_debug_shell\MAX_TASK_STATE.md D:\UU\wdsm_cocos_lua_debug_shell\MAX_PROJECT_INDEX.md D:\UU\wdsm_cocos_lua_debug_shell\work\mission-state.md 快速启动… See the full description on the dataset page: https://huggingface.co/datasets/jiuyhfdj/wdsm_cocos_lua_debug_shell.

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes28downloads
event.lua158 linesDownload Raw Back to components
1 2local Event = class("Event")3 4local EXPORTED_METHODS = {5    "addEventListener",6    "dispatchEvent",7    "removeEventListener",8    "removeEventListenersByTag",9    "removeEventListenersByEvent",10    "removeAllEventListeners",11    "hasEventListener",12    "dumpAllEventListeners",13}14 15function Event:init_()16    self.target_ = nil17    self.listeners_ = {}18    self.nextListenerHandleIndex_ = 019end20 21function Event:bind(target)22    self:init_()23    cc.setmethods(target, self, EXPORTED_METHODS)24    self.target_ = target25end26 27function Event:unbind(target)28    cc.unsetmethods(target, EXPORTED_METHODS)29    self:init_()30end31 32function Event:on(eventName, listener, tag)33    assert(type(eventName) == "string" and eventName ~= "",34        "Event:addEventListener() - invalid eventName")35    eventName = string.upper(eventName)36    if self.listeners_[eventName] == nil then37        self.listeners_[eventName] = {}38    end39 40    self.nextListenerHandleIndex_ = self.nextListenerHandleIndex_ + 141    local handle = tostring(self.nextListenerHandleIndex_)42    tag = tag or ""43    self.listeners_[eventName][handle] = {listener, tag}44 45    if DEBUG > 1 then46        printInfo("%s [Event] addEventListener() - event: %s, handle: %s, tag: \"%s\"",47                  tostring(self.target_), eventName, handle, tostring(tag))48    end49 50    return self.target_, handle51end52 53Event.addEventListener = Event.on54 55function Event:dispatchEvent(event)56    event.name = string.upper(tostring(event.name))57    local eventName = event.name58    if DEBUG > 1 then59        printInfo("%s [Event] dispatchEvent() - event %s", tostring(self.target_), eventName)60    end61 62    if self.listeners_[eventName] == nil then return end63    event.target = self.target_64    event.stop_ = false65    event.stop = function(self)66        self.stop_ = true67    end68 69    for handle, listener in pairs(self.listeners_[eventName]) do70        if DEBUG > 1 then71            printInfo("%s [Event] dispatchEvent() - dispatching event %s to listener %s", tostring(self.target_), eventName, handle)72        end73        -- listener[1] = listener74        -- listener[2] = tag75        event.tag = listener[2]76        listener[1](event)77        if event.stop_ then78            if DEBUG > 1 then79                printInfo("%s [Event] dispatchEvent() - break dispatching for event %s", tostring(self.target_), eventName)80            end81            break82        end83    end84 85    return self.target_86end87 88function Event:removeEventListener(handleToRemove)89    for eventName, listenersForEvent in pairs(self.listeners_) do90        for handle, _ in pairs(listenersForEvent) do91            if handle == handleToRemove then92                listenersForEvent[handle] = nil93                if DEBUG > 1 then94                    printInfo("%s [Event] removeEventListener() - remove listener [%s] for event %s", tostring(self.target_), handle, eventName)95                end96                return self.target_97            end98        end99    end100 101    return self.target_102end103 104function Event:removeEventListenersByTag(tagToRemove)105    for eventName, listenersForEvent in pairs(self.listeners_) do106        for handle, listener in pairs(listenersForEvent) do107            -- listener[1] = listener108            -- listener[2] = tag109            if listener[2] == tagToRemove then110                listenersForEvent[handle] = nil111                if DEBUG > 1 then112                    printInfo("%s [Event] removeEventListener() - remove listener [%s] for event %s", tostring(self.target_), handle, eventName)113                end114            end115        end116    end117 118    return self.target_119end120 121function Event:removeEventListenersByEvent(eventName)122    self.listeners_[string.upper(eventName)] = nil123    if DEBUG > 1 then124        printInfo("%s [Event] removeAllEventListenersForEvent() - remove all listeners for event %s", tostring(self.target_), eventName)125    end126    return self.target_127end128 129function Event:removeAllEventListeners()130    self.listeners_ = {}131    if DEBUG > 1 then132        printInfo("%s [Event] removeAllEventListeners() - remove all listeners", tostring(self.target_))133    end134    return self.target_135end136 137function Event:hasEventListener(eventName)138    eventName = string.upper(tostring(eventName))139    local t = self.listeners_[eventName]140    for _, __ in pairs(t) do141        return true142    end143    return false144end145 146function Event:dumpAllEventListeners()147    print("---- Event:dumpAllEventListeners() ----")148    for name, listeners in pairs(self.listeners_) do149        printf("-- event: %s", name)150        for handle, listener in pairs(listeners) do151            printf("--     listener: %s, handle: %s", tostring(listener[1]), tostring(handle))152        end153    end154    return self.target_155end156 157return Event158 
jiuyhfdj/wdsm_cocos_lua_debug_shell · CoolFace