Assets/Scripts/Net/NetExtends/Game.cs
@@ -94,7 +94,48 @@
            "KAgimAEKEFRha2VBcmVuYUJveF9TMkMSEQoJZXJyb3Jjb2RlGAEgASgFEgsK",
            "A3BvcxgCIAEoBRINCgVib3hpZBgDIAEoBRIpCghjdXJpdGVtcxgEIAMoCzIX",
            "LnByb3RvYnVmLlJld2FyZEl0ZW1Nc2cSKgoJYm94cmV3YXJkGAUgAygLMhcu",
            "cHJvdG9idWYuUmV3YXJkSXRlbU1zZ2IGcHJvdG8z"));
            "cHJvdG9idWYuUmV3YXJkSXRlbU1zZyI+ChBGYW1pbHlTZWFyY2hfQzJTEgwK",
            "BG5hbWUYASABKAkSDQoFc3RhcnQYAiABKAUSDQoFbGltaXQYAyABKAUiZwoQ",
            "RmFtaWx5U2VhcmNoX1MyQxIRCgllcnJvcmNvZGUYASABKAUSMQoKZmFtaWx5",
            "bGlzdBgCIAMoCzIdLnByb3RvYnVmLkZhbWlseVNlYXJjaEl0ZW1Nc2cSDQoF",
            "dG90YWwYAyABKAUiOgoWRmFtaWx5UGxheWVyT25saW5lX1MyQxIQCgh1c2Vy",
            "bmFtZRgBIAEoBRIOCgZvbmxpbmUYAiABKAgiYgoQRmFtaWx5Q3JlYXRlX0My",
            "UxIMCgRuYW1lGAEgASgJEgwKBGRlc2MYAiABKAkSDQoFaWNvbnMYAyADKAUS",
            "EAoIZnJlZUpvaW4YBCABKAUSEQoJbmVlZFNjb3JlGAUgASgFIh0KDkZhbWls",
            "eUpvaW5fQzJTEgsKA3VpZBgBIAEoCSIwCg5GYW1pbHlKb2luX1MyQxIRCgll",
            "cnJvcmNvZGUYASABKAUSCwoDdWlkGAIgASgJIjEKEUZhbWlseUdldENoYXRf",
            "QzJTEg0KBXN0YXJ0GAEgASgFEg0KBWxpbWl0GAIgASgFInUKEUZhbWlseUdl",
            "dENoYXRfUzJDEhEKCWVycm9yY29kZRgBIAEoBRIpCghtZXNzYWdlcxgCIAMo",
            "CzIXLnByb3RvYnVmLkZhbWlseUNoYXRNc2cSDQoFdG90YWwYAyABKAUSEwoL",
            "b25saW5lQ291bnQYBCABKAUiTAoTRmFtaWx5U3RhcnRDaGF0X0MyUxIkCghj",
            "aGF0VHlwZRgBIAEoDjISLnByb3RvYnVmLkNoYXRUeXBlEg8KB2NvbnRlbnQY",
            "AiABKAkiUgoTRmFtaWx5U3RhcnRDaGF0X1MyQxIRCgllcnJvcmNvZGUYASAB",
            "KAUSKAoHbWVzc2FnZRgCIAEoCzIXLnByb3RvYnVmLkZhbWlseUNoYXRNc2ci",
            "KgoVRmFtaWx5U3RhcnREb25hdGVfQzJTEhEKCW1lc3NhZ2VJZBgBIAEoBSJU",
            "ChVGYW1pbHlTdGFydERvbmF0ZV9TMkMSEQoJZXJyb3Jjb2RlGAEgASgFEigK",
            "B21lc3NhZ2UYAiABKAsyFy5wcm90b2J1Zi5GYW1pbHlDaGF0TXNnIhAKDkZh",
            "bWlseVF1aXRfQzJTIiMKDkZhbWlseVF1aXRfUzJDEhEKCWVycm9yY29kZRgB",
            "IAEoBSIoChNGYW1pbHlBZ3JlZUpvaW5fQzJTEhEKCW1lc3NhZ2VJZBgBIAEo",
            "BSJWChNGYW1pbHlBZ3JlZUpvaW5fUzJDEhEKCWVycm9yY29kZRgBIAEoBRIs",
            "CgluZXdNZW1iZXIYAiABKAsyGS5wcm90b2J1Zi5GYW1pbHlNZW1iZXJNc2ci",
            "JgoSRmFtaWx5S2lja1VzZXJfQzJTEhAKCHVzZXJuYW1lGAEgASgJIicKEkZh",
            "bWlseUtpY2tVc2VyX1MyQxIRCgllcnJvcmNvZGUYASABKAUiKQoVRmFtaWx5",
            "VHJhbnNMZWFkZXJfQzJTEhAKCHVzZXJuYW1lGAEgASgJIioKFUZhbWlseVRy",
            "YW5zTGVhZGVyX1MyQxIRCgllcnJvcmNvZGUYASABKAUiGQoXRmFtaWx5R2V0",
            "RG9uYXRlU2hvcF9DMlMiZwoXRmFtaWx5R2V0RG9uYXRlU2hvcF9TMkMSEQoJ",
            "ZXJyb3Jjb2RlGAEgASgFEiUKBWl0ZW1zGAIgAygLMhYucHJvdG9idWYuU3Rv",
            "cmVJdGVtTXNnEhIKCmV4cGlyZVRpbWUYAyABKAUiLwoXRmFtaWx5QnV5RG9u",
            "YXRlU2hvcF9DMlMSFAoMZG9uYXRlc2hvcElkGAEgASgFIn8KF0ZhbWlseUJ1",
            "eURvbmF0ZVNob3BfUzJDEhEKCWVycm9yY29kZRgBIAEoBRIUCgxkb25hdGVz",
            "aG9wSWQYAiABKAUSKQoIY3VyaXRlbXMYAyADKAsyFy5wcm90b2J1Zi5SZXdh",
            "cmRJdGVtTXNnEhAKCGJ1eUNvdW50GAQgASgFIhgKFkZhbWlseUdldFNjb3Jl",
            "U2hvcF9DMlMiZgoWRmFtaWx5R2V0U2NvcmVTaG9wX1MyQxIRCgllcnJvcmNv",
            "ZGUYASABKAUSJQoFaXRlbXMYAiADKAsyFi5wcm90b2J1Zi5TdG9yZUl0ZW1N",
            "c2cSEgoKZXhwaXJlVGltZRgDIAEoBSItChZGYW1pbHlCdXlTY29yZVNob3Bf",
            "QzJTEhMKC3Njb3Jlc2hvcElkGAEgASgFIoEBChZGYW1pbHlCdXlTY29yZVNo",
            "b3BfUzJDEhEKCWVycm9yY29kZRgBIAEoBRITCgtzY29yZXNob3BJZBgCIAEo",
            "BRIYChBzY29yZXNob3BFeHBpcmVkGAMgASgFEhMKC2ZhbWlseVNjb3JlGAQg",
            "ASgFEhAKCGJ1eUNvdW50GAUgASgFYgZwcm90bzM="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Protobuf.CommonReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
@@ -146,7 +187,35 @@
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.UnLockArenaBox_C2S), global::Protobuf.UnLockArenaBox_C2S.Parser, new[]{ "Pos" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.UnLockArenaBox_S2C), global::Protobuf.UnLockArenaBox_S2C.Parser, new[]{ "Errorcode", "Areabox" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.TakeArenaBox_C2S), global::Protobuf.TakeArenaBox_C2S.Parser, new[]{ "Pos", "Free" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.TakeArenaBox_S2C), global::Protobuf.TakeArenaBox_S2C.Parser, new[]{ "Errorcode", "Pos", "Boxid", "Curitems", "Boxreward" }, null, null, null)
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.TakeArenaBox_S2C), global::Protobuf.TakeArenaBox_S2C.Parser, new[]{ "Errorcode", "Pos", "Boxid", "Curitems", "Boxreward" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilySearch_C2S), global::Protobuf.FamilySearch_C2S.Parser, new[]{ "Name", "Start", "Limit" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilySearch_S2C), global::Protobuf.FamilySearch_S2C.Parser, new[]{ "Errorcode", "Familylist", "Total" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyPlayerOnline_S2C), global::Protobuf.FamilyPlayerOnline_S2C.Parser, new[]{ "Username", "Online" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyCreate_C2S), global::Protobuf.FamilyCreate_C2S.Parser, new[]{ "Name", "Desc", "Icons", "FreeJoin", "NeedScore" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyJoin_C2S), global::Protobuf.FamilyJoin_C2S.Parser, new[]{ "Uid" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyJoin_S2C), global::Protobuf.FamilyJoin_S2C.Parser, new[]{ "Errorcode", "Uid" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyGetChat_C2S), global::Protobuf.FamilyGetChat_C2S.Parser, new[]{ "Start", "Limit" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyGetChat_S2C), global::Protobuf.FamilyGetChat_S2C.Parser, new[]{ "Errorcode", "Messages", "Total", "OnlineCount" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyStartChat_C2S), global::Protobuf.FamilyStartChat_C2S.Parser, new[]{ "ChatType", "Content" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyStartChat_S2C), global::Protobuf.FamilyStartChat_S2C.Parser, new[]{ "Errorcode", "Message" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyStartDonate_C2S), global::Protobuf.FamilyStartDonate_C2S.Parser, new[]{ "MessageId" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyStartDonate_S2C), global::Protobuf.FamilyStartDonate_S2C.Parser, new[]{ "Errorcode", "Message" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyQuit_C2S), global::Protobuf.FamilyQuit_C2S.Parser, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyQuit_S2C), global::Protobuf.FamilyQuit_S2C.Parser, new[]{ "Errorcode" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyAgreeJoin_C2S), global::Protobuf.FamilyAgreeJoin_C2S.Parser, new[]{ "MessageId" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyAgreeJoin_S2C), global::Protobuf.FamilyAgreeJoin_S2C.Parser, new[]{ "Errorcode", "NewMember" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyKickUser_C2S), global::Protobuf.FamilyKickUser_C2S.Parser, new[]{ "Username" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyKickUser_S2C), global::Protobuf.FamilyKickUser_S2C.Parser, new[]{ "Errorcode" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyTransLeader_C2S), global::Protobuf.FamilyTransLeader_C2S.Parser, new[]{ "Username" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyTransLeader_S2C), global::Protobuf.FamilyTransLeader_S2C.Parser, new[]{ "Errorcode" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyGetDonateShop_C2S), global::Protobuf.FamilyGetDonateShop_C2S.Parser, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyGetDonateShop_S2C), global::Protobuf.FamilyGetDonateShop_S2C.Parser, new[]{ "Errorcode", "Items", "ExpireTime" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyBuyDonateShop_C2S), global::Protobuf.FamilyBuyDonateShop_C2S.Parser, new[]{ "DonateshopId" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyBuyDonateShop_S2C), global::Protobuf.FamilyBuyDonateShop_S2C.Parser, new[]{ "Errorcode", "DonateshopId", "Curitems", "BuyCount" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyGetScoreShop_C2S), global::Protobuf.FamilyGetScoreShop_C2S.Parser, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyGetScoreShop_S2C), global::Protobuf.FamilyGetScoreShop_S2C.Parser, new[]{ "Errorcode", "Items", "ExpireTime" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyBuyScoreShop_C2S), global::Protobuf.FamilyBuyScoreShop_C2S.Parser, new[]{ "ScoreshopId" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyBuyScoreShop_S2C), global::Protobuf.FamilyBuyScoreShop_S2C.Parser, new[]{ "Errorcode", "ScoreshopId", "ScoreshopExpired", "FamilyScore", "BuyCount" }, null, null, null)
          }));
    }
    #endregion
@@ -7788,6 +7857,4089 @@
  }
  /// <summary>
  ///  查找工会,支持模糊查询
  /// </summary>
  public sealed partial class FamilySearch_C2S : pb::IMessage<FamilySearch_C2S> {
    private static readonly pb::MessageParser<FamilySearch_C2S> _parser = new pb::MessageParser<FamilySearch_C2S>(() => new FamilySearch_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilySearch_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[49]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilySearch_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilySearch_C2S(FamilySearch_C2S other) : this() {
      name_ = other.name_;
      start_ = other.start_;
      limit_ = other.limit_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilySearch_C2S Clone() {
      return new FamilySearch_C2S(this);
    }
    /// <summary>Field number for the "name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Field number for the "start" field.</summary>
    public const int StartFieldNumber = 2;
    private int start_;
    /// <summary>
    ///  起始分页0
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Start {
      get { return start_; }
      set {
        start_ = value;
      }
    }
    /// <summary>Field number for the "limit" field.</summary>
    public const int LimitFieldNumber = 3;
    private int limit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Limit {
      get { return limit_; }
      set {
        limit_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilySearch_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilySearch_C2S other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (Start != other.Start) return false;
      if (Limit != other.Limit) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Start != 0) hash ^= Start.GetHashCode();
      if (Limit != 0) hash ^= Limit.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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Start != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Start);
      }
      if (Limit != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Limit);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Start != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Start);
      }
      if (Limit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Limit);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilySearch_C2S other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Start != 0) {
        Start = other.Start;
      }
      if (other.Limit != 0) {
        Limit = other.Limit;
      }
    }
    [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: {
            Name = input.ReadString();
            break;
          }
          case 16: {
            Start = input.ReadInt32();
            break;
          }
          case 24: {
            Limit = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  public sealed partial class FamilySearch_S2C : pb::IMessage<FamilySearch_S2C> {
    private static readonly pb::MessageParser<FamilySearch_S2C> _parser = new pb::MessageParser<FamilySearch_S2C>(() => new FamilySearch_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilySearch_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[50]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilySearch_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilySearch_S2C(FamilySearch_S2C other) : this() {
      errorcode_ = other.errorcode_;
      familylist_ = other.familylist_.Clone();
      total_ = other.total_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilySearch_S2C Clone() {
      return new FamilySearch_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "familylist" field.</summary>
    public const int FamilylistFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Protobuf.FamilySearchItemMsg> _repeated_familylist_codec
        = pb::FieldCodec.ForMessage(18, global::Protobuf.FamilySearchItemMsg.Parser);
    private readonly pbc::RepeatedField<global::Protobuf.FamilySearchItemMsg> familylist_ = new pbc::RepeatedField<global::Protobuf.FamilySearchItemMsg>();
    /// <summary>
    /// 工会
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Protobuf.FamilySearchItemMsg> Familylist {
      get { return familylist_; }
    }
    /// <summary>Field number for the "total" field.</summary>
    public const int TotalFieldNumber = 3;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilySearch_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilySearch_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if(!familylist_.Equals(other.familylist_)) return false;
      if (Total != other.Total) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      hash ^= familylist_.GetHashCode();
      if (Total != 0) hash ^= Total.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
      familylist_.WriteTo(output, _repeated_familylist_codec);
      if (Total != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Total);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      size += familylist_.CalculateSize(_repeated_familylist_codec);
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilySearch_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      familylist_.Add(other.familylist_);
      if (other.Total != 0) {
        Total = other.Total;
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
          case 18: {
            familylist_.AddEntriesFrom(input, _repeated_familylist_codec);
            break;
          }
          case 24: {
            Total = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  服务器广播其他玩家在线或下线
  /// </summary>
  public sealed partial class FamilyPlayerOnline_S2C : pb::IMessage<FamilyPlayerOnline_S2C> {
    private static readonly pb::MessageParser<FamilyPlayerOnline_S2C> _parser = new pb::MessageParser<FamilyPlayerOnline_S2C>(() => new FamilyPlayerOnline_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyPlayerOnline_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[51]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyPlayerOnline_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyPlayerOnline_S2C(FamilyPlayerOnline_S2C other) : this() {
      username_ = other.username_;
      online_ = other.online_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyPlayerOnline_S2C Clone() {
      return new FamilyPlayerOnline_S2C(this);
    }
    /// <summary>Field number for the "username" field.</summary>
    public const int UsernameFieldNumber = 1;
    private int username_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Username {
      get { return username_; }
      set {
        username_ = value;
      }
    }
    /// <summary>Field number for the "online" field.</summary>
    public const int OnlineFieldNumber = 2;
    private bool online_;
    /// <summary>
    ///  true 在线 false 不在线
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Online {
      get { return online_; }
      set {
        online_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyPlayerOnline_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyPlayerOnline_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Username != other.Username) return false;
      if (Online != other.Online) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Username != 0) hash ^= Username.GetHashCode();
      if (Online != false) hash ^= Online.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 (Username != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Username);
      }
      if (Online != false) {
        output.WriteRawTag(16);
        output.WriteBool(Online);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Username != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Username);
      }
      if (Online != false) {
        size += 1 + 1;
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyPlayerOnline_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Username != 0) {
        Username = other.Username;
      }
      if (other.Online != false) {
        Online = other.Online;
      }
    }
    [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: {
            Username = input.ReadInt32();
            break;
          }
          case 16: {
            Online = input.ReadBool();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  创建工会,成功返回 Success
  /// </summary>
  public sealed partial class FamilyCreate_C2S : pb::IMessage<FamilyCreate_C2S> {
    private static readonly pb::MessageParser<FamilyCreate_C2S> _parser = new pb::MessageParser<FamilyCreate_C2S>(() => new FamilyCreate_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyCreate_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[52]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyCreate_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyCreate_C2S(FamilyCreate_C2S other) : this() {
      name_ = other.name_;
      desc_ = other.desc_;
      icons_ = other.icons_.Clone();
      freeJoin_ = other.freeJoin_;
      needScore_ = other.needScore_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyCreate_C2S Clone() {
      return new FamilyCreate_C2S(this);
    }
    /// <summary>Field number for the "name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    /// <summary>
    ///  工会名
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Field number for the "desc" field.</summary>
    public const int DescFieldNumber = 2;
    private string desc_ = "";
    /// <summary>
    ///  描述 公告
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Field number for the "icons" field.</summary>
    public const int IconsFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_icons_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> icons_ = new pbc::RepeatedField<int>();
    /// <summary>
    ///  徽章图标
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<int> Icons {
      get { return icons_; }
    }
    /// <summary>Field number for the "freeJoin" field.</summary>
    public const int FreeJoinFieldNumber = 4;
    private int freeJoin_;
    /// <summary>
    /// ! 1 免费加入,2 需要批准,3 禁止加入
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int FreeJoin {
      get { return freeJoin_; }
      set {
        freeJoin_ = value;
      }
    }
    /// <summary>Field number for the "needScore" field.</summary>
    public const int NeedScoreFieldNumber = 5;
    private int needScore_;
    /// <summary>
    ///  需要积分
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int NeedScore {
      get { return needScore_; }
      set {
        needScore_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyCreate_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyCreate_C2S other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if(!icons_.Equals(other.icons_)) return false;
      if (FreeJoin != other.FreeJoin) return false;
      if (NeedScore != other.NeedScore) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      hash ^= icons_.GetHashCode();
      if (FreeJoin != 0) hash ^= FreeJoin.GetHashCode();
      if (NeedScore != 0) hash ^= NeedScore.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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Desc);
      }
      icons_.WriteTo(output, _repeated_icons_codec);
      if (FreeJoin != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FreeJoin);
      }
      if (NeedScore != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(NeedScore);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      size += icons_.CalculateSize(_repeated_icons_codec);
      if (FreeJoin != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FreeJoin);
      }
      if (NeedScore != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedScore);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyCreate_C2S other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      icons_.Add(other.icons_);
      if (other.FreeJoin != 0) {
        FreeJoin = other.FreeJoin;
      }
      if (other.NeedScore != 0) {
        NeedScore = other.NeedScore;
      }
    }
    [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: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Desc = input.ReadString();
            break;
          }
          case 26:
          case 24: {
            icons_.AddEntriesFrom(input, _repeated_icons_codec);
            break;
          }
          case 32: {
            FreeJoin = input.ReadInt32();
            break;
          }
          case 40: {
            NeedScore = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  申请加入公会
  /// </summary>
  public sealed partial class FamilyJoin_C2S : pb::IMessage<FamilyJoin_C2S> {
    private static readonly pb::MessageParser<FamilyJoin_C2S> _parser = new pb::MessageParser<FamilyJoin_C2S>(() => new FamilyJoin_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyJoin_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[53]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyJoin_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyJoin_C2S(FamilyJoin_C2S other) : this() {
      uid_ = other.uid_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyJoin_C2S Clone() {
      return new FamilyJoin_C2S(this);
    }
    /// <summary>Field number for the "uid" field.</summary>
    public const int UidFieldNumber = 1;
    private string uid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyJoin_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyJoin_C2S other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Uid != other.Uid) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      return hash;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Uid.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Uid);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyJoin_C2S other) {
      if (other == null) {
        return;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            Uid = input.ReadString();
            break;
          }
        }
      }
    }
  }
  public sealed partial class FamilyJoin_S2C : pb::IMessage<FamilyJoin_S2C> {
    private static readonly pb::MessageParser<FamilyJoin_S2C> _parser = new pb::MessageParser<FamilyJoin_S2C>(() => new FamilyJoin_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyJoin_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[54]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyJoin_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyJoin_S2C(FamilyJoin_S2C other) : this() {
      errorcode_ = other.errorcode_;
      uid_ = other.uid_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyJoin_S2C Clone() {
      return new FamilyJoin_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "uid" field.</summary>
    public const int UidFieldNumber = 2;
    private string uid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Uid {
      get { return uid_; }
      set {
        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyJoin_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyJoin_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if (Uid != other.Uid) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      return hash;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      if (Uid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyJoin_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Errorcode = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  /// 获取聊天信息,基于分页查询,默认显示最后一页
  /// </summary>
  public sealed partial class FamilyGetChat_C2S : pb::IMessage<FamilyGetChat_C2S> {
    private static readonly pb::MessageParser<FamilyGetChat_C2S> _parser = new pb::MessageParser<FamilyGetChat_C2S>(() => new FamilyGetChat_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyGetChat_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[55]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetChat_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetChat_C2S(FamilyGetChat_C2S other) : this() {
      start_ = other.start_;
      limit_ = other.limit_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetChat_C2S Clone() {
      return new FamilyGetChat_C2S(this);
    }
    /// <summary>Field number for the "start" field.</summary>
    public const int StartFieldNumber = 1;
    private int start_;
    /// <summary>
    ///  0是最后一页,1倒数第二页
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Start {
      get { return start_; }
      set {
        start_ = value;
      }
    }
    /// <summary>Field number for the "limit" field.</summary>
    public const int LimitFieldNumber = 2;
    private int limit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Limit {
      get { return limit_; }
      set {
        limit_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyGetChat_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyGetChat_C2S other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Start != other.Start) return false;
      if (Limit != other.Limit) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Start != 0) hash ^= Start.GetHashCode();
      if (Limit != 0) hash ^= Limit.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 (Start != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Start);
      }
      if (Limit != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Limit);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Start != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Start);
      }
      if (Limit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Limit);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyGetChat_C2S other) {
      if (other == null) {
        return;
      }
      if (other.Start != 0) {
        Start = other.Start;
      }
      if (other.Limit != 0) {
        Limit = other.Limit;
      }
    }
    [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: {
            Start = input.ReadInt32();
            break;
          }
          case 16: {
            Limit = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  public sealed partial class FamilyGetChat_S2C : pb::IMessage<FamilyGetChat_S2C> {
    private static readonly pb::MessageParser<FamilyGetChat_S2C> _parser = new pb::MessageParser<FamilyGetChat_S2C>(() => new FamilyGetChat_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyGetChat_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[56]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetChat_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetChat_S2C(FamilyGetChat_S2C other) : this() {
      errorcode_ = other.errorcode_;
      messages_ = other.messages_.Clone();
      total_ = other.total_;
      onlineCount_ = other.onlineCount_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetChat_S2C Clone() {
      return new FamilyGetChat_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "messages" field.</summary>
    public const int MessagesFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Protobuf.FamilyChatMsg> _repeated_messages_codec
        = pb::FieldCodec.ForMessage(18, global::Protobuf.FamilyChatMsg.Parser);
    private readonly pbc::RepeatedField<global::Protobuf.FamilyChatMsg> messages_ = new pbc::RepeatedField<global::Protobuf.FamilyChatMsg>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Protobuf.FamilyChatMsg> Messages {
      get { return messages_; }
    }
    /// <summary>Field number for the "total" field.</summary>
    public const int TotalFieldNumber = 3;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }
    /// <summary>Field number for the "onlineCount" field.</summary>
    public const int OnlineCountFieldNumber = 4;
    private int onlineCount_;
    /// <summary>
    ///  公会在线玩家数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int OnlineCount {
      get { return onlineCount_; }
      set {
        onlineCount_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyGetChat_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyGetChat_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if(!messages_.Equals(other.messages_)) return false;
      if (Total != other.Total) return false;
      if (OnlineCount != other.OnlineCount) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      hash ^= messages_.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      if (OnlineCount != 0) hash ^= OnlineCount.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
      messages_.WriteTo(output, _repeated_messages_codec);
      if (Total != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Total);
      }
      if (OnlineCount != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(OnlineCount);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      size += messages_.CalculateSize(_repeated_messages_codec);
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      if (OnlineCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OnlineCount);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyGetChat_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      messages_.Add(other.messages_);
      if (other.Total != 0) {
        Total = other.Total;
      }
      if (other.OnlineCount != 0) {
        OnlineCount = other.OnlineCount;
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
          case 18: {
            messages_.AddEntriesFrom(input, _repeated_messages_codec);
            break;
          }
          case 24: {
            Total = input.ReadInt32();
            break;
          }
          case 32: {
            OnlineCount = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  玩家发送聊天内容
  /// </summary>
  public sealed partial class FamilyStartChat_C2S : pb::IMessage<FamilyStartChat_C2S> {
    private static readonly pb::MessageParser<FamilyStartChat_C2S> _parser = new pb::MessageParser<FamilyStartChat_C2S>(() => new FamilyStartChat_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyStartChat_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[57]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartChat_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartChat_C2S(FamilyStartChat_C2S other) : this() {
      chatType_ = other.chatType_;
      content_ = other.content_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartChat_C2S Clone() {
      return new FamilyStartChat_C2S(this);
    }
    /// <summary>Field number for the "chatType" field.</summary>
    public const int ChatTypeFieldNumber = 1;
    private global::Protobuf.ChatType chatType_ = 0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Protobuf.ChatType ChatType {
      get { return chatType_; }
      set {
        chatType_ = value;
      }
    }
    /// <summary>Field number for the "content" field.</summary>
    public const int ContentFieldNumber = 2;
    private string content_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Content {
      get { return content_; }
      set {
        content_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyStartChat_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyStartChat_C2S other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ChatType != other.ChatType) return false;
      if (Content != other.Content) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (ChatType != 0) hash ^= ChatType.GetHashCode();
      if (Content.Length != 0) hash ^= Content.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 (ChatType != 0) {
        output.WriteRawTag(8);
        output.WriteEnum((int) ChatType);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Content);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (ChatType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ChatType);
      }
      if (Content.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Content);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyStartChat_C2S other) {
      if (other == null) {
        return;
      }
      if (other.ChatType != 0) {
        ChatType = other.ChatType;
      }
      if (other.Content.Length != 0) {
        Content = other.Content;
      }
    }
    [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: {
            chatType_ = (global::Protobuf.ChatType) input.ReadEnum();
            break;
          }
          case 18: {
            Content = input.ReadString();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  这个消息也会群发给其他玩家
  /// </summary>
  public sealed partial class FamilyStartChat_S2C : pb::IMessage<FamilyStartChat_S2C> {
    private static readonly pb::MessageParser<FamilyStartChat_S2C> _parser = new pb::MessageParser<FamilyStartChat_S2C>(() => new FamilyStartChat_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyStartChat_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[58]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartChat_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartChat_S2C(FamilyStartChat_S2C other) : this() {
      errorcode_ = other.errorcode_;
      Message = other.message_ != null ? other.Message.Clone() : null;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartChat_S2C Clone() {
      return new FamilyStartChat_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "message" field.</summary>
    public const int MessageFieldNumber = 2;
    private global::Protobuf.FamilyChatMsg message_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Protobuf.FamilyChatMsg Message {
      get { return message_; }
      set {
        message_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyStartChat_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyStartChat_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if (!object.Equals(Message, other.Message)) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      if (message_ != null) hash ^= Message.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
      if (message_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Message);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      if (message_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Message);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyStartChat_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      if (other.message_ != null) {
        if (message_ == null) {
          message_ = new global::Protobuf.FamilyChatMsg();
        }
        Message.MergeFrom(other.Message);
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
          case 18: {
            if (message_ == null) {
              message_ = new global::Protobuf.FamilyChatMsg();
            }
            input.ReadMessage(message_);
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  给一个玩家捐献一个宝石
  /// </summary>
  public sealed partial class FamilyStartDonate_C2S : pb::IMessage<FamilyStartDonate_C2S> {
    private static readonly pb::MessageParser<FamilyStartDonate_C2S> _parser = new pb::MessageParser<FamilyStartDonate_C2S>(() => new FamilyStartDonate_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyStartDonate_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[59]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartDonate_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartDonate_C2S(FamilyStartDonate_C2S other) : this() {
      messageId_ = other.messageId_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartDonate_C2S Clone() {
      return new FamilyStartDonate_C2S(this);
    }
    /// <summary>Field number for the "messageId" field.</summary>
    public const int MessageIdFieldNumber = 1;
    private int messageId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int MessageId {
      get { return messageId_; }
      set {
        messageId_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyStartDonate_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyStartDonate_C2S other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (MessageId != other.MessageId) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (MessageId != 0) hash ^= MessageId.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 (MessageId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(MessageId);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (MessageId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MessageId);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyStartDonate_C2S other) {
      if (other == null) {
        return;
      }
      if (other.MessageId != 0) {
        MessageId = other.MessageId;
      }
    }
    [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: {
            MessageId = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  捐赠结果 这个消息也会群发给其他玩家
  /// </summary>
  public sealed partial class FamilyStartDonate_S2C : pb::IMessage<FamilyStartDonate_S2C> {
    private static readonly pb::MessageParser<FamilyStartDonate_S2C> _parser = new pb::MessageParser<FamilyStartDonate_S2C>(() => new FamilyStartDonate_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyStartDonate_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[60]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartDonate_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartDonate_S2C(FamilyStartDonate_S2C other) : this() {
      errorcode_ = other.errorcode_;
      Message = other.message_ != null ? other.Message.Clone() : null;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyStartDonate_S2C Clone() {
      return new FamilyStartDonate_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "message" field.</summary>
    public const int MessageFieldNumber = 2;
    private global::Protobuf.FamilyChatMsg message_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Protobuf.FamilyChatMsg Message {
      get { return message_; }
      set {
        message_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyStartDonate_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyStartDonate_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if (!object.Equals(Message, other.Message)) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      if (message_ != null) hash ^= Message.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
      if (message_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Message);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      if (message_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Message);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyStartDonate_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      if (other.message_ != null) {
        if (message_ == null) {
          message_ = new global::Protobuf.FamilyChatMsg();
        }
        Message.MergeFrom(other.Message);
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
          case 18: {
            if (message_ == null) {
              message_ = new global::Protobuf.FamilyChatMsg();
            }
            input.ReadMessage(message_);
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  退出工会
  ///  如果是会长退出,服务器会指定一个新的会长
  /// </summary>
  public sealed partial class FamilyQuit_C2S : pb::IMessage<FamilyQuit_C2S> {
    private static readonly pb::MessageParser<FamilyQuit_C2S> _parser = new pb::MessageParser<FamilyQuit_C2S>(() => new FamilyQuit_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyQuit_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[61]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyQuit_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyQuit_C2S(FamilyQuit_C2S other) : this() {
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyQuit_C2S Clone() {
      return new FamilyQuit_C2S(this);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyQuit_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyQuit_C2S 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(FamilyQuit_C2S 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 FamilyQuit_S2C : pb::IMessage<FamilyQuit_S2C> {
    private static readonly pb::MessageParser<FamilyQuit_S2C> _parser = new pb::MessageParser<FamilyQuit_S2C>(() => new FamilyQuit_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyQuit_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[62]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyQuit_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyQuit_S2C(FamilyQuit_S2C other) : this() {
      errorcode_ = other.errorcode_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyQuit_S2C Clone() {
      return new FamilyQuit_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyQuit_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyQuit_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyQuit_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  /// @{ 会长特有协议
  ///  会长批准入会
  /// </summary>
  public sealed partial class FamilyAgreeJoin_C2S : pb::IMessage<FamilyAgreeJoin_C2S> {
    private static readonly pb::MessageParser<FamilyAgreeJoin_C2S> _parser = new pb::MessageParser<FamilyAgreeJoin_C2S>(() => new FamilyAgreeJoin_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyAgreeJoin_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[63]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyAgreeJoin_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyAgreeJoin_C2S(FamilyAgreeJoin_C2S other) : this() {
      messageId_ = other.messageId_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyAgreeJoin_C2S Clone() {
      return new FamilyAgreeJoin_C2S(this);
    }
    /// <summary>Field number for the "messageId" field.</summary>
    public const int MessageIdFieldNumber = 1;
    private int messageId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int MessageId {
      get { return messageId_; }
      set {
        messageId_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyAgreeJoin_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyAgreeJoin_C2S other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (MessageId != other.MessageId) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (MessageId != 0) hash ^= MessageId.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 (MessageId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(MessageId);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (MessageId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MessageId);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyAgreeJoin_C2S other) {
      if (other == null) {
        return;
      }
      if (other.MessageId != 0) {
        MessageId = other.MessageId;
      }
    }
    [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: {
            MessageId = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  public sealed partial class FamilyAgreeJoin_S2C : pb::IMessage<FamilyAgreeJoin_S2C> {
    private static readonly pb::MessageParser<FamilyAgreeJoin_S2C> _parser = new pb::MessageParser<FamilyAgreeJoin_S2C>(() => new FamilyAgreeJoin_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyAgreeJoin_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[64]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyAgreeJoin_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyAgreeJoin_S2C(FamilyAgreeJoin_S2C other) : this() {
      errorcode_ = other.errorcode_;
      NewMember = other.newMember_ != null ? other.NewMember.Clone() : null;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyAgreeJoin_S2C Clone() {
      return new FamilyAgreeJoin_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "newMember" field.</summary>
    public const int NewMemberFieldNumber = 2;
    private global::Protobuf.FamilyMemberMsg newMember_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Protobuf.FamilyMemberMsg NewMember {
      get { return newMember_; }
      set {
        newMember_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyAgreeJoin_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyAgreeJoin_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if (!object.Equals(NewMember, other.NewMember)) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      if (newMember_ != null) hash ^= NewMember.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
      if (newMember_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(NewMember);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      if (newMember_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(NewMember);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyAgreeJoin_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      if (other.newMember_ != null) {
        if (newMember_ == null) {
          newMember_ = new global::Protobuf.FamilyMemberMsg();
        }
        NewMember.MergeFrom(other.NewMember);
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
          case 18: {
            if (newMember_ == null) {
              newMember_ = new global::Protobuf.FamilyMemberMsg();
            }
            input.ReadMessage(newMember_);
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  踢出会员
  /// </summary>
  public sealed partial class FamilyKickUser_C2S : pb::IMessage<FamilyKickUser_C2S> {
    private static readonly pb::MessageParser<FamilyKickUser_C2S> _parser = new pb::MessageParser<FamilyKickUser_C2S>(() => new FamilyKickUser_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyKickUser_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[65]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyKickUser_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyKickUser_C2S(FamilyKickUser_C2S other) : this() {
      username_ = other.username_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyKickUser_C2S Clone() {
      return new FamilyKickUser_C2S(this);
    }
    /// <summary>Field number for the "username" field.</summary>
    public const int UsernameFieldNumber = 1;
    private string username_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Username {
      get { return username_; }
      set {
        username_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyKickUser_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyKickUser_C2S other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Username != other.Username) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Username.Length != 0) hash ^= Username.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 (Username.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Username);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Username.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Username);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyKickUser_C2S other) {
      if (other == null) {
        return;
      }
      if (other.Username.Length != 0) {
        Username = other.Username;
      }
    }
    [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: {
            Username = input.ReadString();
            break;
          }
        }
      }
    }
  }
  public sealed partial class FamilyKickUser_S2C : pb::IMessage<FamilyKickUser_S2C> {
    private static readonly pb::MessageParser<FamilyKickUser_S2C> _parser = new pb::MessageParser<FamilyKickUser_S2C>(() => new FamilyKickUser_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyKickUser_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[66]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyKickUser_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyKickUser_S2C(FamilyKickUser_S2C other) : this() {
      errorcode_ = other.errorcode_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyKickUser_S2C Clone() {
      return new FamilyKickUser_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyKickUser_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyKickUser_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyKickUser_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  转让会长
  /// </summary>
  public sealed partial class FamilyTransLeader_C2S : pb::IMessage<FamilyTransLeader_C2S> {
    private static readonly pb::MessageParser<FamilyTransLeader_C2S> _parser = new pb::MessageParser<FamilyTransLeader_C2S>(() => new FamilyTransLeader_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyTransLeader_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[67]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyTransLeader_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyTransLeader_C2S(FamilyTransLeader_C2S other) : this() {
      username_ = other.username_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyTransLeader_C2S Clone() {
      return new FamilyTransLeader_C2S(this);
    }
    /// <summary>Field number for the "username" field.</summary>
    public const int UsernameFieldNumber = 1;
    private string username_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Username {
      get { return username_; }
      set {
        username_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyTransLeader_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyTransLeader_C2S other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Username != other.Username) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Username.Length != 0) hash ^= Username.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 (Username.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Username);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Username.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Username);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyTransLeader_C2S other) {
      if (other == null) {
        return;
      }
      if (other.Username.Length != 0) {
        Username = other.Username;
      }
    }
    [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: {
            Username = input.ReadString();
            break;
          }
        }
      }
    }
  }
  public sealed partial class FamilyTransLeader_S2C : pb::IMessage<FamilyTransLeader_S2C> {
    private static readonly pb::MessageParser<FamilyTransLeader_S2C> _parser = new pb::MessageParser<FamilyTransLeader_S2C>(() => new FamilyTransLeader_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyTransLeader_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[68]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyTransLeader_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyTransLeader_S2C(FamilyTransLeader_S2C other) : this() {
      errorcode_ = other.errorcode_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyTransLeader_S2C Clone() {
      return new FamilyTransLeader_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyTransLeader_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyTransLeader_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyTransLeader_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  /// @ 工会商店(使用工会捐献积分兑换,所有人都有权限)
  ///  获取捐赠商店列表
  /// </summary>
  public sealed partial class FamilyGetDonateShop_C2S : pb::IMessage<FamilyGetDonateShop_C2S> {
    private static readonly pb::MessageParser<FamilyGetDonateShop_C2S> _parser = new pb::MessageParser<FamilyGetDonateShop_C2S>(() => new FamilyGetDonateShop_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyGetDonateShop_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[69]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetDonateShop_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetDonateShop_C2S(FamilyGetDonateShop_C2S other) : this() {
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetDonateShop_C2S Clone() {
      return new FamilyGetDonateShop_C2S(this);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyGetDonateShop_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyGetDonateShop_C2S 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(FamilyGetDonateShop_C2S 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 FamilyGetDonateShop_S2C : pb::IMessage<FamilyGetDonateShop_S2C> {
    private static readonly pb::MessageParser<FamilyGetDonateShop_S2C> _parser = new pb::MessageParser<FamilyGetDonateShop_S2C>(() => new FamilyGetDonateShop_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyGetDonateShop_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[70]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetDonateShop_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetDonateShop_S2C(FamilyGetDonateShop_S2C other) : this() {
      errorcode_ = other.errorcode_;
      items_ = other.items_.Clone();
      expireTime_ = other.expireTime_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetDonateShop_S2C Clone() {
      return new FamilyGetDonateShop_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "items" field.</summary>
    public const int ItemsFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Protobuf.StoreItemMsg> _repeated_items_codec
        = pb::FieldCodec.ForMessage(18, global::Protobuf.StoreItemMsg.Parser);
    private readonly pbc::RepeatedField<global::Protobuf.StoreItemMsg> items_ = new pbc::RepeatedField<global::Protobuf.StoreItemMsg>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Protobuf.StoreItemMsg> Items {
      get { return items_; }
    }
    /// <summary>Field number for the "expireTime" field.</summary>
    public const int ExpireTimeFieldNumber = 3;
    private int expireTime_;
    /// <summary>
    /// !下次刷新时间,UNIX时间戳,单位秒
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int ExpireTime {
      get { return expireTime_; }
      set {
        expireTime_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyGetDonateShop_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyGetDonateShop_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if(!items_.Equals(other.items_)) return false;
      if (ExpireTime != other.ExpireTime) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      hash ^= items_.GetHashCode();
      if (ExpireTime != 0) hash ^= ExpireTime.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
      items_.WriteTo(output, _repeated_items_codec);
      if (ExpireTime != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ExpireTime);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      size += items_.CalculateSize(_repeated_items_codec);
      if (ExpireTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExpireTime);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyGetDonateShop_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      items_.Add(other.items_);
      if (other.ExpireTime != 0) {
        ExpireTime = other.ExpireTime;
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
          case 18: {
            items_.AddEntriesFrom(input, _repeated_items_codec);
            break;
          }
          case 24: {
            ExpireTime = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  购买捐赠商城物品
  /// </summary>
  public sealed partial class FamilyBuyDonateShop_C2S : pb::IMessage<FamilyBuyDonateShop_C2S> {
    private static readonly pb::MessageParser<FamilyBuyDonateShop_C2S> _parser = new pb::MessageParser<FamilyBuyDonateShop_C2S>(() => new FamilyBuyDonateShop_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyBuyDonateShop_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[71]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyDonateShop_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyDonateShop_C2S(FamilyBuyDonateShop_C2S other) : this() {
      donateshopId_ = other.donateshopId_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyDonateShop_C2S Clone() {
      return new FamilyBuyDonateShop_C2S(this);
    }
    /// <summary>Field number for the "donateshopId" field.</summary>
    public const int DonateshopIdFieldNumber = 1;
    private int donateshopId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int DonateshopId {
      get { return donateshopId_; }
      set {
        donateshopId_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyBuyDonateShop_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyBuyDonateShop_C2S other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (DonateshopId != other.DonateshopId) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (DonateshopId != 0) hash ^= DonateshopId.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 (DonateshopId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(DonateshopId);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (DonateshopId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DonateshopId);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyBuyDonateShop_C2S other) {
      if (other == null) {
        return;
      }
      if (other.DonateshopId != 0) {
        DonateshopId = other.DonateshopId;
      }
    }
    [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: {
            DonateshopId = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  public sealed partial class FamilyBuyDonateShop_S2C : pb::IMessage<FamilyBuyDonateShop_S2C> {
    private static readonly pb::MessageParser<FamilyBuyDonateShop_S2C> _parser = new pb::MessageParser<FamilyBuyDonateShop_S2C>(() => new FamilyBuyDonateShop_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyBuyDonateShop_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[72]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyDonateShop_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyDonateShop_S2C(FamilyBuyDonateShop_S2C other) : this() {
      errorcode_ = other.errorcode_;
      donateshopId_ = other.donateshopId_;
      curitems_ = other.curitems_.Clone();
      buyCount_ = other.buyCount_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyDonateShop_S2C Clone() {
      return new FamilyBuyDonateShop_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "donateshopId" field.</summary>
    public const int DonateshopIdFieldNumber = 2;
    private int donateshopId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int DonateshopId {
      get { return donateshopId_; }
      set {
        donateshopId_ = value;
      }
    }
    /// <summary>Field number for the "curitems" field.</summary>
    public const int CuritemsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::Protobuf.RewardItemMsg> _repeated_curitems_codec
        = pb::FieldCodec.ForMessage(26, global::Protobuf.RewardItemMsg.Parser);
    private readonly pbc::RepeatedField<global::Protobuf.RewardItemMsg> curitems_ = new pbc::RepeatedField<global::Protobuf.RewardItemMsg>();
    /// <summary>
    ///  消费后的当前值
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Protobuf.RewardItemMsg> Curitems {
      get { return curitems_; }
    }
    /// <summary>Field number for the "buyCount" field.</summary>
    public const int BuyCountFieldNumber = 4;
    private int buyCount_;
    /// <summary>
    ///  当前的购买次数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int BuyCount {
      get { return buyCount_; }
      set {
        buyCount_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyBuyDonateShop_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyBuyDonateShop_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if (DonateshopId != other.DonateshopId) return false;
      if(!curitems_.Equals(other.curitems_)) return false;
      if (BuyCount != other.BuyCount) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      if (DonateshopId != 0) hash ^= DonateshopId.GetHashCode();
      hash ^= curitems_.GetHashCode();
      if (BuyCount != 0) hash ^= BuyCount.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
      if (DonateshopId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DonateshopId);
      }
      curitems_.WriteTo(output, _repeated_curitems_codec);
      if (BuyCount != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(BuyCount);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      if (DonateshopId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DonateshopId);
      }
      size += curitems_.CalculateSize(_repeated_curitems_codec);
      if (BuyCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuyCount);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyBuyDonateShop_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      if (other.DonateshopId != 0) {
        DonateshopId = other.DonateshopId;
      }
      curitems_.Add(other.curitems_);
      if (other.BuyCount != 0) {
        BuyCount = other.BuyCount;
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
          case 16: {
            DonateshopId = input.ReadInt32();
            break;
          }
          case 26: {
            curitems_.AddEntriesFrom(input, _repeated_curitems_codec);
            break;
          }
          case 32: {
            BuyCount = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  获取积分商店物品列表
  /// </summary>
  public sealed partial class FamilyGetScoreShop_C2S : pb::IMessage<FamilyGetScoreShop_C2S> {
    private static readonly pb::MessageParser<FamilyGetScoreShop_C2S> _parser = new pb::MessageParser<FamilyGetScoreShop_C2S>(() => new FamilyGetScoreShop_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyGetScoreShop_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[73]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetScoreShop_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetScoreShop_C2S(FamilyGetScoreShop_C2S other) : this() {
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetScoreShop_C2S Clone() {
      return new FamilyGetScoreShop_C2S(this);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyGetScoreShop_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyGetScoreShop_C2S 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(FamilyGetScoreShop_C2S 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 FamilyGetScoreShop_S2C : pb::IMessage<FamilyGetScoreShop_S2C> {
    private static readonly pb::MessageParser<FamilyGetScoreShop_S2C> _parser = new pb::MessageParser<FamilyGetScoreShop_S2C>(() => new FamilyGetScoreShop_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyGetScoreShop_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[74]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetScoreShop_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetScoreShop_S2C(FamilyGetScoreShop_S2C other) : this() {
      errorcode_ = other.errorcode_;
      items_ = other.items_.Clone();
      expireTime_ = other.expireTime_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyGetScoreShop_S2C Clone() {
      return new FamilyGetScoreShop_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "items" field.</summary>
    public const int ItemsFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Protobuf.StoreItemMsg> _repeated_items_codec
        = pb::FieldCodec.ForMessage(18, global::Protobuf.StoreItemMsg.Parser);
    private readonly pbc::RepeatedField<global::Protobuf.StoreItemMsg> items_ = new pbc::RepeatedField<global::Protobuf.StoreItemMsg>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Protobuf.StoreItemMsg> Items {
      get { return items_; }
    }
    /// <summary>Field number for the "expireTime" field.</summary>
    public const int ExpireTimeFieldNumber = 3;
    private int expireTime_;
    /// <summary>
    /// !下次刷新时间,UNIX时间戳,单位秒
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int ExpireTime {
      get { return expireTime_; }
      set {
        expireTime_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyGetScoreShop_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyGetScoreShop_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if(!items_.Equals(other.items_)) return false;
      if (ExpireTime != other.ExpireTime) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      hash ^= items_.GetHashCode();
      if (ExpireTime != 0) hash ^= ExpireTime.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
      items_.WriteTo(output, _repeated_items_codec);
      if (ExpireTime != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ExpireTime);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      size += items_.CalculateSize(_repeated_items_codec);
      if (ExpireTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExpireTime);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyGetScoreShop_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      items_.Add(other.items_);
      if (other.ExpireTime != 0) {
        ExpireTime = other.ExpireTime;
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
          case 18: {
            items_.AddEntriesFrom(input, _repeated_items_codec);
            break;
          }
          case 24: {
            ExpireTime = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  购买积分商城物品
  /// </summary>
  public sealed partial class FamilyBuyScoreShop_C2S : pb::IMessage<FamilyBuyScoreShop_C2S> {
    private static readonly pb::MessageParser<FamilyBuyScoreShop_C2S> _parser = new pb::MessageParser<FamilyBuyScoreShop_C2S>(() => new FamilyBuyScoreShop_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyBuyScoreShop_C2S> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[75]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyScoreShop_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyScoreShop_C2S(FamilyBuyScoreShop_C2S other) : this() {
      scoreshopId_ = other.scoreshopId_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyScoreShop_C2S Clone() {
      return new FamilyBuyScoreShop_C2S(this);
    }
    /// <summary>Field number for the "scoreshopId" field.</summary>
    public const int ScoreshopIdFieldNumber = 1;
    private int scoreshopId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int ScoreshopId {
      get { return scoreshopId_; }
      set {
        scoreshopId_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyBuyScoreShop_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyBuyScoreShop_C2S other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ScoreshopId != other.ScoreshopId) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (ScoreshopId != 0) hash ^= ScoreshopId.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 (ScoreshopId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(ScoreshopId);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (ScoreshopId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScoreshopId);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyBuyScoreShop_C2S other) {
      if (other == null) {
        return;
      }
      if (other.ScoreshopId != 0) {
        ScoreshopId = other.ScoreshopId;
      }
    }
    [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: {
            ScoreshopId = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  public sealed partial class FamilyBuyScoreShop_S2C : pb::IMessage<FamilyBuyScoreShop_S2C> {
    private static readonly pb::MessageParser<FamilyBuyScoreShop_S2C> _parser = new pb::MessageParser<FamilyBuyScoreShop_S2C>(() => new FamilyBuyScoreShop_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyBuyScoreShop_S2C> Parser { get { return _parser; } }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Protobuf.GameReflection.Descriptor.MessageTypes[76]; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyScoreShop_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyScoreShop_S2C(FamilyBuyScoreShop_S2C other) : this() {
      errorcode_ = other.errorcode_;
      scoreshopId_ = other.scoreshopId_;
      scoreshopExpired_ = other.scoreshopExpired_;
      familyScore_ = other.familyScore_;
      buyCount_ = other.buyCount_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyBuyScoreShop_S2C Clone() {
      return new FamilyBuyScoreShop_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "scoreshopId" field.</summary>
    public const int ScoreshopIdFieldNumber = 2;
    private int scoreshopId_;
    /// <summary>
    /// ! 这个2个字段,复制到工会结构体里面
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int ScoreshopId {
      get { return scoreshopId_; }
      set {
        scoreshopId_ = value;
      }
    }
    /// <summary>Field number for the "scoreshopExpired" field.</summary>
    public const int ScoreshopExpiredFieldNumber = 3;
    private int scoreshopExpired_;
    /// <summary>
    /// ! 注意,这个是不积分商店刷新时间,这个是新的BUF过期时间戳.单位秒
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int ScoreshopExpired {
      get { return scoreshopExpired_; }
      set {
        scoreshopExpired_ = value;
      }
    }
    /// <summary>Field number for the "familyScore" field.</summary>
    public const int FamilyScoreFieldNumber = 4;
    private int familyScore_;
    /// <summary>
    /// !当前的工会积分
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int FamilyScore {
      get { return familyScore_; }
      set {
        familyScore_ = value;
      }
    }
    /// <summary>Field number for the "buyCount" field.</summary>
    public const int BuyCountFieldNumber = 5;
    private int buyCount_;
    /// <summary>
    /// ! 当前的购买次数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int BuyCount {
      get { return buyCount_; }
      set {
        buyCount_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyBuyScoreShop_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyBuyScoreShop_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if (ScoreshopId != other.ScoreshopId) return false;
      if (ScoreshopExpired != other.ScoreshopExpired) return false;
      if (FamilyScore != other.FamilyScore) return false;
      if (BuyCount != other.BuyCount) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      if (ScoreshopId != 0) hash ^= ScoreshopId.GetHashCode();
      if (ScoreshopExpired != 0) hash ^= ScoreshopExpired.GetHashCode();
      if (FamilyScore != 0) hash ^= FamilyScore.GetHashCode();
      if (BuyCount != 0) hash ^= BuyCount.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 (Errorcode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Errorcode);
      }
      if (ScoreshopId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ScoreshopId);
      }
      if (ScoreshopExpired != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ScoreshopExpired);
      }
      if (FamilyScore != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FamilyScore);
      }
      if (BuyCount != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(BuyCount);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      if (ScoreshopId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScoreshopId);
      }
      if (ScoreshopExpired != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScoreshopExpired);
      }
      if (FamilyScore != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FamilyScore);
      }
      if (BuyCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuyCount);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyBuyScoreShop_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      if (other.ScoreshopId != 0) {
        ScoreshopId = other.ScoreshopId;
      }
      if (other.ScoreshopExpired != 0) {
        ScoreshopExpired = other.ScoreshopExpired;
      }
      if (other.FamilyScore != 0) {
        FamilyScore = other.FamilyScore;
      }
      if (other.BuyCount != 0) {
        BuyCount = other.BuyCount;
      }
    }
    [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: {
            Errorcode = input.ReadInt32();
            break;
          }
          case 16: {
            ScoreshopId = input.ReadInt32();
            break;
          }
          case 24: {
            ScoreshopExpired = input.ReadInt32();
            break;
          }
          case 32: {
            FamilyScore = input.ReadInt32();
            break;
          }
          case 40: {
            BuyCount = input.ReadInt32();
            break;
          }
        }
      }
    }
  }
  #endregion
}