// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: pb/MultiDup.proto
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace MultiDup {

  /// <summary>Holder for reflection information generated from pb/MultiDup.proto</summary>
  public static partial class MultiDupReflection {

    #region Descriptor
    /// <summary>File descriptor for pb/MultiDup.proto</summary>
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static MultiDupReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "ChFwYi9NdWx0aUR1cC5wcm90bxIITXVsdGlEdXAiLwoQQ1NfTURfRW50ZXJM",
            "b2JieRIOCgZab25laWQYASABKAUSCwoDVWlkGAIgASgJIj4KEENTX01EX0Ny",
            "ZWF0ZVJvb20SDgoGWm9uZWlkGAEgASgFEgsKA1VpZBgCIAEoCRINCgVNYXBp",
            "ZBgDIAEoBSIwChFDU19NRF9HZXRSb29tTGlzdBIOCgZab25laWQYASABKAUS",
            "CwoDVWlkGAIgASgJIj4KD0NTX01EX0VudGVyUm9vbRIOCgZab25laWQYASAB",
            "KAUSCwoDVWlkGAIgASgJEg4KBlJvb21JZBgDIAEoBSIuCg9DU19NRF9MZWF2",
            "ZVJvb20SDgoGWm9uZWlkGAEgASgFEgsKA1VpZBgCIAEoCSItCg5DU19NRF9C",
            "ZWdpbkR1cBIOCgZab25laWQYASABKAUSCwoDVWlkGAIgASgJIjcKC0NTX0JU",
            "X0xvZ2luEg4KBlpvbmVpZBgBIAEoBRILCgNVaWQYAiABKAkSCwoDTXNnGAMg",
            "ASgJIi8KEENTX0JUX1Blb3BsZUxpc3QSDgoGWm9uZWlkGAEgASgFEgsKA1Vp",
            "ZBgCIAEoCSJWCgxDU19CVF9TdGF0dXMSDgoGWm9uZWlkGAEgASgFEhEKCVNl",
            "bmRlclVpZBgCIAEoCRIUCgxQcm9wZXJ0eU5hbWUYAyABKAkSDQoFVmFsdWUY",
            "BCABKAkiVAoOQ1NfQlRfUG9zaXRpb24SDgoGWm9uZWlkGAEgASgFEhEKCVNl",
            "bmRlclVpZBgCIAEoCRIJCgFYGAMgASgCEgkKAVkYBCABKAISCQoBWhgFIAEo",
            "AiJBCg9DU19CVF9Ccm9hZENhc3QSDgoGWm9uZWlkGAEgASgFEhEKCVNlbmRl",
            "clVpZBgCIAEoCRILCgNNc2cYAyABKAkiPAoKQ1NfQlRfT3ZlchIOCgZab25l",
            "aWQYASABKAUSEQoJU2VuZGVyVWlkGAIgASgJEgsKA01zZxgDIAEoCSISChBT",
            "Q19NRF9FbnRlckxvYmJ5Ik4KEFNDX01EX0NyZWF0ZVJvb20SDgoGWm9uZWlk",
            "GAEgASgFEgsKA1VpZBgCIAEoCRINCgVNYXBpZBgDIAEoBRIOCgZSb29tSWQY",
            "BCABKAUiuwEKEVNDX01EX0dldFJvb21MaXN0EjcKCVJvb21JbmZvcxgBIAMo",
            "CzIkLk11bHRpRHVwLlNDX01EX0dldFJvb21MaXN0LlJvb21JbmZvGm0KCFJv",
            "b21JbmZvEg4KBlJvb21JZBgBIAEoBRINCgVNYXBpZBgCIAEoBRISCgpQbGF5",
            "ZXJVaWRzGAMgAygJEhQKDEJhdHRsZXNlcnZlchgEIAEoCRIYChBCYXR0bGVT",
            "ZXJ2ZXJQb3J0GAUgASgFImsKD1NDX01EX0VudGVyUm9vbRIOCgZab25laWQY",
            "ASABKAUSCwoDVWlkGAIgASgJEg0KBU1hcGlkGAMgASgFEgoKAklwGAQgASgJ",
            "EgwKBFBvcnQYBSABKAUSEgoKUGxheWVyVWlkcxgGIAMoCSIuCg9TQ19NRF9M",
            "ZWF2ZVJvb20SDgoGWm9uZWlkGAEgASgFEgsKA1VpZBgCIAEoCSJPCg5TQ19N",
            "RF9CZWdpbkR1cBIUCgxCYXR0bGVzZXJ2ZXIYASABKAkSGAoQQmF0dGxlU2Vy",
            "dmVyUG9ydBgCIAEoBRINCgVNYXBpZBgDIAEoBSI3CgtTQ19CVF9Mb2dpbhIO",
            "CgZab25laWQYASABKAUSCwoDVWlkGAIgASgJEgsKA01zZxgDIAEoCSJIChBT",
            "Q19CVF9QZW9wbGVMaXN0Eg4KBlpvbmVpZBgBIAEoBRIQCghOZXdlclVpZBgC",
            "IAEoCRISCgpQbGF5ZXJVaWRzGAMgAygJIlYKDFNDX0JUX1N0YXR1cxIOCgZa",
            "b25laWQYASABKAUSEQoJU2VuZGVyVWlkGAIgASgJEhQKDFByb3BlcnR5TmFt",
            "ZRgDIAEoCRINCgVWYWx1ZRgEIAEoCSJUCg5TQ19CVF9Qb3NpdGlvbhIOCgZa",
            "b25laWQYASABKAUSEQoJU2VuZGVyVWlkGAIgASgJEgkKAVgYAyABKAISCQoB",
            "WRgEIAEoAhIJCgFaGAUgASgCIkEKD1NDX0JUX0Jyb2FkQ2FzdBIOCgZab25l",
            "aWQYASABKAUSEQoJU2VuZGVyVWlkGAIgASgJEgsKA01zZxgDIAEoCSI8CgpT",
            "Q19CVF9PdmVyEg4KBlpvbmVpZBgBIAEoBRIRCglTZW5kZXJVaWQYAiABKAkS",
            "CwoDTXNnGAMgASgJIjsKFVNTX0NyZWF0ZUJhdHRsZVNlcnZlchIOCgZSb29t",
            "SWQYASABKAUSEgoKUGxheWVyVWlkcxgCIAMoCSIZChdTU19DcmVhdGVCYXR0",
            "bGVTZXJ2ZXJPS0INWgtwYi9NdWx0aUR1cGIGcHJvdG8z"));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { },
          new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_MD_EnterLobby), global::MultiDup.CS_MD_EnterLobby.Parser, new[]{ "Zoneid", "Uid" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_MD_CreateRoom), global::MultiDup.CS_MD_CreateRoom.Parser, new[]{ "Zoneid", "Uid", "Mapid" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_MD_GetRoomList), global::MultiDup.CS_MD_GetRoomList.Parser, new[]{ "Zoneid", "Uid" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_MD_EnterRoom), global::MultiDup.CS_MD_EnterRoom.Parser, new[]{ "Zoneid", "Uid", "RoomId" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_MD_LeaveRoom), global::MultiDup.CS_MD_LeaveRoom.Parser, new[]{ "Zoneid", "Uid" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_MD_BeginDup), global::MultiDup.CS_MD_BeginDup.Parser, new[]{ "Zoneid", "Uid" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_BT_Login), global::MultiDup.CS_BT_Login.Parser, new[]{ "Zoneid", "Uid", "Msg" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_BT_PeopleList), global::MultiDup.CS_BT_PeopleList.Parser, new[]{ "Zoneid", "Uid" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_BT_Status), global::MultiDup.CS_BT_Status.Parser, new[]{ "Zoneid", "SenderUid", "PropertyName", "Value" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_BT_Position), global::MultiDup.CS_BT_Position.Parser, new[]{ "Zoneid", "SenderUid", "X", "Y", "Z" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_BT_BroadCast), global::MultiDup.CS_BT_BroadCast.Parser, new[]{ "Zoneid", "SenderUid", "Msg" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.CS_BT_Over), global::MultiDup.CS_BT_Over.Parser, new[]{ "Zoneid", "SenderUid", "Msg" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_MD_EnterLobby), global::MultiDup.SC_MD_EnterLobby.Parser, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_MD_CreateRoom), global::MultiDup.SC_MD_CreateRoom.Parser, new[]{ "Zoneid", "Uid", "Mapid", "RoomId" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_MD_GetRoomList), global::MultiDup.SC_MD_GetRoomList.Parser, new[]{ "RoomInfos" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_MD_GetRoomList.Types.RoomInfo), global::MultiDup.SC_MD_GetRoomList.Types.RoomInfo.Parser, new[]{ "RoomId", "Mapid", "PlayerUids", "Battleserver", "BattleServerPort" }, null, null, null)}),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_MD_EnterRoom), global::MultiDup.SC_MD_EnterRoom.Parser, new[]{ "Zoneid", "Uid", "Mapid", "Ip", "Port", "PlayerUids" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_MD_LeaveRoom), global::MultiDup.SC_MD_LeaveRoom.Parser, new[]{ "Zoneid", "Uid" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_MD_BeginDup), global::MultiDup.SC_MD_BeginDup.Parser, new[]{ "Battleserver", "BattleServerPort", "Mapid" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_BT_Login), global::MultiDup.SC_BT_Login.Parser, new[]{ "Zoneid", "Uid", "Msg" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_BT_PeopleList), global::MultiDup.SC_BT_PeopleList.Parser, new[]{ "Zoneid", "NewerUid", "PlayerUids" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_BT_Status), global::MultiDup.SC_BT_Status.Parser, new[]{ "Zoneid", "SenderUid", "PropertyName", "Value" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_BT_Position), global::MultiDup.SC_BT_Position.Parser, new[]{ "Zoneid", "SenderUid", "X", "Y", "Z" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_BT_BroadCast), global::MultiDup.SC_BT_BroadCast.Parser, new[]{ "Zoneid", "SenderUid", "Msg" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SC_BT_Over), global::MultiDup.SC_BT_Over.Parser, new[]{ "Zoneid", "SenderUid", "Msg" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SS_CreateBattleServer), global::MultiDup.SS_CreateBattleServer.Parser, new[]{ "RoomId", "PlayerUids" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::MultiDup.SS_CreateBattleServerOK), global::MultiDup.SS_CreateBattleServerOK.Parser, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  /// <summary>
  ///
  /// 进入大厅(注册下自己的uid)
  /// </summary>
  public sealed partial class CS_MD_EnterLobby : pb::IMessage<CS_MD_EnterLobby> {
    private static readonly pb::MessageParser<CS_MD_EnterLobby> _parser = new pb::MessageParser<CS_MD_EnterLobby>(() => new CS_MD_EnterLobby());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_MD_EnterLobby> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_EnterLobby() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_EnterLobby(CS_MD_EnterLobby other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_EnterLobby Clone() {
      return new CS_MD_EnterLobby(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_MD_EnterLobby);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_MD_EnterLobby other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_MD_EnterLobby other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 多人副本, 创建房间
  /// </summary>
  public sealed partial class CS_MD_CreateRoom : pb::IMessage<CS_MD_CreateRoom> {
    private static readonly pb::MessageParser<CS_MD_CreateRoom> _parser = new pb::MessageParser<CS_MD_CreateRoom>(() => new CS_MD_CreateRoom());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_MD_CreateRoom> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_CreateRoom() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_CreateRoom(CS_MD_CreateRoom other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
      mapid_ = other.mapid_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_CreateRoom Clone() {
      return new CS_MD_CreateRoom(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    /// <summary>
    /// zoneid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    /// <summary>
    /// 玩家id
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Mapid" field.</summary>
    public const int MapidFieldNumber = 3;
    private int mapid_;
    /// <summary>
    /// 地图id
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Mapid {
      get { return mapid_; }
      set {
        mapid_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_MD_CreateRoom);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_MD_CreateRoom other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      if (Mapid != other.Mapid) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      if (Mapid != 0) hash ^= Mapid.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
      if (Mapid != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Mapid);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      if (Mapid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mapid);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_MD_CreateRoom other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
      if (other.Mapid != 0) {
        Mapid = other.Mapid;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
          case 24: {
            Mapid = input.ReadInt32();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 多人副本, 申请房间(列表)
  /// </summary>
  public sealed partial class CS_MD_GetRoomList : pb::IMessage<CS_MD_GetRoomList> {
    private static readonly pb::MessageParser<CS_MD_GetRoomList> _parser = new pb::MessageParser<CS_MD_GetRoomList>(() => new CS_MD_GetRoomList());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_MD_GetRoomList> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_GetRoomList() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_GetRoomList(CS_MD_GetRoomList other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_GetRoomList Clone() {
      return new CS_MD_GetRoomList(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_MD_GetRoomList);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_MD_GetRoomList other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_MD_GetRoomList other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 多人副本, 加入房间
  /// </summary>
  public sealed partial class CS_MD_EnterRoom : pb::IMessage<CS_MD_EnterRoom> {
    private static readonly pb::MessageParser<CS_MD_EnterRoom> _parser = new pb::MessageParser<CS_MD_EnterRoom>(() => new CS_MD_EnterRoom());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_MD_EnterRoom> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_EnterRoom() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_EnterRoom(CS_MD_EnterRoom other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
      roomId_ = other.roomId_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_EnterRoom Clone() {
      return new CS_MD_EnterRoom(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RoomId" field.</summary>
    public const int RoomIdFieldNumber = 3;
    private int roomId_;
    /// <summary>
    /// 房间id
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RoomId {
      get { return roomId_; }
      set {
        roomId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_MD_EnterRoom);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_MD_EnterRoom other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      if (RoomId != other.RoomId) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      if (RoomId != 0) hash ^= RoomId.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
      if (RoomId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RoomId);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      if (RoomId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomId);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_MD_EnterRoom other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
      if (other.RoomId != 0) {
        RoomId = other.RoomId;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
          case 24: {
            RoomId = input.ReadInt32();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 多人副本, 离开房间
  /// </summary>
  public sealed partial class CS_MD_LeaveRoom : pb::IMessage<CS_MD_LeaveRoom> {
    private static readonly pb::MessageParser<CS_MD_LeaveRoom> _parser = new pb::MessageParser<CS_MD_LeaveRoom>(() => new CS_MD_LeaveRoom());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_MD_LeaveRoom> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_LeaveRoom() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_LeaveRoom(CS_MD_LeaveRoom other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_LeaveRoom Clone() {
      return new CS_MD_LeaveRoom(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    /// <summary>
    ///int32 RoomId=3;    // 房间id (理论上已经处于房间中不需要此字段)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_MD_LeaveRoom);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_MD_LeaveRoom other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_MD_LeaveRoom other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 多人副本, 开始游戏(创建者)
  /// </summary>
  public sealed partial class CS_MD_BeginDup : pb::IMessage<CS_MD_BeginDup> {
    private static readonly pb::MessageParser<CS_MD_BeginDup> _parser = new pb::MessageParser<CS_MD_BeginDup>(() => new CS_MD_BeginDup());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_MD_BeginDup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[5]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_BeginDup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_BeginDup(CS_MD_BeginDup other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_MD_BeginDup Clone() {
      return new CS_MD_BeginDup(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    /// <summary>
    ///int32 RoomId=3;    // 房间id (理论上已经处于房间中不需要此字段)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_MD_BeginDup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_MD_BeginDup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_MD_BeginDup other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
        }
      }
    }

  }

  public sealed partial class CS_BT_Login : pb::IMessage<CS_BT_Login> {
    private static readonly pb::MessageParser<CS_BT_Login> _parser = new pb::MessageParser<CS_BT_Login>(() => new CS_BT_Login());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_BT_Login> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[6]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Login() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Login(CS_BT_Login other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
      msg_ = other.msg_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Login Clone() {
      return new CS_BT_Login(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Msg" field.</summary>
    public const int MsgFieldNumber = 3;
    private string msg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Msg {
      get { return msg_; }
      set {
        msg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_BT_Login);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_BT_Login other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      if (Msg != other.Msg) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      if (Msg.Length != 0) hash ^= Msg.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
      if (Msg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Msg);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      if (Msg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Msg);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_BT_Login other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
      if (other.Msg.Length != 0) {
        Msg = other.Msg;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
          case 26: {
            Msg = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 查询组队列表
  /// </summary>
  public sealed partial class CS_BT_PeopleList : pb::IMessage<CS_BT_PeopleList> {
    private static readonly pb::MessageParser<CS_BT_PeopleList> _parser = new pb::MessageParser<CS_BT_PeopleList>(() => new CS_BT_PeopleList());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_BT_PeopleList> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[7]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_PeopleList() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_PeopleList(CS_BT_PeopleList other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_PeopleList Clone() {
      return new CS_BT_PeopleList(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_BT_PeopleList);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_BT_PeopleList other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_BT_PeopleList other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
        }
      }
    }

  }

  public sealed partial class CS_BT_Status : pb::IMessage<CS_BT_Status> {
    private static readonly pb::MessageParser<CS_BT_Status> _parser = new pb::MessageParser<CS_BT_Status>(() => new CS_BT_Status());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_BT_Status> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[8]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Status() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Status(CS_BT_Status other) : this() {
      zoneid_ = other.zoneid_;
      senderUid_ = other.senderUid_;
      propertyName_ = other.propertyName_;
      value_ = other.value_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Status Clone() {
      return new CS_BT_Status(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "SenderUid" field.</summary>
    public const int SenderUidFieldNumber = 2;
    private string senderUid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SenderUid {
      get { return senderUid_; }
      set {
        senderUid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PropertyName" field.</summary>
    public const int PropertyNameFieldNumber = 3;
    private string propertyName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string PropertyName {
      get { return propertyName_; }
      set {
        propertyName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Value" field.</summary>
    public const int ValueFieldNumber = 4;
    private string value_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Value {
      get { return value_; }
      set {
        value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_BT_Status);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_BT_Status other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (SenderUid != other.SenderUid) return false;
      if (PropertyName != other.PropertyName) return false;
      if (Value != other.Value) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (SenderUid.Length != 0) hash ^= SenderUid.GetHashCode();
      if (PropertyName.Length != 0) hash ^= PropertyName.GetHashCode();
      if (Value.Length != 0) hash ^= Value.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (SenderUid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SenderUid);
      }
      if (PropertyName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(PropertyName);
      }
      if (Value.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Value);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (SenderUid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderUid);
      }
      if (PropertyName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PropertyName);
      }
      if (Value.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_BT_Status other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.SenderUid.Length != 0) {
        SenderUid = other.SenderUid;
      }
      if (other.PropertyName.Length != 0) {
        PropertyName = other.PropertyName;
      }
      if (other.Value.Length != 0) {
        Value = other.Value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            SenderUid = input.ReadString();
            break;
          }
          case 26: {
            PropertyName = input.ReadString();
            break;
          }
          case 34: {
            Value = input.ReadString();
            break;
          }
        }
      }
    }

  }

  public sealed partial class CS_BT_Position : pb::IMessage<CS_BT_Position> {
    private static readonly pb::MessageParser<CS_BT_Position> _parser = new pb::MessageParser<CS_BT_Position>(() => new CS_BT_Position());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_BT_Position> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[9]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Position() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Position(CS_BT_Position other) : this() {
      zoneid_ = other.zoneid_;
      senderUid_ = other.senderUid_;
      x_ = other.x_;
      y_ = other.y_;
      z_ = other.z_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Position Clone() {
      return new CS_BT_Position(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "SenderUid" field.</summary>
    public const int SenderUidFieldNumber = 2;
    private string senderUid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SenderUid {
      get { return senderUid_; }
      set {
        senderUid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "X" field.</summary>
    public const int XFieldNumber = 3;
    private float x_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public float X {
      get { return x_; }
      set {
        x_ = value;
      }
    }

    /// <summary>Field number for the "Y" field.</summary>
    public const int YFieldNumber = 4;
    private float y_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public float Y {
      get { return y_; }
      set {
        y_ = value;
      }
    }

    /// <summary>Field number for the "Z" field.</summary>
    public const int ZFieldNumber = 5;
    private float z_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public float Z {
      get { return z_; }
      set {
        z_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_BT_Position);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_BT_Position other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (SenderUid != other.SenderUid) return false;
      if (X != other.X) return false;
      if (Y != other.Y) return false;
      if (Z != other.Z) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (SenderUid.Length != 0) hash ^= SenderUid.GetHashCode();
      if (X != 0F) hash ^= X.GetHashCode();
      if (Y != 0F) hash ^= Y.GetHashCode();
      if (Z != 0F) hash ^= Z.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (SenderUid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SenderUid);
      }
      if (X != 0F) {
        output.WriteRawTag(29);
        output.WriteFloat(X);
      }
      if (Y != 0F) {
        output.WriteRawTag(37);
        output.WriteFloat(Y);
      }
      if (Z != 0F) {
        output.WriteRawTag(45);
        output.WriteFloat(Z);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (SenderUid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderUid);
      }
      if (X != 0F) {
        size += 1 + 4;
      }
      if (Y != 0F) {
        size += 1 + 4;
      }
      if (Z != 0F) {
        size += 1 + 4;
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_BT_Position other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.SenderUid.Length != 0) {
        SenderUid = other.SenderUid;
      }
      if (other.X != 0F) {
        X = other.X;
      }
      if (other.Y != 0F) {
        Y = other.Y;
      }
      if (other.Z != 0F) {
        Z = other.Z;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            SenderUid = input.ReadString();
            break;
          }
          case 29: {
            X = input.ReadFloat();
            break;
          }
          case 37: {
            Y = input.ReadFloat();
            break;
          }
          case 45: {
            Z = input.ReadFloat();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 战斗服务, 广播
  /// </summary>
  public sealed partial class CS_BT_BroadCast : pb::IMessage<CS_BT_BroadCast> {
    private static readonly pb::MessageParser<CS_BT_BroadCast> _parser = new pb::MessageParser<CS_BT_BroadCast>(() => new CS_BT_BroadCast());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_BT_BroadCast> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[10]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_BroadCast() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_BroadCast(CS_BT_BroadCast other) : this() {
      zoneid_ = other.zoneid_;
      senderUid_ = other.senderUid_;
      msg_ = other.msg_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_BroadCast Clone() {
      return new CS_BT_BroadCast(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "SenderUid" field.</summary>
    public const int SenderUidFieldNumber = 2;
    private string senderUid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SenderUid {
      get { return senderUid_; }
      set {
        senderUid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Msg" field.</summary>
    public const int MsgFieldNumber = 3;
    private string msg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Msg {
      get { return msg_; }
      set {
        msg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_BT_BroadCast);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_BT_BroadCast other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (SenderUid != other.SenderUid) return false;
      if (Msg != other.Msg) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (SenderUid.Length != 0) hash ^= SenderUid.GetHashCode();
      if (Msg.Length != 0) hash ^= Msg.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (SenderUid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SenderUid);
      }
      if (Msg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Msg);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (SenderUid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderUid);
      }
      if (Msg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Msg);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_BT_BroadCast other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.SenderUid.Length != 0) {
        SenderUid = other.SenderUid;
      }
      if (other.Msg.Length != 0) {
        Msg = other.Msg;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            SenderUid = input.ReadString();
            break;
          }
          case 26: {
            Msg = input.ReadString();
            break;
          }
        }
      }
    }

  }

  public sealed partial class CS_BT_Over : pb::IMessage<CS_BT_Over> {
    private static readonly pb::MessageParser<CS_BT_Over> _parser = new pb::MessageParser<CS_BT_Over>(() => new CS_BT_Over());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_BT_Over> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[11]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Over() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Over(CS_BT_Over other) : this() {
      zoneid_ = other.zoneid_;
      senderUid_ = other.senderUid_;
      msg_ = other.msg_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_BT_Over Clone() {
      return new CS_BT_Over(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "SenderUid" field.</summary>
    public const int SenderUidFieldNumber = 2;
    private string senderUid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SenderUid {
      get { return senderUid_; }
      set {
        senderUid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Msg" field.</summary>
    public const int MsgFieldNumber = 3;
    private string msg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Msg {
      get { return msg_; }
      set {
        msg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CS_BT_Over);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_BT_Over other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (SenderUid != other.SenderUid) return false;
      if (Msg != other.Msg) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (SenderUid.Length != 0) hash ^= SenderUid.GetHashCode();
      if (Msg.Length != 0) hash ^= Msg.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (SenderUid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SenderUid);
      }
      if (Msg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Msg);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (SenderUid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderUid);
      }
      if (Msg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Msg);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_BT_Over other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.SenderUid.Length != 0) {
        SenderUid = other.SenderUid;
      }
      if (other.Msg.Length != 0) {
        Msg = other.Msg;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            SenderUid = input.ReadString();
            break;
          }
          case 26: {
            Msg = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 
  /// 加入房间成功
  /// </summary>
  public sealed partial class SC_MD_EnterLobby : pb::IMessage<SC_MD_EnterLobby> {
    private static readonly pb::MessageParser<SC_MD_EnterLobby> _parser = new pb::MessageParser<SC_MD_EnterLobby>(() => new SC_MD_EnterLobby());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_MD_EnterLobby> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[12]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_EnterLobby() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_EnterLobby(SC_MD_EnterLobby other) : this() {
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_EnterLobby Clone() {
      return new SC_MD_EnterLobby(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_MD_EnterLobby);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_MD_EnterLobby other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_MD_EnterLobby other) {
      if (other == null) {
        return;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
        }
      }
    }

  }

  /// <summary>
  /// 多人副本, 创建房间
  /// </summary>
  public sealed partial class SC_MD_CreateRoom : pb::IMessage<SC_MD_CreateRoom> {
    private static readonly pb::MessageParser<SC_MD_CreateRoom> _parser = new pb::MessageParser<SC_MD_CreateRoom>(() => new SC_MD_CreateRoom());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_MD_CreateRoom> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[13]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_CreateRoom() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_CreateRoom(SC_MD_CreateRoom other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
      mapid_ = other.mapid_;
      roomId_ = other.roomId_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_CreateRoom Clone() {
      return new SC_MD_CreateRoom(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Mapid" field.</summary>
    public const int MapidFieldNumber = 3;
    private int mapid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Mapid {
      get { return mapid_; }
      set {
        mapid_ = value;
      }
    }

    /// <summary>Field number for the "RoomId" field.</summary>
    public const int RoomIdFieldNumber = 4;
    private int roomId_;
    /// <summary>
    /// 房间id (服务端分配)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RoomId {
      get { return roomId_; }
      set {
        roomId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_MD_CreateRoom);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_MD_CreateRoom other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      if (Mapid != other.Mapid) return false;
      if (RoomId != other.RoomId) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      if (Mapid != 0) hash ^= Mapid.GetHashCode();
      if (RoomId != 0) hash ^= RoomId.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
      if (Mapid != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Mapid);
      }
      if (RoomId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RoomId);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      if (Mapid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mapid);
      }
      if (RoomId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomId);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_MD_CreateRoom other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
      if (other.Mapid != 0) {
        Mapid = other.Mapid;
      }
      if (other.RoomId != 0) {
        RoomId = other.RoomId;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
          case 24: {
            Mapid = input.ReadInt32();
            break;
          }
          case 32: {
            RoomId = input.ReadInt32();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 多人副本, 申请房间(列表)
  /// </summary>
  public sealed partial class SC_MD_GetRoomList : pb::IMessage<SC_MD_GetRoomList> {
    private static readonly pb::MessageParser<SC_MD_GetRoomList> _parser = new pb::MessageParser<SC_MD_GetRoomList>(() => new SC_MD_GetRoomList());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_MD_GetRoomList> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[14]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_GetRoomList() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_GetRoomList(SC_MD_GetRoomList other) : this() {
      roomInfos_ = other.roomInfos_.Clone();
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_GetRoomList Clone() {
      return new SC_MD_GetRoomList(this);
    }

    /// <summary>Field number for the "RoomInfos" field.</summary>
    public const int RoomInfosFieldNumber = 1;
    private static readonly pb::FieldCodec<global::MultiDup.SC_MD_GetRoomList.Types.RoomInfo> _repeated_roomInfos_codec
        = pb::FieldCodec.ForMessage(10, global::MultiDup.SC_MD_GetRoomList.Types.RoomInfo.Parser);
    private readonly pbc::RepeatedField<global::MultiDup.SC_MD_GetRoomList.Types.RoomInfo> roomInfos_ = new pbc::RepeatedField<global::MultiDup.SC_MD_GetRoomList.Types.RoomInfo>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::MultiDup.SC_MD_GetRoomList.Types.RoomInfo> RoomInfos {
      get { return roomInfos_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_MD_GetRoomList);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_MD_GetRoomList other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!roomInfos_.Equals(other.roomInfos_)) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= roomInfos_.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      roomInfos_.WriteTo(output, _repeated_roomInfos_codec);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      size += roomInfos_.CalculateSize(_repeated_roomInfos_codec);
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_MD_GetRoomList other) {
      if (other == null) {
        return;
      }
      roomInfos_.Add(other.roomInfos_);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            roomInfos_.AddEntriesFrom(input, _repeated_roomInfos_codec);
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the SC_MD_GetRoomList message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      public sealed partial class RoomInfo : pb::IMessage<RoomInfo> {
        private static readonly pb::MessageParser<RoomInfo> _parser = new pb::MessageParser<RoomInfo>(() => new RoomInfo());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<RoomInfo> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::MultiDup.SC_MD_GetRoomList.Descriptor.NestedTypes[0]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public RoomInfo() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public RoomInfo(RoomInfo other) : this() {
          roomId_ = other.roomId_;
          mapid_ = other.mapid_;
          playerUids_ = other.playerUids_.Clone();
          battleserver_ = other.battleserver_;
          battleServerPort_ = other.battleServerPort_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public RoomInfo Clone() {
          return new RoomInfo(this);
        }

        /// <summary>Field number for the "RoomId" field.</summary>
        public const int RoomIdFieldNumber = 1;
        private int roomId_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int RoomId {
          get { return roomId_; }
          set {
            roomId_ = value;
          }
        }

        /// <summary>Field number for the "Mapid" field.</summary>
        public const int MapidFieldNumber = 2;
        private int mapid_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int Mapid {
          get { return mapid_; }
          set {
            mapid_ = value;
          }
        }

        /// <summary>Field number for the "PlayerUids" field.</summary>
        public const int PlayerUidsFieldNumber = 3;
        private static readonly pb::FieldCodec<string> _repeated_playerUids_codec
            = pb::FieldCodec.ForString(26);
        private readonly pbc::RepeatedField<string> playerUids_ = new pbc::RepeatedField<string>();
        /// <summary>
        ///??
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<string> PlayerUids {
          get { return playerUids_; }
        }

        /// <summary>Field number for the "Battleserver" field.</summary>
        public const int BattleserverFieldNumber = 4;
        private string battleserver_ = "";
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public string Battleserver {
          get { return battleserver_; }
          set {
            battleserver_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
          }
        }

        /// <summary>Field number for the "BattleServerPort" field.</summary>
        public const int BattleServerPortFieldNumber = 5;
        private int battleServerPort_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int BattleServerPort {
          get { return battleServerPort_; }
          set {
            battleServerPort_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as RoomInfo);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(RoomInfo other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (RoomId != other.RoomId) return false;
          if (Mapid != other.Mapid) return false;
          if(!playerUids_.Equals(other.playerUids_)) return false;
          if (Battleserver != other.Battleserver) return false;
          if (BattleServerPort != other.BattleServerPort) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (RoomId != 0) hash ^= RoomId.GetHashCode();
          if (Mapid != 0) hash ^= Mapid.GetHashCode();
          hash ^= playerUids_.GetHashCode();
          if (Battleserver.Length != 0) hash ^= Battleserver.GetHashCode();
          if (BattleServerPort != 0) hash ^= BattleServerPort.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (RoomId != 0) {
            output.WriteRawTag(8);
            output.WriteInt32(RoomId);
          }
          if (Mapid != 0) {
            output.WriteRawTag(16);
            output.WriteInt32(Mapid);
          }
          playerUids_.WriteTo(output, _repeated_playerUids_codec);
          if (Battleserver.Length != 0) {
            output.WriteRawTag(34);
            output.WriteString(Battleserver);
          }
          if (BattleServerPort != 0) {
            output.WriteRawTag(40);
            output.WriteInt32(BattleServerPort);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (RoomId != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomId);
          }
          if (Mapid != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mapid);
          }
          size += playerUids_.CalculateSize(_repeated_playerUids_codec);
          if (Battleserver.Length != 0) {
            size += 1 + pb::CodedOutputStream.ComputeStringSize(Battleserver);
          }
          if (BattleServerPort != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(BattleServerPort);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(RoomInfo other) {
          if (other == null) {
            return;
          }
          if (other.RoomId != 0) {
            RoomId = other.RoomId;
          }
          if (other.Mapid != 0) {
            Mapid = other.Mapid;
          }
          playerUids_.Add(other.playerUids_);
          if (other.Battleserver.Length != 0) {
            Battleserver = other.Battleserver;
          }
          if (other.BattleServerPort != 0) {
            BattleServerPort = other.BattleServerPort;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                RoomId = input.ReadInt32();
                break;
              }
              case 16: {
                Mapid = input.ReadInt32();
                break;
              }
              case 26: {
                playerUids_.AddEntriesFrom(input, _repeated_playerUids_codec);
                break;
              }
              case 34: {
                Battleserver = input.ReadString();
                break;
              }
              case 40: {
                BattleServerPort = input.ReadInt32();
                break;
              }
            }
          }
        }

      }

    }
    #endregion

  }

  /// <summary>
  /// 多人副本, 加入房间
  /// </summary>
  public sealed partial class SC_MD_EnterRoom : pb::IMessage<SC_MD_EnterRoom> {
    private static readonly pb::MessageParser<SC_MD_EnterRoom> _parser = new pb::MessageParser<SC_MD_EnterRoom>(() => new SC_MD_EnterRoom());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_MD_EnterRoom> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[15]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_EnterRoom() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_EnterRoom(SC_MD_EnterRoom other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
      mapid_ = other.mapid_;
      ip_ = other.ip_;
      port_ = other.port_;
      playerUids_ = other.playerUids_.Clone();
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_EnterRoom Clone() {
      return new SC_MD_EnterRoom(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    /// <summary>
    /// (新进id)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Mapid" field.</summary>
    public const int MapidFieldNumber = 3;
    private int mapid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Mapid {
      get { return mapid_; }
      set {
        mapid_ = value;
      }
    }

    /// <summary>Field number for the "Ip" field.</summary>
    public const int IpFieldNumber = 4;
    private string ip_ = "";
    /// <summary>
    /// 战斗服务器ip
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Ip {
      get { return ip_; }
      set {
        ip_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Port" field.</summary>
    public const int PortFieldNumber = 5;
    private int port_;
    /// <summary>
    /// 战斗服务器端口
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Port {
      get { return port_; }
      set {
        port_ = value;
      }
    }

    /// <summary>Field number for the "PlayerUids" field.</summary>
    public const int PlayerUidsFieldNumber = 6;
    private static readonly pb::FieldCodec<string> _repeated_playerUids_codec
        = pb::FieldCodec.ForString(50);
    private readonly pbc::RepeatedField<string> playerUids_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<string> PlayerUids {
      get { return playerUids_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_MD_EnterRoom);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_MD_EnterRoom other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      if (Mapid != other.Mapid) return false;
      if (Ip != other.Ip) return false;
      if (Port != other.Port) return false;
      if(!playerUids_.Equals(other.playerUids_)) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      if (Mapid != 0) hash ^= Mapid.GetHashCode();
      if (Ip.Length != 0) hash ^= Ip.GetHashCode();
      if (Port != 0) hash ^= Port.GetHashCode();
      hash ^= playerUids_.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
      if (Mapid != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Mapid);
      }
      if (Ip.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Ip);
      }
      if (Port != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Port);
      }
      playerUids_.WriteTo(output, _repeated_playerUids_codec);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      if (Mapid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mapid);
      }
      if (Ip.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Ip);
      }
      if (Port != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Port);
      }
      size += playerUids_.CalculateSize(_repeated_playerUids_codec);
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_MD_EnterRoom other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
      if (other.Mapid != 0) {
        Mapid = other.Mapid;
      }
      if (other.Ip.Length != 0) {
        Ip = other.Ip;
      }
      if (other.Port != 0) {
        Port = other.Port;
      }
      playerUids_.Add(other.playerUids_);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
          case 24: {
            Mapid = input.ReadInt32();
            break;
          }
          case 34: {
            Ip = input.ReadString();
            break;
          }
          case 40: {
            Port = input.ReadInt32();
            break;
          }
          case 50: {
            playerUids_.AddEntriesFrom(input, _repeated_playerUids_codec);
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 多人副本, 离开房间
  /// </summary>
  public sealed partial class SC_MD_LeaveRoom : pb::IMessage<SC_MD_LeaveRoom> {
    private static readonly pb::MessageParser<SC_MD_LeaveRoom> _parser = new pb::MessageParser<SC_MD_LeaveRoom>(() => new SC_MD_LeaveRoom());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_MD_LeaveRoom> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[16]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_LeaveRoom() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_LeaveRoom(SC_MD_LeaveRoom other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_LeaveRoom Clone() {
      return new SC_MD_LeaveRoom(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    /// <summary>
    /// (离开id)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_MD_LeaveRoom);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_MD_LeaveRoom other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_MD_LeaveRoom other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 多人副本, 开始游戏(创建者)
  /// </summary>
  public sealed partial class SC_MD_BeginDup : pb::IMessage<SC_MD_BeginDup> {
    private static readonly pb::MessageParser<SC_MD_BeginDup> _parser = new pb::MessageParser<SC_MD_BeginDup>(() => new SC_MD_BeginDup());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_MD_BeginDup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[17]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_BeginDup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_BeginDup(SC_MD_BeginDup other) : this() {
      battleserver_ = other.battleserver_;
      battleServerPort_ = other.battleServerPort_;
      mapid_ = other.mapid_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_MD_BeginDup Clone() {
      return new SC_MD_BeginDup(this);
    }

    /// <summary>Field number for the "Battleserver" field.</summary>
    public const int BattleserverFieldNumber = 1;
    private string battleserver_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Battleserver {
      get { return battleserver_; }
      set {
        battleserver_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BattleServerPort" field.</summary>
    public const int BattleServerPortFieldNumber = 2;
    private int battleServerPort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int BattleServerPort {
      get { return battleServerPort_; }
      set {
        battleServerPort_ = value;
      }
    }

    /// <summary>Field number for the "Mapid" field.</summary>
    public const int MapidFieldNumber = 3;
    private int mapid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Mapid {
      get { return mapid_; }
      set {
        mapid_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_MD_BeginDup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_MD_BeginDup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Battleserver != other.Battleserver) return false;
      if (BattleServerPort != other.BattleServerPort) return false;
      if (Mapid != other.Mapid) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Battleserver.Length != 0) hash ^= Battleserver.GetHashCode();
      if (BattleServerPort != 0) hash ^= BattleServerPort.GetHashCode();
      if (Mapid != 0) hash ^= Mapid.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Battleserver.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Battleserver);
      }
      if (BattleServerPort != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BattleServerPort);
      }
      if (Mapid != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Mapid);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Battleserver.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Battleserver);
      }
      if (BattleServerPort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BattleServerPort);
      }
      if (Mapid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mapid);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_MD_BeginDup other) {
      if (other == null) {
        return;
      }
      if (other.Battleserver.Length != 0) {
        Battleserver = other.Battleserver;
      }
      if (other.BattleServerPort != 0) {
        BattleServerPort = other.BattleServerPort;
      }
      if (other.Mapid != 0) {
        Mapid = other.Mapid;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            Battleserver = input.ReadString();
            break;
          }
          case 16: {
            BattleServerPort = input.ReadInt32();
            break;
          }
          case 24: {
            Mapid = input.ReadInt32();
            break;
          }
        }
      }
    }

  }

  public sealed partial class SC_BT_Login : pb::IMessage<SC_BT_Login> {
    private static readonly pb::MessageParser<SC_BT_Login> _parser = new pb::MessageParser<SC_BT_Login>(() => new SC_BT_Login());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_BT_Login> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[18]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Login() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Login(SC_BT_Login other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
      msg_ = other.msg_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Login Clone() {
      return new SC_BT_Login(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "Uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Msg" field.</summary>
    public const int MsgFieldNumber = 3;
    private string msg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Msg {
      get { return msg_; }
      set {
        msg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_BT_Login);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_BT_Login other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      if (Msg != other.Msg) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      if (Msg.Length != 0) hash ^= Msg.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
      if (Msg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Msg);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      if (Msg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Msg);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_BT_Login other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
      if (other.Msg.Length != 0) {
        Msg = other.Msg;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
          case 26: {
            Msg = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 战斗服务器, 玩家列表更新
  /// </summary>
  public sealed partial class SC_BT_PeopleList : pb::IMessage<SC_BT_PeopleList> {
    private static readonly pb::MessageParser<SC_BT_PeopleList> _parser = new pb::MessageParser<SC_BT_PeopleList>(() => new SC_BT_PeopleList());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_BT_PeopleList> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[19]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_PeopleList() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_PeopleList(SC_BT_PeopleList other) : this() {
      zoneid_ = other.zoneid_;
      newerUid_ = other.newerUid_;
      playerUids_ = other.playerUids_.Clone();
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_PeopleList Clone() {
      return new SC_BT_PeopleList(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "NewerUid" field.</summary>
    public const int NewerUidFieldNumber = 2;
    private string newerUid_ = "";
    /// <summary>
    /// (新进id)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string NewerUid {
      get { return newerUid_; }
      set {
        newerUid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PlayerUids" field.</summary>
    public const int PlayerUidsFieldNumber = 3;
    private static readonly pb::FieldCodec<string> _repeated_playerUids_codec
        = pb::FieldCodec.ForString(26);
    private readonly pbc::RepeatedField<string> playerUids_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<string> PlayerUids {
      get { return playerUids_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_BT_PeopleList);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_BT_PeopleList other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (NewerUid != other.NewerUid) return false;
      if(!playerUids_.Equals(other.playerUids_)) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (NewerUid.Length != 0) hash ^= NewerUid.GetHashCode();
      hash ^= playerUids_.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (NewerUid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NewerUid);
      }
      playerUids_.WriteTo(output, _repeated_playerUids_codec);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (NewerUid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NewerUid);
      }
      size += playerUids_.CalculateSize(_repeated_playerUids_codec);
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_BT_PeopleList other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.NewerUid.Length != 0) {
        NewerUid = other.NewerUid;
      }
      playerUids_.Add(other.playerUids_);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            NewerUid = input.ReadString();
            break;
          }
          case 26: {
            playerUids_.AddEntriesFrom(input, _repeated_playerUids_codec);
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 战斗服务 同步状态
  /// </summary>
  public sealed partial class SC_BT_Status : pb::IMessage<SC_BT_Status> {
    private static readonly pb::MessageParser<SC_BT_Status> _parser = new pb::MessageParser<SC_BT_Status>(() => new SC_BT_Status());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_BT_Status> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[20]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Status() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Status(SC_BT_Status other) : this() {
      zoneid_ = other.zoneid_;
      senderUid_ = other.senderUid_;
      propertyName_ = other.propertyName_;
      value_ = other.value_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Status Clone() {
      return new SC_BT_Status(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "SenderUid" field.</summary>
    public const int SenderUidFieldNumber = 2;
    private string senderUid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SenderUid {
      get { return senderUid_; }
      set {
        senderUid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PropertyName" field.</summary>
    public const int PropertyNameFieldNumber = 3;
    private string propertyName_ = "";
    /// <summary>
    /// 属性名称
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string PropertyName {
      get { return propertyName_; }
      set {
        propertyName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Value" field.</summary>
    public const int ValueFieldNumber = 4;
    private string value_ = "";
    /// <summary>
    /// 属性值
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Value {
      get { return value_; }
      set {
        value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_BT_Status);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_BT_Status other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (SenderUid != other.SenderUid) return false;
      if (PropertyName != other.PropertyName) return false;
      if (Value != other.Value) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (SenderUid.Length != 0) hash ^= SenderUid.GetHashCode();
      if (PropertyName.Length != 0) hash ^= PropertyName.GetHashCode();
      if (Value.Length != 0) hash ^= Value.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (SenderUid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SenderUid);
      }
      if (PropertyName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(PropertyName);
      }
      if (Value.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Value);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (SenderUid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderUid);
      }
      if (PropertyName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PropertyName);
      }
      if (Value.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_BT_Status other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.SenderUid.Length != 0) {
        SenderUid = other.SenderUid;
      }
      if (other.PropertyName.Length != 0) {
        PropertyName = other.PropertyName;
      }
      if (other.Value.Length != 0) {
        Value = other.Value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            SenderUid = input.ReadString();
            break;
          }
          case 26: {
            PropertyName = input.ReadString();
            break;
          }
          case 34: {
            Value = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 战斗服务 同步位置
  /// </summary>
  public sealed partial class SC_BT_Position : pb::IMessage<SC_BT_Position> {
    private static readonly pb::MessageParser<SC_BT_Position> _parser = new pb::MessageParser<SC_BT_Position>(() => new SC_BT_Position());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_BT_Position> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[21]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Position() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Position(SC_BT_Position other) : this() {
      zoneid_ = other.zoneid_;
      senderUid_ = other.senderUid_;
      x_ = other.x_;
      y_ = other.y_;
      z_ = other.z_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Position Clone() {
      return new SC_BT_Position(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "SenderUid" field.</summary>
    public const int SenderUidFieldNumber = 2;
    private string senderUid_ = "";
    /// <summary>
    /// 发送者uid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SenderUid {
      get { return senderUid_; }
      set {
        senderUid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "X" field.</summary>
    public const int XFieldNumber = 3;
    private float x_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public float X {
      get { return x_; }
      set {
        x_ = value;
      }
    }

    /// <summary>Field number for the "Y" field.</summary>
    public const int YFieldNumber = 4;
    private float y_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public float Y {
      get { return y_; }
      set {
        y_ = value;
      }
    }

    /// <summary>Field number for the "Z" field.</summary>
    public const int ZFieldNumber = 5;
    private float z_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public float Z {
      get { return z_; }
      set {
        z_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_BT_Position);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_BT_Position other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (SenderUid != other.SenderUid) return false;
      if (X != other.X) return false;
      if (Y != other.Y) return false;
      if (Z != other.Z) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (SenderUid.Length != 0) hash ^= SenderUid.GetHashCode();
      if (X != 0F) hash ^= X.GetHashCode();
      if (Y != 0F) hash ^= Y.GetHashCode();
      if (Z != 0F) hash ^= Z.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (SenderUid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SenderUid);
      }
      if (X != 0F) {
        output.WriteRawTag(29);
        output.WriteFloat(X);
      }
      if (Y != 0F) {
        output.WriteRawTag(37);
        output.WriteFloat(Y);
      }
      if (Z != 0F) {
        output.WriteRawTag(45);
        output.WriteFloat(Z);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (SenderUid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderUid);
      }
      if (X != 0F) {
        size += 1 + 4;
      }
      if (Y != 0F) {
        size += 1 + 4;
      }
      if (Z != 0F) {
        size += 1 + 4;
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_BT_Position other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.SenderUid.Length != 0) {
        SenderUid = other.SenderUid;
      }
      if (other.X != 0F) {
        X = other.X;
      }
      if (other.Y != 0F) {
        Y = other.Y;
      }
      if (other.Z != 0F) {
        Z = other.Z;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            SenderUid = input.ReadString();
            break;
          }
          case 29: {
            X = input.ReadFloat();
            break;
          }
          case 37: {
            Y = input.ReadFloat();
            break;
          }
          case 45: {
            Z = input.ReadFloat();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 战斗服务 广播
  /// </summary>
  public sealed partial class SC_BT_BroadCast : pb::IMessage<SC_BT_BroadCast> {
    private static readonly pb::MessageParser<SC_BT_BroadCast> _parser = new pb::MessageParser<SC_BT_BroadCast>(() => new SC_BT_BroadCast());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_BT_BroadCast> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[22]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_BroadCast() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_BroadCast(SC_BT_BroadCast other) : this() {
      zoneid_ = other.zoneid_;
      senderUid_ = other.senderUid_;
      msg_ = other.msg_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_BroadCast Clone() {
      return new SC_BT_BroadCast(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "SenderUid" field.</summary>
    public const int SenderUidFieldNumber = 2;
    private string senderUid_ = "";
    /// <summary>
    /// 发送者uid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SenderUid {
      get { return senderUid_; }
      set {
        senderUid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Msg" field.</summary>
    public const int MsgFieldNumber = 3;
    private string msg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Msg {
      get { return msg_; }
      set {
        msg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_BT_BroadCast);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_BT_BroadCast other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (SenderUid != other.SenderUid) return false;
      if (Msg != other.Msg) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (SenderUid.Length != 0) hash ^= SenderUid.GetHashCode();
      if (Msg.Length != 0) hash ^= Msg.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (SenderUid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SenderUid);
      }
      if (Msg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Msg);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (SenderUid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderUid);
      }
      if (Msg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Msg);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_BT_BroadCast other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.SenderUid.Length != 0) {
        SenderUid = other.SenderUid;
      }
      if (other.Msg.Length != 0) {
        Msg = other.Msg;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            SenderUid = input.ReadString();
            break;
          }
          case 26: {
            Msg = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 战斗服务,结束
  /// </summary>
  public sealed partial class SC_BT_Over : pb::IMessage<SC_BT_Over> {
    private static readonly pb::MessageParser<SC_BT_Over> _parser = new pb::MessageParser<SC_BT_Over>(() => new SC_BT_Over());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_BT_Over> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[23]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Over() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Over(SC_BT_Over other) : this() {
      zoneid_ = other.zoneid_;
      senderUid_ = other.senderUid_;
      msg_ = other.msg_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_BT_Over Clone() {
      return new SC_BT_Over(this);
    }

    /// <summary>Field number for the "Zoneid" field.</summary>
    public const int ZoneidFieldNumber = 1;
    private int zoneid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Zoneid {
      get { return zoneid_; }
      set {
        zoneid_ = value;
      }
    }

    /// <summary>Field number for the "SenderUid" field.</summary>
    public const int SenderUidFieldNumber = 2;
    private string senderUid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SenderUid {
      get { return senderUid_; }
      set {
        senderUid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Msg" field.</summary>
    public const int MsgFieldNumber = 3;
    private string msg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Msg {
      get { return msg_; }
      set {
        msg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SC_BT_Over);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_BT_Over other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (SenderUid != other.SenderUid) return false;
      if (Msg != other.Msg) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (SenderUid.Length != 0) hash ^= SenderUid.GetHashCode();
      if (Msg.Length != 0) hash ^= Msg.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (SenderUid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SenderUid);
      }
      if (Msg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Msg);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Zoneid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Zoneid);
      }
      if (SenderUid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderUid);
      }
      if (Msg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Msg);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_BT_Over other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.SenderUid.Length != 0) {
        SenderUid = other.SenderUid;
      }
      if (other.Msg.Length != 0) {
        Msg = other.Msg;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            SenderUid = input.ReadString();
            break;
          }
          case 26: {
            Msg = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 多人副本在战斗服创建房间
  /// </summary>
  public sealed partial class SS_CreateBattleServer : pb::IMessage<SS_CreateBattleServer> {
    private static readonly pb::MessageParser<SS_CreateBattleServer> _parser = new pb::MessageParser<SS_CreateBattleServer>(() => new SS_CreateBattleServer());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SS_CreateBattleServer> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[24]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SS_CreateBattleServer() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SS_CreateBattleServer(SS_CreateBattleServer other) : this() {
      roomId_ = other.roomId_;
      playerUids_ = other.playerUids_.Clone();
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SS_CreateBattleServer Clone() {
      return new SS_CreateBattleServer(this);
    }

    /// <summary>Field number for the "RoomId" field.</summary>
    public const int RoomIdFieldNumber = 1;
    private int roomId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RoomId {
      get { return roomId_; }
      set {
        roomId_ = value;
      }
    }

    /// <summary>Field number for the "PlayerUids" field.</summary>
    public const int PlayerUidsFieldNumber = 2;
    private static readonly pb::FieldCodec<string> _repeated_playerUids_codec
        = pb::FieldCodec.ForString(18);
    private readonly pbc::RepeatedField<string> playerUids_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<string> PlayerUids {
      get { return playerUids_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SS_CreateBattleServer);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SS_CreateBattleServer other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RoomId != other.RoomId) return false;
      if(!playerUids_.Equals(other.playerUids_)) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RoomId != 0) hash ^= RoomId.GetHashCode();
      hash ^= playerUids_.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (RoomId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RoomId);
      }
      playerUids_.WriteTo(output, _repeated_playerUids_codec);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RoomId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomId);
      }
      size += playerUids_.CalculateSize(_repeated_playerUids_codec);
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SS_CreateBattleServer other) {
      if (other == null) {
        return;
      }
      if (other.RoomId != 0) {
        RoomId = other.RoomId;
      }
      playerUids_.Add(other.playerUids_);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            RoomId = input.ReadInt32();
            break;
          }
          case 18: {
            playerUids_.AddEntriesFrom(input, _repeated_playerUids_codec);
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 多人副本,创建战斗房间OK
  /// </summary>
  public sealed partial class SS_CreateBattleServerOK : pb::IMessage<SS_CreateBattleServerOK> {
    private static readonly pb::MessageParser<SS_CreateBattleServerOK> _parser = new pb::MessageParser<SS_CreateBattleServerOK>(() => new SS_CreateBattleServerOK());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SS_CreateBattleServerOK> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::MultiDup.MultiDupReflection.Descriptor.MessageTypes[25]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SS_CreateBattleServerOK() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SS_CreateBattleServerOK(SS_CreateBattleServerOK other) : this() {
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SS_CreateBattleServerOK Clone() {
      return new SS_CreateBattleServerOK(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as SS_CreateBattleServerOK);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SS_CreateBattleServerOK other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SS_CreateBattleServerOK other) {
      if (other == null) {
        return;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
        }
      }
    }

  }

  #endregion

}

#endregion Designer generated code
