예제 #1
0
        public bool Register <T>(T key, OnEvent func) where T : IConvertible
        {
            int          kv = key.ToInt32(null);
            ListenerWarp warp;

            if (!m_ListenerMap.TryGetValue(kv, out warp))
            {
                warp = new ListenerWarp();
                m_ListenerMap.Add(kv, warp);
            }

            if (warp.Add(func))
            {
                return(true);
            }
            return(false);
        }
예제 #2
0
    public bool Register <T>(T key, OnEvent func) where T : IConvertible
    {
        var          kv = key.GetHashCode();
        ListenerWarp warp;

        if (!m_AllListenerMap.TryGetValue(kv, out warp))
        {
            warp = new ListenerWarp();
            m_AllListenerMap.Add(kv, warp);
        }

        if (warp.Add(func))
        {
            return(true);
        }

        return(false);
    }
예제 #3
0
        public bool Register <T>(T msg_id, OnEvent fun)
            where T : IConvertible
        {
            ushort       kv = msg_id.ToUInt16(null);
            ListenerWarp warp;

            if (!m_listeners.TryGetValue(kv, out warp))
            {
                warp = new ListenerWarp();
                m_listeners.Add(kv, warp);
            }

            if (warp.Add(fun))
            {
                return(true);
            }

            return(false);
        }