Esempio n. 1
0
    public void SendGlobalEvent(GameEvent e)
    {
        int key = e.GetEventKey();

        if (mEventKeyMap.ContainsKey(key))
        {
            List <ModuleEventEntry> eList = mEventKeyMap[key];
            if (eList == null)
            {
                return;
            }
            for (int i = 0; i < eList.Count; i++)
            {
                ModuleEventEntry eventEntry = eList[i];
                if (eventEntry == null || eventEntry.callback == null)
                {
                    continue;
                }
                int ret = mEventDlgExecutor.Execute(eventEntry.callback, e);
                if (ret == (int)EventRet.End)
                {
                    break;
                }
            }
        }
    }
Esempio n. 2
0
    public void RegisterModuleEvent(IEventListener eventListener)
    {
        eventListener.RegisterEvent();
        GameEventMap eMap = eventListener.GetEventMap();

        if (eMap == null)
        {
            return;
        }
        foreach (int key in eMap.GetEventMap().Keys)
        {
            if (!mEventKeyMap.ContainsKey(key))
            {
                mEventKeyMap[key] = new List <ModuleEventEntry>();
            }
            ModuleEventEntry eventEntry = new ModuleEventEntry();
            eventEntry.callback = eMap.GetEventDlgByKey(key);
            eventEntry.module   = eventListener;
            mEventKeyMap[key].Add(eventEntry);
        }
    }