Exemple #1
0
        public static void RegisterHandler(short msgId, ByteBufferCallback callback, bool asServer)
        {
            if (callback == null)
            {
                return;
            }

            if (!RegisterMessageId(msgId, asServer))
            {
                return;
            }

            /// make a new list if this is the first item
            if (callbacks[msgId].bufferCallbacks == null)
            {
                callbacks[msgId].bufferCallbacks = new List <ByteBufferCallback>();
            }

            /// don't register the same callback twice
            if (callbacks[msgId].bufferCallbacks.Contains(callback))
            {
                return;
            }

            callbacks[msgId].bufferCallbacks.Add(callback);
        }
Exemple #2
0
        //public static void RegisterHandler(byte msgid, BitstreamCallback callback, bool asServer)
        //{
        //	if (!callbacks.ContainsKey(msgid))
        //		callbacks.Add(msgid, new CallbackLists());

        //	if (callbacks[msgid].bitstreamCallbacks == null)
        //		callbacks[msgid].bitstreamCallbacks = new List<BitstreamCallback>();

        //	var cbs = callbacks[msgid].bitstreamCallbacks;

        //	if (!cbs.Contains(callback))
        //		cbs.Add(callback);
        //}

        public static void UnregisterHandler(byte msgid, ByteBufferCallback callback, bool asServer)
        {
            if (callbacks.ContainsKey(msgid))
            {
                var cbs = callbacks[msgid];
                cbs.bufferCallbacks.Remove(callback);

                if (cbs.bufferCallbacks.Count == 0)
                {
                    callbacks.Remove(msgid);
                }
            }
        }
Exemple #3
0
        public static void UnregisterHandler(short msgId, ByteBufferCallback callback, bool asServer)
        {
            if (!callbacks.ContainsKey(msgId) || callbacks[msgId].bufferCallbacks == null)
            {
                return;
            }

            var cbs = callbacks[msgId];

            // Remove callback method from list for this msgid
            cbs.bufferCallbacks.Remove(callback);

            /// Remove the dictionary entry entirely if we no longer have any callbacks
            if (cbs.bufferCallbacks.Count == 0 /* && (cbs.bitstreamCallbacks == null || cbs.bitstreamCallbacks.Count == 0)*/)
            {
                UnregisterMessageId(msgId, asServer);
                callbacks.Remove(msgId);
            }
        }
Exemple #4
0
        public static void RegisterHandler(byte msgid, ByteBufferCallback callback, bool asServer)
        {
            if (!callbacks.ContainsKey(msgid))
            {
                callbacks.Add(msgid, new CallbackLists());
            }

            if (callbacks[msgid].bufferCallbacks == null)
            {
                callbacks[msgid].bufferCallbacks = new List <ByteBufferCallback>();
            }

            var cbs = callbacks[msgid].bufferCallbacks;

            if (!cbs.Contains(callback))
            {
                cbs.Add(callback);
            }
        }
 public static void UnregisterCallback(ByteBufferCallback callback)
 {
     UnregisterCallback(DEF_MSG_ID, callback);
 }