示例#1
0
        public UniversalMessageList(ManualLogSource clientLog, ManualLogSource serverLog)
        {
            _clientLog = clientLog;
            _serverLog = serverLog;

            _client = new ManagerMessageListData <TClient>();
            _server = new ManagerMessageListData <TServer>();
        }
示例#2
0
        private void Add <TSender, TReceiver, TMessage>(ManagerMessageListData <TSender> sender, ManagerMessageListData <TReceiver> receiver, ManualLogSource receiverLog, byte channel, DeliveryMethod delivery, MessageHandler <TReceiver, TMessage> handler) where TMessage : INetSerializable, new()
        {
            var id         = sender.ID++;
            var definition = new MessageDefinition(id, channel, delivery);
            var reader     = CreateReaderFrom(handler, receiverLog);

            sender.Messages.Definitions.Add(typeof(TMessage), definition);
            receiver.Messages.Handlers.Add(id, reader);

            _maxChannel = Math.Max(_maxChannel, channel);
        }