Example #1
0
 internal void UnregisterPacketListener(IPhotonPacketCallback listener)
 {
     for (var i = _packetListeners.Count - 1; i >= 0; i--)
     {
         if (ReferenceEquals(_packetListeners[i].Value, listener))
         {
             _packetListeners.RemoveAt(i);
         }
     }
 }
Example #2
0
        internal void RegisterPacketListener(byte eventCode, IPhotonPacketCallback listener)
        {
            //Add this event code to the filter
            _eventCodes.Add(eventCode);

            //Try to find this listener to ensure we don't add it twice with the same event code
            for (var i = 0; i < _packetListeners.Count; i++)
            {
                if (ReferenceEquals(_packetListeners[i].Value, listener) && _packetListeners[i].Key == eventCode)
                {
                    return;
                }
            }

            //Since we're here we didn't find this listener
            _packetListeners.Add(new KeyValuePair <byte, IPhotonPacketCallback>(eventCode, listener));
        }