Ejemplo n.º 1
0
        public INetworkObjectList CreateList(string name, IFrameListReceiverListener listener)
        {
            if (_disposed)
            {
                throw new ObjectDisposedException(nameof(NetworkObjectListReceiverBuilder));
            }

            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            if (listener == null)
            {
                throw new ArgumentNullException(nameof(listener));
            }

            //Receivers rely on the transmitter to provide the lists they need
            var objectList = _objectListManager.FindListByName(name);

            if (objectList == null)
            {
                throw new InvalidOperationException($"Object list {name} does not exist");
            }

            _callback(objectList, listener);

            return(objectList);
        }
        public void RegisterListener(int id, IFrameListReceiverListener listener)
        {
            if (listener == null)
            {
                throw new ArgumentNullException(nameof(listener));
            }

            _listeners.Add(id, listener);
        }
Ejemplo n.º 3
0
 public NetworkObjectListReceiver(TypeRegistry typeRegistry, int maxFrameLists, IFrameListReceiverListener listener)
     : base(typeRegistry)
 {
     _frameListLists = new CircularBuffer <FrameList>(maxFrameLists);
     Listener        = listener ?? throw new ArgumentNullException(nameof(listener));
 }