// main Thread protected void AddToSerializeQueue(NetworkMessageItem item) { if (_recoder != null) { if (this.Id != _recoder.Info.ChannedId) { _recoder.Info.ChannedId = this.Id; _recoder.UpdateInfoToFile(); } _recoder.AddMessage(EReplayMessageType.OUT, NetworkMessageRecoder.RecodMessageItem.Allocate(this, item.MessageType, item.MessageBody, MyGameTime.stage, MyGameTime.seq, NetworkMessageRecoder.ERecodMessagetype.UdpOut)); } if (IsConnected && _serializer != null) { item.AcquireReference(); _serializeQueue.Enqueue(item); } else { if (_serializer == null) { _logger.InfoFormat("drop message for serializer not set"); } if (!IsConnected) { _logger.InfoFormat("drop message for not connected{0}", IdInfo()); } } }