// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: party.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 party.proto</summary>
  public static partial class PartyReflection {

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

    static PartyReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "CgtwYXJ0eS5wcm90bxIGcHJvdG9zGg51c2VyaW5mby5wcm90bxoMcmVzdWx0",
            "LnByb3RvIkgKEFBhcnR5Sm9pblJlcXVlc3QSDwoHUGFydHlJRBgBIAEoBBIR",
            "CglQYXJ0eVR5cGUYAiABKAUSEAoISWRlbnRpZHkYAyABKAUiYwoRUGFydHlK",
            "b2luUmVzcG9uc2USHgoGUmVzdWx0GAEgASgLMg4ucHJvdG9zLlJlc3VsdBIP",
            "CgdQYXJ0eUlEGAIgASgNEhAKCElkZW50aWR5GAMgASgFEgsKA3NpdBgEIAEo",
            "DSIzCg1QYXJ0eUpvaW5QdXNoEiIKCFVzZXJJbmZvGAEgASgLMhAucHJvdG9z",
            "LlVzZXJJbmZvIhMKEVBhcnR5TGVhdmVSZXF1ZXN0IjQKElBhcnR5TGVhdmVS",
            "ZXNwb25zZRIeCgZSZXN1bHQYASABKAsyDi5wcm90b3MuUmVzdWx0IiAKDlBh",
            "cnR5TGVhdmVQdXNoEg4KBlVzZXJJRBgBIAEoDSITChFQYXJ0eVJlYWR5UmVx",
            "dWVzdCI0ChJQYXJ0eVJlYWR5UmVzcG9uc2USHgoGUmVzdWx0GAEgASgLMg4u",
            "cHJvdG9zLlJlc3VsdCIgCg5QYXJ0eVJlYWR5UHVzaBIOCgZVc2VySUQYASAB",
            "KA0iDwoNUGFydHlGdWxsUHVzaCKtAQoOUGFydHlSZXNldFB1c2gSHwoFVXNl",
            "cnMYASADKAsyEC5wcm90b3MuVXNlckluZm8SDAoEU3RlcBgCIAEoBBIwCgVz",
            "dGF0ZRgDIAMoCzIhLnByb3Rvcy5QYXJ0eVJlc2V0UHVzaC5TdGF0ZUVudHJ5",
            "EgwKBFJvYWQYBCABKAkaLAoKU3RhdGVFbnRyeRILCgNrZXkYASABKAkSDQoF",
            "dmFsdWUYAiABKAw6AjgBIhEKD1BhcnR5RmluaXNoUHVzaCIsChZQYXJ0eVN0",
            "YWdlQ3Jvc3NSZXF1ZXN0EhIKClN0YWdlSW5kZXgYASABKA0iTQoXUGFydHlT",
            "dGFnZUNyb3NzUmVzcG9uc2USHgoGUmVzdWx0GAEgASgLMg4ucHJvdG9zLlJl",
            "c3VsdBISCgpDcm9zc0luZGV4GAIgASgNIk0KE1BhcnR5U3RhZ2VDcm9zc1B1",
            "c2gSDgoGVXNlcklEGAEgASgNEhIKClN0YWdlSW5kZXgYAiABKA0SEgoKQ3Jv",
            "c3NJbmRleBgDIAEoDSJDChNQYXJ0eVN0YWdlU3RhcnRQdXNoEhIKClN0YWdl",
            "SW5kZXgYASABKA0SDQoFVXNlcnMYAiADKA0SCQoBdBgDIAEoDSI5ChRQYXJ0",
            "eVN0YWdlRmluaXNoUHVzaBISCgpTdGFnZUluZGV4GAEgASgNEg0KBVVzZXJz",
            "GAIgAygNImsKCVBhcnR5SW5mbxIPCgdQYXJ0eUlEGAEgASgEEhEKCVBhcnR5",
            "VHlwZRgCIAEoBRIVCg1HYW1lVXNlckNvdW50GAMgASgFEhMKC09iVXNlckNv",
            "dW50GAQgASgFEg4KBlN0YXR1cxgFIAEoBSIlChBQYXJ0eUxpc3RSZXF1ZXN0",
            "EhEKCVBhcnR5VHlwZRgBIAEoBSJXChFQYXJ0eUxpc3RSZXNwb25zZRIeCgZS",
            "ZXN1bHQYASABKAsyDi5wcm90b3MuUmVzdWx0EiIKB1BhcnRpZXMYAiADKAsy",
            "ES5wcm90b3MuUGFydHlJbmZvYgZwcm90bzM="));
      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.PartyJoinRequest), global::Protos.PartyJoinRequest.Parser, new[]{ "PartyID", "PartyType", "Identidy" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyJoinResponse), global::Protos.PartyJoinResponse.Parser, new[]{ "Result", "PartyID", "Identidy", "Sit" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyJoinPush), global::Protos.PartyJoinPush.Parser, new[]{ "UserInfo" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyLeaveRequest), global::Protos.PartyLeaveRequest.Parser, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyLeaveResponse), global::Protos.PartyLeaveResponse.Parser, new[]{ "Result" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyLeavePush), global::Protos.PartyLeavePush.Parser, new[]{ "UserID" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyReadyRequest), global::Protos.PartyReadyRequest.Parser, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyReadyResponse), global::Protos.PartyReadyResponse.Parser, new[]{ "Result" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyReadyPush), global::Protos.PartyReadyPush.Parser, new[]{ "UserID" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyFullPush), global::Protos.PartyFullPush.Parser, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyResetPush), global::Protos.PartyResetPush.Parser, new[]{ "Users", "Step", "State", "Road" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyFinishPush), global::Protos.PartyFinishPush.Parser, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyStageCrossRequest), global::Protos.PartyStageCrossRequest.Parser, new[]{ "StageIndex" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyStageCrossResponse), global::Protos.PartyStageCrossResponse.Parser, new[]{ "Result", "CrossIndex" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyStageCrossPush), global::Protos.PartyStageCrossPush.Parser, new[]{ "UserID", "StageIndex", "CrossIndex" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyStageStartPush), global::Protos.PartyStageStartPush.Parser, new[]{ "StageIndex", "Users", "T" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyStageFinishPush), global::Protos.PartyStageFinishPush.Parser, new[]{ "StageIndex", "Users" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyInfo), global::Protos.PartyInfo.Parser, new[]{ "PartyID", "PartyType", "GameUserCount", "ObUserCount", "Status" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyListRequest), global::Protos.PartyListRequest.Parser, new[]{ "PartyType" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protos.PartyListResponse), global::Protos.PartyListResponse.Parser, new[]{ "Result", "Parties" }, null, null, null)
          }));
    }
    #endregion

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyJoinRequest(PartyJoinRequest other) : this() {
      partyID_ = other.partyID_;
      partyType_ = other.partyType_;
      identidy_ = other.identidy_;
    }

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

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

    /// <summary>Field number for the "PartyType" field.</summary>
    public const int PartyTypeFieldNumber = 2;
    private int partyType_;
    /// <summary>
    /// 1 = 糖豆人； 2 = ** ; 3 = **
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int PartyType {
      get { return partyType_; }
      set {
        partyType_ = value;
      }
    }

    /// <summary>Field number for the "Identidy" field.</summary>
    public const int IdentidyFieldNumber = 3;
    private int identidy_;
    /// <summary>
    /// 身份 0 = 游戏者; 1 = 观察者
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Identidy {
      get { return identidy_; }
      set {
        identidy_ = value;
      }
    }

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(PartyJoinRequest other) {
      if (other == null) {
        return;
      }
      if (other.PartyID != 0UL) {
        PartyID = other.PartyID;
      }
      if (other.PartyType != 0) {
        PartyType = other.PartyType;
      }
      if (other.Identidy != 0) {
        Identidy = other.Identidy;
      }
    }

    [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: {
            PartyID = input.ReadUInt64();
            break;
          }
          case 16: {
            PartyType = input.ReadInt32();
            break;
          }
          case 24: {
            Identidy = input.ReadInt32();
            break;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyJoinResponse Clone() {
      return new PartyJoinResponse(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 "PartyID" field.</summary>
    public const int PartyIDFieldNumber = 2;
    private uint partyID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint PartyID {
      get { return partyID_; }
      set {
        partyID_ = value;
      }
    }

    /// <summary>Field number for the "Identidy" field.</summary>
    public const int IdentidyFieldNumber = 3;
    private int identidy_;
    /// <summary>
    /// 身份 0 = 游戏者; 1 = 观察者
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Identidy {
      get { return identidy_; }
      set {
        identidy_ = value;
      }
    }

    /// <summary>Field number for the "sit" field.</summary>
    public const int SitFieldNumber = 4;
    private uint sit_;
    /// <summary>
    /// 座位号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint Sit {
      get { return sit_; }
      set {
        sit_ = value;
      }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (result_ != null) hash ^= Result.GetHashCode();
      if (PartyID != 0) hash ^= PartyID.GetHashCode();
      if (Identidy != 0) hash ^= Identidy.GetHashCode();
      if (Sit != 0) hash ^= Sit.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 (PartyID != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(PartyID);
      }
      if (Identidy != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Identidy);
      }
      if (Sit != 0) {
        output.WriteRawTag(32);
        output.WriteUInt32(Sit);
      }
    }

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

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

    [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: {
            PartyID = input.ReadUInt32();
            break;
          }
          case 24: {
            Identidy = input.ReadInt32();
            break;
          }
          case 32: {
            Sit = input.ReadUInt32();
            break;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyJoinPush Clone() {
      return new PartyJoinPush(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;
      }
    }

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

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

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

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

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

    [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;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(PartyLeaveRequest 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(PartyLeaveRequest 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 PartyLeaveResponse : pb::IMessage<PartyLeaveResponse> {
    private static readonly pb::MessageParser<PartyLeaveResponse> _parser = new pb::MessageParser<PartyLeaveResponse>(() => new PartyLeaveResponse());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<PartyLeaveResponse> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyLeaveResponse Clone() {
      return new PartyLeaveResponse(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 PartyLeaveResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(PartyLeaveResponse 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(PartyLeaveResponse 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 PartyLeavePush : pb::IMessage<PartyLeavePush> {
    private static readonly pb::MessageParser<PartyLeavePush> _parser = new pb::MessageParser<PartyLeavePush>(() => new PartyLeavePush());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<PartyLeavePush> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

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

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

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

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

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

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

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

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

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

  }

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

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

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

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

    partial void OnConstruction();

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(PartyReadyRequest 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(PartyReadyRequest 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 PartyReadyResponse : pb::IMessage<PartyReadyResponse> {
    private static readonly pb::MessageParser<PartyReadyResponse> _parser = new pb::MessageParser<PartyReadyResponse>(() => new PartyReadyResponse());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<PartyReadyResponse> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyReadyResponse Clone() {
      return new PartyReadyResponse(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 PartyReadyResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(PartyReadyResponse 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(PartyReadyResponse 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 PartyReadyPush : pb::IMessage<PartyReadyPush> {
    private static readonly pb::MessageParser<PartyReadyPush> _parser = new pb::MessageParser<PartyReadyPush>(() => new PartyReadyPush());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<PartyReadyPush> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

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

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

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

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

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

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

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

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

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

  }

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

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

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

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

    partial void OnConstruction();

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(PartyFullPush 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(PartyFullPush 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 PartyResetPush : pb::IMessage<PartyResetPush> {
    private static readonly pb::MessageParser<PartyResetPush> _parser = new pb::MessageParser<PartyResetPush>(() => new PartyResetPush());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<PartyResetPush> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyResetPush(PartyResetPush other) : this() {
      users_ = other.users_.Clone();
      step_ = other.step_;
      state_ = other.state_.Clone();
      road_ = other.road_;
    }

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

    /// <summary>Field number for the "Users" field.</summary>
    public const int UsersFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Protos.UserInfo> _repeated_users_codec
        = pb::FieldCodec.ForMessage(10, global::Protos.UserInfo.Parser);
    private readonly pbc::RepeatedField<global::Protos.UserInfo> users_ = new pbc::RepeatedField<global::Protos.UserInfo>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Protos.UserInfo> Users {
      get { return users_; }
    }

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

    /// <summary>Field number for the "state" field.</summary>
    public const int StateFieldNumber = 3;
    private static readonly pbc::MapField<string, pb::ByteString>.Codec _map_state_codec
        = new pbc::MapField<string, pb::ByteString>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBytes(18), 26);
    private readonly pbc::MapField<string, pb::ByteString> state_ = new pbc::MapField<string, pb::ByteString>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::MapField<string, pb::ByteString> State {
      get { return state_; }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(PartyResetPush other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!users_.Equals(other.users_)) return false;
      if (Step != other.Step) return false;
      if (!State.Equals(other.State)) return false;
      if (Road != other.Road) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= users_.GetHashCode();
      if (Step != 0UL) hash ^= Step.GetHashCode();
      hash ^= State.GetHashCode();
      if (Road.Length != 0) hash ^= Road.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) {
      users_.WriteTo(output, _repeated_users_codec);
      if (Step != 0UL) {
        output.WriteRawTag(16);
        output.WriteUInt64(Step);
      }
      state_.WriteTo(output, _map_state_codec);
      if (Road.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Road);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      size += users_.CalculateSize(_repeated_users_codec);
      if (Step != 0UL) {
        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Step);
      }
      size += state_.CalculateSize(_map_state_codec);
      if (Road.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Road);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(PartyResetPush other) {
      if (other == null) {
        return;
      }
      users_.Add(other.users_);
      if (other.Step != 0UL) {
        Step = other.Step;
      }
      state_.Add(other.state_);
      if (other.Road.Length != 0) {
        Road = other.Road;
      }
    }

    [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: {
            users_.AddEntriesFrom(input, _repeated_users_codec);
            break;
          }
          case 16: {
            Step = input.ReadUInt64();
            break;
          }
          case 26: {
            state_.AddEntriesFrom(input, _map_state_codec);
            break;
          }
          case 34: {
            Road = input.ReadString();
            break;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(PartyFinishPush 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(PartyFinishPush 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 PartyStageCrossRequest : pb::IMessage<PartyStageCrossRequest> {
    private static readonly pb::MessageParser<PartyStageCrossRequest> _parser = new pb::MessageParser<PartyStageCrossRequest>(() => new PartyStageCrossRequest());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<PartyStageCrossRequest> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "StageIndex" field.</summary>
    public const int StageIndexFieldNumber = 1;
    private uint stageIndex_;
    /// <summary>
    /// 第几个小关
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint StageIndex {
      get { return stageIndex_; }
      set {
        stageIndex_ = value;
      }
    }

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

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

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

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

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

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

  }

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

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

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

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

    partial void OnConstruction();

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyStageCrossResponse Clone() {
      return new PartyStageCrossResponse(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 "CrossIndex" field.</summary>
    public const int CrossIndexFieldNumber = 2;
    private uint crossIndex_;
    /// <summary>
    /// 第几个通关的
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint CrossIndex {
      get { return crossIndex_; }
      set {
        crossIndex_ = value;
      }
    }

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

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

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

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

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

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

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyStageCrossPush(PartyStageCrossPush other) : this() {
      userID_ = other.userID_;
      stageIndex_ = other.stageIndex_;
      crossIndex_ = other.crossIndex_;
    }

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

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

    /// <summary>Field number for the "StageIndex" field.</summary>
    public const int StageIndexFieldNumber = 2;
    private uint stageIndex_;
    /// <summary>
    /// 第几个小关
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint StageIndex {
      get { return stageIndex_; }
      set {
        stageIndex_ = value;
      }
    }

    /// <summary>Field number for the "CrossIndex" field.</summary>
    public const int CrossIndexFieldNumber = 3;
    private uint crossIndex_;
    /// <summary>
    /// 第几个通关的
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint CrossIndex {
      get { return crossIndex_; }
      set {
        crossIndex_ = value;
      }
    }

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(PartyStageCrossPush other) {
      if (other == null) {
        return;
      }
      if (other.UserID != 0) {
        UserID = other.UserID;
      }
      if (other.StageIndex != 0) {
        StageIndex = other.StageIndex;
      }
      if (other.CrossIndex != 0) {
        CrossIndex = other.CrossIndex;
      }
    }

    [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: {
            UserID = input.ReadUInt32();
            break;
          }
          case 16: {
            StageIndex = input.ReadUInt32();
            break;
          }
          case 24: {
            CrossIndex = input.ReadUInt32();
            break;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyStageStartPush(PartyStageStartPush other) : this() {
      stageIndex_ = other.stageIndex_;
      users_ = other.users_.Clone();
      t_ = other.t_;
    }

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

    /// <summary>Field number for the "StageIndex" field.</summary>
    public const int StageIndexFieldNumber = 1;
    private uint stageIndex_;
    /// <summary>
    /// 第几个小关
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint StageIndex {
      get { return stageIndex_; }
      set {
        stageIndex_ = value;
      }
    }

    /// <summary>Field number for the "Users" field.</summary>
    public const int UsersFieldNumber = 2;
    private static readonly pb::FieldCodec<uint> _repeated_users_codec
        = pb::FieldCodec.ForUInt32(18);
    private readonly pbc::RepeatedField<uint> users_ = new pbc::RepeatedField<uint>();
    /// <summary>
    /// 参加用户
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<uint> Users {
      get { return users_; }
    }

    /// <summary>Field number for the "t" field.</summary>
    public const int TFieldNumber = 3;
    private uint t_;
    /// <summary>
    /// 时间限制
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint T {
      get { return t_; }
      set {
        t_ = value;
      }
    }

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(PartyStageStartPush other) {
      if (other == null) {
        return;
      }
      if (other.StageIndex != 0) {
        StageIndex = other.StageIndex;
      }
      users_.Add(other.users_);
      if (other.T != 0) {
        T = other.T;
      }
    }

    [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: {
            StageIndex = input.ReadUInt32();
            break;
          }
          case 18:
          case 16: {
            users_.AddEntriesFrom(input, _repeated_users_codec);
            break;
          }
          case 24: {
            T = input.ReadUInt32();
            break;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyStageFinishPush(PartyStageFinishPush other) : this() {
      stageIndex_ = other.stageIndex_;
      users_ = other.users_.Clone();
    }

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

    /// <summary>Field number for the "StageIndex" field.</summary>
    public const int StageIndexFieldNumber = 1;
    private uint stageIndex_;
    /// <summary>
    /// 第几个小关
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint StageIndex {
      get { return stageIndex_; }
      set {
        stageIndex_ = value;
      }
    }

    /// <summary>Field number for the "Users" field.</summary>
    public const int UsersFieldNumber = 2;
    private static readonly pb::FieldCodec<uint> _repeated_users_codec
        = pb::FieldCodec.ForUInt32(18);
    private readonly pbc::RepeatedField<uint> users_ = new pbc::RepeatedField<uint>();
    /// <summary>
    /// 过关用户
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<uint> Users {
      get { return users_; }
    }

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

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

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

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

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

    [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: {
            StageIndex = input.ReadUInt32();
            break;
          }
          case 18:
          case 16: {
            users_.AddEntriesFrom(input, _repeated_users_codec);
            break;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyInfo(PartyInfo other) : this() {
      partyID_ = other.partyID_;
      partyType_ = other.partyType_;
      gameUserCount_ = other.gameUserCount_;
      obUserCount_ = other.obUserCount_;
      status_ = other.status_;
    }

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

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

    /// <summary>Field number for the "PartyType" field.</summary>
    public const int PartyTypeFieldNumber = 2;
    private int partyType_;
    /// <summary>
    /// 1 = 糖豆人； 2 = ** ; 3 = **
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int PartyType {
      get { return partyType_; }
      set {
        partyType_ = value;
      }
    }

    /// <summary>Field number for the "GameUserCount" field.</summary>
    public const int GameUserCountFieldNumber = 3;
    private int gameUserCount_;
    /// <summary>
    /// 游戏人数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int GameUserCount {
      get { return gameUserCount_; }
      set {
        gameUserCount_ = value;
      }
    }

    /// <summary>Field number for the "ObUserCount" field.</summary>
    public const int ObUserCountFieldNumber = 4;
    private int obUserCount_;
    /// <summary>
    /// 观战人数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int ObUserCount {
      get { return obUserCount_; }
      set {
        obUserCount_ = value;
      }
    }

    /// <summary>Field number for the "Status" field.</summary>
    public const int StatusFieldNumber = 5;
    private int status_;
    /// <summary>
    /// 房间状态 0 = 已创建;1=已满员; 2=已开始; 3 = 已结束; 4 = 已解散
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Status {
      get { return status_; }
      set {
        status_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(PartyInfo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (PartyID != other.PartyID) return false;
      if (PartyType != other.PartyType) return false;
      if (GameUserCount != other.GameUserCount) return false;
      if (ObUserCount != other.ObUserCount) return false;
      if (Status != other.Status) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (PartyID != 0UL) hash ^= PartyID.GetHashCode();
      if (PartyType != 0) hash ^= PartyType.GetHashCode();
      if (GameUserCount != 0) hash ^= GameUserCount.GetHashCode();
      if (ObUserCount != 0) hash ^= ObUserCount.GetHashCode();
      if (Status != 0) hash ^= Status.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 (PartyID != 0UL) {
        output.WriteRawTag(8);
        output.WriteUInt64(PartyID);
      }
      if (PartyType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(PartyType);
      }
      if (GameUserCount != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(GameUserCount);
      }
      if (ObUserCount != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ObUserCount);
      }
      if (Status != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Status);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (PartyID != 0UL) {
        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PartyID);
      }
      if (PartyType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PartyType);
      }
      if (GameUserCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GameUserCount);
      }
      if (ObUserCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ObUserCount);
      }
      if (Status != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Status);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(PartyInfo other) {
      if (other == null) {
        return;
      }
      if (other.PartyID != 0UL) {
        PartyID = other.PartyID;
      }
      if (other.PartyType != 0) {
        PartyType = other.PartyType;
      }
      if (other.GameUserCount != 0) {
        GameUserCount = other.GameUserCount;
      }
      if (other.ObUserCount != 0) {
        ObUserCount = other.ObUserCount;
      }
      if (other.Status != 0) {
        Status = other.Status;
      }
    }

    [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: {
            PartyID = input.ReadUInt64();
            break;
          }
          case 16: {
            PartyType = input.ReadInt32();
            break;
          }
          case 24: {
            GameUserCount = input.ReadInt32();
            break;
          }
          case 32: {
            ObUserCount = input.ReadInt32();
            break;
          }
          case 40: {
            Status = input.ReadInt32();
            break;
          }
        }
      }
    }

  }

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

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

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

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

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "PartyType" field.</summary>
    public const int PartyTypeFieldNumber = 1;
    private int partyType_;
    /// <summary>
    /// 0 = 不限; 1 = 糖豆人； 2 = ** ; 3 = **
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int PartyType {
      get { return partyType_; }
      set {
        partyType_ = value;
      }
    }

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

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

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

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

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

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

  }

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

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

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

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

    partial void OnConstruction();

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PartyListResponse Clone() {
      return new PartyListResponse(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 "Parties" field.</summary>
    public const int PartiesFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Protos.PartyInfo> _repeated_parties_codec
        = pb::FieldCodec.ForMessage(18, global::Protos.PartyInfo.Parser);
    private readonly pbc::RepeatedField<global::Protos.PartyInfo> parties_ = new pbc::RepeatedField<global::Protos.PartyInfo>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Protos.PartyInfo> Parties {
      get { return parties_; }
    }

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

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

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

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

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

    [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 18: {
            parties_.AddEntriesFrom(input, _repeated_parties_codec);
            break;
          }
        }
      }
    }

  }

  #endregion

}

#endregion Designer generated code
