// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: user.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 Protos {

  /// <summary>Holder for reflection information generated from user.proto</summary>
  public static partial class UserReflection {

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

    static UserReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "Cgp1c2VyLnByb3RvEgZwcm90b3MaDnVzZXJpbmZvLnByb3RvGgxyZXN1bHQu",
            "cHJvdG8iBQoDU1lOIg0KC0Nsb3NlTm90aWZ5IhsKCWNsb3NlUHVzaBIOCgZy",
            "ZWFzb24YASABKAUiIAoQSGVhcnRiZWF0UmVxdWVzdBIMCgRQaW5nGAEgASgN",
            "IjMKEUhlYXJ0YmVhdFJlc3BvbnNlEh4KBlJlc3VsdBgBIAEoCzIOLnByb3Rv",
            "cy5SZXN1bHQiTAoMTG9naW5SZXF1ZXN0EiIKCFVzZXJJbmZvGAEgASgLMhAu",
            "cHJvdG9zLlVzZXJJbmZvEgsKA2xuZxgCIAEoARILCgNsYXQYAyABKAEivwEK",
            "DUxvZ2luUmVzcG9uc2USHgoGUmVzdWx0GAEgASgLMg4ucHJvdG9zLlJlc3Vs",
            "dBIPCgdMb2JieUlEGAIgASgNEg4KBlJvb21JRBgDIAEoDRIUCgxTeW5jSW50",
            "ZXJ2YWwYBCABKA0SCQoBThgFIAEoDRIOCgZFcnJtc2cYBiABKAkSCQoBVBgH",
            "IAEoBBIOCgZNYXN0ZXIYCCABKAgSDwoHV29ybGRJRBgJIAEoDRIQCghTZXJ2",
            "ZXJJRBgKIAEoBGIGcHJvdG8z"));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Protos.UserinfoReflection.Descriptor, global::Protos.ResultReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.SYN), global::Protos.SYN.Parser, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.CloseNotify), global::Protos.CloseNotify.Parser, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.closePush), global::Protos.closePush.Parser, new[]{ "Reason" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.HeartbeatRequest), global::Protos.HeartbeatRequest.Parser, new[]{ "Ping" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.HeartbeatResponse), global::Protos.HeartbeatResponse.Parser, new[]{ "Result" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.LoginRequest), global::Protos.LoginRequest.Parser, new[]{ "UserInfo", "Lng", "Lat" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.LoginResponse), global::Protos.LoginResponse.Parser, new[]{ "Result", "LobbyID", "RoomID", "SyncInterval", "N", "Errmsg", "T", "Master", "WorldID", "ServerID" }, null, null, null)
          }));
    }
    #endregion

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

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

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

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

    partial void OnConstruction();

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SYN 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(SYN 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;
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CloseNotify 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(CloseNotify 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;
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public closePush(closePush other) : this() {
      reason_ = other.reason_;
    }

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

    /// <summary>Field number for the "reason" field.</summary>
    public const int ReasonFieldNumber = 1;
    private int reason_;
    /// <summary>
    /// 关闭原因
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Reason {
      get { return reason_; }
      set {
        reason_ = value;
      }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Reason != 0) hash ^= Reason.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 (Reason != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Reason);
      }
    }

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

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

    [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: {
            Reason = input.ReadInt32();
            break;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public HeartbeatRequest(HeartbeatRequest other) : this() {
      ping_ = other.ping_;
    }

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

    /// <summary>Field number for the "Ping" field.</summary>
    public const int PingFieldNumber = 1;
    private uint ping_;
    /// <summary>
    /// ping值, 单位毫秒
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint Ping {
      get { return ping_; }
      set {
        ping_ = value;
      }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Ping != 0) hash ^= Ping.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 (Ping != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(Ping);
      }
    }

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

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

    [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: {
            Ping = input.ReadUInt32();
            break;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public HeartbeatResponse(HeartbeatResponse other) : this() {
      Result = other.result_ != null ? other.Result.Clone() : null;
    }

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (result_ != null) hash ^= Result.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 (result_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Result);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (result_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Result);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(HeartbeatResponse other) {
      if (other == null) {
        return;
      }
      if (other.result_ != null) {
        if (result_ == null) {
          result_ = new global::Protos.Result();
        }
        Result.MergeFrom(other.Result);
      }
    }

    [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: {
            if (result_ == null) {
              result_ = new global::Protos.Result();
            }
            input.ReadMessage(result_);
            break;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public LoginRequest(LoginRequest other) : this() {
      UserInfo = other.userInfo_ != null ? other.UserInfo.Clone() : null;
      lng_ = other.lng_;
      lat_ = other.lat_;
    }

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

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

    /// <summary>Field number for the "lng" field.</summary>
    public const int LngFieldNumber = 2;
    private double lng_;
    /// <summary>
    /// 精度, 未授权或者未取到传0
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public double Lng {
      get { return lng_; }
      set {
        lng_ = value;
      }
    }

    /// <summary>Field number for the "lat" field.</summary>
    public const int LatFieldNumber = 3;
    private double lat_;
    /// <summary>
    /// 纬度,未授权或者未取到传0
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public double Lat {
      get { return lat_; }
      set {
        lat_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(LoginRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(UserInfo, other.UserInfo)) return false;
      if (Lng != other.Lng) return false;
      if (Lat != other.Lat) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (userInfo_ != null) hash ^= UserInfo.GetHashCode();
      if (Lng != 0D) hash ^= Lng.GetHashCode();
      if (Lat != 0D) hash ^= Lat.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 (userInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(UserInfo);
      }
      if (Lng != 0D) {
        output.WriteRawTag(17);
        output.WriteDouble(Lng);
      }
      if (Lat != 0D) {
        output.WriteRawTag(25);
        output.WriteDouble(Lat);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (userInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UserInfo);
      }
      if (Lng != 0D) {
        size += 1 + 8;
      }
      if (Lat != 0D) {
        size += 1 + 8;
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(LoginRequest other) {
      if (other == null) {
        return;
      }
      if (other.userInfo_ != null) {
        if (userInfo_ == null) {
          userInfo_ = new global::Protos.UserInfo();
        }
        UserInfo.MergeFrom(other.UserInfo);
      }
      if (other.Lng != 0D) {
        Lng = other.Lng;
      }
      if (other.Lat != 0D) {
        Lat = other.Lat;
      }
    }

    [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: {
            if (userInfo_ == null) {
              userInfo_ = new global::Protos.UserInfo();
            }
            input.ReadMessage(userInfo_);
            break;
          }
          case 17: {
            Lng = input.ReadDouble();
            break;
          }
          case 25: {
            Lat = input.ReadDouble();
            break;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public LoginResponse(LoginResponse other) : this() {
      Result = other.result_ != null ? other.Result.Clone() : null;
      lobbyID_ = other.lobbyID_;
      roomID_ = other.roomID_;
      syncInterval_ = other.syncInterval_;
      n_ = other.n_;
      errmsg_ = other.errmsg_;
      t_ = other.t_;
      master_ = other.master_;
      worldID_ = other.worldID_;
      serverID_ = other.serverID_;
    }

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

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

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

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

    /// <summary>Field number for the "SyncInterval" field.</summary>
    public const int SyncIntervalFieldNumber = 4;
    private uint syncInterval_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint SyncInterval {
      get { return syncInterval_; }
      set {
        syncInterval_ = value;
      }
    }

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

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

    /// <summary>Field number for the "T" field.</summary>
    public const int TFieldNumber = 7;
    private ulong t_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public ulong T {
      get { return t_; }
      set {
        t_ = value;
      }
    }

    /// <summary>Field number for the "Master" field.</summary>
    public const int MasterFieldNumber = 8;
    private bool master_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Master {
      get { return master_; }
      set {
        master_ = value;
      }
    }

    /// <summary>Field number for the "WorldID" field.</summary>
    public const int WorldIDFieldNumber = 9;
    private uint worldID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint WorldID {
      get { return worldID_; }
      set {
        worldID_ = value;
      }
    }

    /// <summary>Field number for the "ServerID" field.</summary>
    public const int ServerIDFieldNumber = 10;
    private ulong serverID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public ulong ServerID {
      get { return serverID_; }
      set {
        serverID_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(LoginResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(Result, other.Result)) return false;
      if (LobbyID != other.LobbyID) return false;
      if (RoomID != other.RoomID) return false;
      if (SyncInterval != other.SyncInterval) return false;
      if (N != other.N) return false;
      if (Errmsg != other.Errmsg) return false;
      if (T != other.T) return false;
      if (Master != other.Master) return false;
      if (WorldID != other.WorldID) return false;
      if (ServerID != other.ServerID) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (result_ != null) hash ^= Result.GetHashCode();
      if (LobbyID != 0) hash ^= LobbyID.GetHashCode();
      if (RoomID != 0) hash ^= RoomID.GetHashCode();
      if (SyncInterval != 0) hash ^= SyncInterval.GetHashCode();
      if (N != 0) hash ^= N.GetHashCode();
      if (Errmsg.Length != 0) hash ^= Errmsg.GetHashCode();
      if (T != 0UL) hash ^= T.GetHashCode();
      if (Master != false) hash ^= Master.GetHashCode();
      if (WorldID != 0) hash ^= WorldID.GetHashCode();
      if (ServerID != 0UL) hash ^= ServerID.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 (result_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Result);
      }
      if (LobbyID != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(LobbyID);
      }
      if (RoomID != 0) {
        output.WriteRawTag(24);
        output.WriteUInt32(RoomID);
      }
      if (SyncInterval != 0) {
        output.WriteRawTag(32);
        output.WriteUInt32(SyncInterval);
      }
      if (N != 0) {
        output.WriteRawTag(40);
        output.WriteUInt32(N);
      }
      if (Errmsg.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Errmsg);
      }
      if (T != 0UL) {
        output.WriteRawTag(56);
        output.WriteUInt64(T);
      }
      if (Master != false) {
        output.WriteRawTag(64);
        output.WriteBool(Master);
      }
      if (WorldID != 0) {
        output.WriteRawTag(72);
        output.WriteUInt32(WorldID);
      }
      if (ServerID != 0UL) {
        output.WriteRawTag(80);
        output.WriteUInt64(ServerID);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (result_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Result);
      }
      if (LobbyID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(LobbyID);
      }
      if (RoomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(RoomID);
      }
      if (SyncInterval != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SyncInterval);
      }
      if (N != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(N);
      }
      if (Errmsg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Errmsg);
      }
      if (T != 0UL) {
        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(T);
      }
      if (Master != false) {
        size += 1 + 1;
      }
      if (WorldID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(WorldID);
      }
      if (ServerID != 0UL) {
        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ServerID);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(LoginResponse other) {
      if (other == null) {
        return;
      }
      if (other.result_ != null) {
        if (result_ == null) {
          result_ = new global::Protos.Result();
        }
        Result.MergeFrom(other.Result);
      }
      if (other.LobbyID != 0) {
        LobbyID = other.LobbyID;
      }
      if (other.RoomID != 0) {
        RoomID = other.RoomID;
      }
      if (other.SyncInterval != 0) {
        SyncInterval = other.SyncInterval;
      }
      if (other.N != 0) {
        N = other.N;
      }
      if (other.Errmsg.Length != 0) {
        Errmsg = other.Errmsg;
      }
      if (other.T != 0UL) {
        T = other.T;
      }
      if (other.Master != false) {
        Master = other.Master;
      }
      if (other.WorldID != 0) {
        WorldID = other.WorldID;
      }
      if (other.ServerID != 0UL) {
        ServerID = other.ServerID;
      }
    }

    [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: {
            if (result_ == null) {
              result_ = new global::Protos.Result();
            }
            input.ReadMessage(result_);
            break;
          }
          case 16: {
            LobbyID = input.ReadUInt32();
            break;
          }
          case 24: {
            RoomID = input.ReadUInt32();
            break;
          }
          case 32: {
            SyncInterval = input.ReadUInt32();
            break;
          }
          case 40: {
            N = input.ReadUInt32();
            break;
          }
          case 50: {
            Errmsg = input.ReadString();
            break;
          }
          case 56: {
            T = input.ReadUInt64();
            break;
          }
          case 64: {
            Master = input.ReadBool();
            break;
          }
          case 72: {
            WorldID = input.ReadUInt32();
            break;
          }
          case 80: {
            ServerID = input.ReadUInt64();
            break;
          }
        }
      }
    }

  }

  #endregion

}

#endregion Designer generated code
