wangguan
2020-11-23 e70a047e1d3a3b476212d49714264cf6871cd9fc
Assets/Scripts/Net/NetExtends/Game.cs
@@ -94,7 +94,53 @@
            "KAgimAEKEFRha2VBcmVuYUJveF9TMkMSEQoJZXJyb3Jjb2RlGAEgASgFEgsK",
            "A3BvcxgCIAEoBRINCgVib3hpZBgDIAEoBRIpCghjdXJpdGVtcxgEIAMoCzIX",
            "LnByb3RvYnVmLlJld2FyZEl0ZW1Nc2cSKgoJYm94cmV3YXJkGAUgAygLMhcu",
            "cHJvdG9idWYuUmV3YXJkSXRlbU1zZ2IGcHJvdG8z"));
            "cHJvdG9idWYuUmV3YXJkSXRlbU1zZyI1Cg5GYW1pbHlJbmZvX1MyQxIjCgZm",
            "YW1pbHkYASABKAsyEy5wcm90b2J1Zi5GYW1pbHlNc2ciLwoQRmFtaWx5U2Vh",
            "cmNoX0MyUxIMCgRuYW1lGAEgASgJEg0KBWxpbWl0GAIgASgFIlgKEEZhbWls",
            "eVNlYXJjaF9TMkMSEQoJZXJyb3Jjb2RlGAEgASgFEjEKCmZhbWlseWxpc3QY",
            "AiADKAsyHS5wcm90b2J1Zi5GYW1pbHlTZWFyY2hJdGVtTXNnIjoKFkZhbWls",
            "eVBsYXllck9ubGluZV9TMkMSEAoIdXNlcm5hbWUYASABKAUSDgoGb25saW5l",
            "GAIgASgIImIKEEZhbWlseUNyZWF0ZV9DMlMSDAoEbmFtZRgBIAEoCRIMCgRk",
            "ZXNjGAIgASgJEg0KBWljb25zGAMgAygFEhAKCGZyZWVKb2luGAQgASgFEhEK",
            "CW5lZWRTY29yZRgFIAEoBSJKChBGYW1pbHlDcmVhdGVfUzJDEhEKCWVycm9y",
            "Y29kZRgBIAEoBRIjCgZmYW1pbHkYAiABKAsyEy5wcm90b2J1Zi5GYW1pbHlN",
            "c2ciHQoORmFtaWx5RmluZF9DMlMSCwoDdWlkGAEgASgJIkgKDkZhbWlseUZp",
            "bmRfUzJDEhEKCWVycm9yY29kZRgBIAEoBRIjCgZmYW1pbHkYAiABKAsyEy5w",
            "cm90b2J1Zi5GYW1pbHlNc2ciHQoORmFtaWx5Sm9pbl9DMlMSCwoDdWlkGAEg",
            "ASgJIjAKDkZhbWlseUpvaW5fUzJDEhEKCWVycm9yY29kZRgBIAEoBRILCgN1",
            "aWQYAiABKAkiMQoRRmFtaWx5R2V0Q2hhdF9DMlMSDQoFc3RhcnQYASABKAUS",
            "DQoFbGltaXQYAiABKAUidQoRRmFtaWx5R2V0Q2hhdF9TMkMSEQoJZXJyb3Jj",
            "b2RlGAEgASgFEikKCG1lc3NhZ2VzGAIgAygLMhcucHJvdG9idWYuRmFtaWx5",
            "Q2hhdE1zZxINCgV0b3RhbBgDIAEoBRITCgtvbmxpbmVDb3VudBgEIAEoBSJb",
            "ChNGYW1pbHlTdGFydENoYXRfQzJTEiQKCGNoYXRUeXBlGAEgASgOMhIucHJv",
            "dG9idWYuQ2hhdFR5cGUSDwoHY29udGVudBgCIAEoCRINCgVnZW1JZBgDIAEo",
            "BSJSChNGYW1pbHlTdGFydENoYXRfUzJDEhEKCWVycm9yY29kZRgBIAEoBRIo",
            "CgdtZXNzYWdlGAIgASgLMhcucHJvdG9idWYuRmFtaWx5Q2hhdE1zZyIqChVG",
            "YW1pbHlTdGFydERvbmF0ZV9DMlMSEQoJbWVzc2FnZUlkGAEgASgFIlQKFUZh",
            "bWlseVN0YXJ0RG9uYXRlX1MyQxIRCgllcnJvcmNvZGUYASABKAUSKAoHbWVz",
            "c2FnZRgCIAEoCzIXLnByb3RvYnVmLkZhbWlseUNoYXRNc2ciEAoORmFtaWx5",
            "UXVpdF9DMlMiIwoORmFtaWx5UXVpdF9TMkMSEQoJZXJyb3Jjb2RlGAEgASgF",
            "IigKE0ZhbWlseUFncmVlSm9pbl9DMlMSEQoJbWVzc2FnZUlkGAEgASgFIlYK",
            "E0ZhbWlseUFncmVlSm9pbl9TMkMSEQoJZXJyb3Jjb2RlGAEgASgFEiwKCW5l",
            "d01lbWJlchgCIAEoCzIZLnByb3RvYnVmLkZhbWlseU1lbWJlck1zZyImChJG",
            "YW1pbHlLaWNrVXNlcl9DMlMSEAoIdXNlcm5hbWUYASABKAkiJwoSRmFtaWx5",
            "S2lja1VzZXJfUzJDEhEKCWVycm9yY29kZRgBIAEoBSIpChVGYW1pbHlUcmFu",
            "c0xlYWRlcl9DMlMSEAoIdXNlcm5hbWUYASABKAkiKgoVRmFtaWx5VHJhbnNM",
            "ZWFkZXJfUzJDEhEKCWVycm9yY29kZRgBIAEoBSIZChdGYW1pbHlHZXREb25h",
            "dGVTaG9wX0MyUyJnChdGYW1pbHlHZXREb25hdGVTaG9wX1MyQxIRCgllcnJv",
            "cmNvZGUYASABKAUSJQoFaXRlbXMYAiADKAsyFi5wcm90b2J1Zi5TdG9yZUl0",
            "ZW1Nc2cSEgoKZXhwaXJlVGltZRgDIAEoBSIvChdGYW1pbHlCdXlEb25hdGVT",
            "aG9wX0MyUxIUCgxkb25hdGVzaG9wSWQYASABKAUifwoXRmFtaWx5QnV5RG9u",
            "YXRlU2hvcF9TMkMSEQoJZXJyb3Jjb2RlGAEgASgFEhQKDGRvbmF0ZXNob3BJ",
            "ZBgCIAEoBRIpCghjdXJpdGVtcxgDIAMoCzIXLnByb3RvYnVmLlJld2FyZEl0",
            "ZW1Nc2cSEAoIYnV5Q291bnQYBCABKAUiGAoWRmFtaWx5R2V0U2NvcmVTaG9w",
            "X0MyUyJmChZGYW1pbHlHZXRTY29yZVNob3BfUzJDEhEKCWVycm9yY29kZRgB",
            "IAEoBRIlCgVpdGVtcxgCIAMoCzIWLnByb3RvYnVmLlN0b3JlSXRlbU1zZxIS",
            "CgpleHBpcmVUaW1lGAMgASgFIi0KFkZhbWlseUJ1eVNjb3JlU2hvcF9DMlMS",
            "EwoLc2NvcmVzaG9wSWQYASABKAUigQEKFkZhbWlseUJ1eVNjb3JlU2hvcF9T",
            "MkMSEQoJZXJyb3Jjb2RlGAEgASgFEhMKC3Njb3Jlc2hvcElkGAIgASgFEhgK",
            "EHNjb3Jlc2hvcEV4cGlyZWQYAyABKAUSEwoLZmFtaWx5U2NvcmUYBCABKAUS",
            "EAoIYnV5Q291bnQYBSABKAViBnByb3RvMw=="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Protobuf.CommonReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
@@ -146,7 +192,39 @@
            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.FamilyInfo_S2C), global::Protobuf.FamilyInfo_S2C.Parser, new[]{ "Family" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilySearch_C2S), global::Protobuf.FamilySearch_C2S.Parser, new[]{ "Name", "Limit" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilySearch_S2C), global::Protobuf.FamilySearch_S2C.Parser, new[]{ "Errorcode", "Familylist" }, 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.FamilyCreate_S2C), global::Protobuf.FamilyCreate_S2C.Parser, new[]{ "Errorcode", "Family" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyFind_C2S), global::Protobuf.FamilyFind_C2S.Parser, new[]{ "Uid" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyFind_S2C), global::Protobuf.FamilyFind_S2C.Parser, new[]{ "Errorcode", "Family" }, 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", "GemId" }, 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 +7866,4625 @@
  }
  /// <summary>
  ///  玩家上线后,如果收到这个信息,表示加入工会了,
  ///  服务器自动下发,不用请求
  /// </summary>
  public sealed partial class FamilyInfo_S2C : pb::IMessage<FamilyInfo_S2C> {
    private static readonly pb::MessageParser<FamilyInfo_S2C> _parser = new pb::MessageParser<FamilyInfo_S2C>(() => new FamilyInfo_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyInfo_S2C> 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 FamilyInfo_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyInfo_S2C(FamilyInfo_S2C other) : this() {
      Family = other.family_ != null ? other.Family.Clone() : null;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyInfo_S2C Clone() {
      return new FamilyInfo_S2C(this);
    }
    /// <summary>Field number for the "family" field.</summary>
    public const int FamilyFieldNumber = 1;
    private global::Protobuf.FamilyMsg family_;
    /// <summary>
    ///  工会信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Protobuf.FamilyMsg Family {
      get { return family_; }
      set {
        family_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyInfo_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyInfo_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(Family, other.Family)) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (family_ != null) hash ^= Family.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 (family_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Family);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (family_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Family);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyInfo_S2C other) {
      if (other == null) {
        return;
      }
      if (other.family_ != null) {
        if (family_ == null) {
          family_ = new global::Protobuf.FamilyMsg();
        }
        Family.MergeFrom(other.Family);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            if (family_ == null) {
              family_ = new global::Protobuf.FamilyMsg();
            }
            input.ReadMessage(family_);
            break;
          }
        }
      }
    }
  }
  /// <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[50]; }
    }
    [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_;
      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 "limit" field.</summary>
    public const int LimitFieldNumber = 2;
    private int limit_;
    /// <summary>
    ///  起始分页0
    /// int32 start = 2;
    /// </summary>
    [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 (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 (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 (Limit != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Limit);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      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.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: {
            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[51]; }
    }
    [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();
    }
    [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_; }
    }
    [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;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      hash ^= familylist_.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);
    }
    [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);
      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_);
    }
    [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;
          }
        }
      }
    }
  }
  /// <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[52]; }
    }
    [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[53]; }
    }
    [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 FamilyCreate_S2C : pb::IMessage<FamilyCreate_S2C> {
    private static readonly pb::MessageParser<FamilyCreate_S2C> _parser = new pb::MessageParser<FamilyCreate_S2C>(() => new FamilyCreate_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyCreate_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 FamilyCreate_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyCreate_S2C(FamilyCreate_S2C other) : this() {
      errorcode_ = other.errorcode_;
      Family = other.family_ != null ? other.Family.Clone() : null;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyCreate_S2C Clone() {
      return new FamilyCreate_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    /// <summary>
    /// NotEnough_Level,Input_Invalid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "family" field.</summary>
    public const int FamilyFieldNumber = 2;
    private global::Protobuf.FamilyMsg family_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Protobuf.FamilyMsg Family {
      get { return family_; }
      set {
        family_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyCreate_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyCreate_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if (!object.Equals(Family, other.Family)) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      if (family_ != null) hash ^= Family.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 (family_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Family);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      if (family_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Family);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyCreate_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      if (other.family_ != null) {
        if (family_ == null) {
          family_ = new global::Protobuf.FamilyMsg();
        }
        Family.MergeFrom(other.Family);
      }
    }
    [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 (family_ == null) {
              family_ = new global::Protobuf.FamilyMsg();
            }
            input.ReadMessage(family_);
            break;
          }
        }
      }
    }
  }
  /// <summary>
  ///  查询公会
  /// </summary>
  public sealed partial class FamilyFind_C2S : pb::IMessage<FamilyFind_C2S> {
    private static readonly pb::MessageParser<FamilyFind_C2S> _parser = new pb::MessageParser<FamilyFind_C2S>(() => new FamilyFind_C2S());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyFind_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 FamilyFind_C2S() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyFind_C2S(FamilyFind_C2S other) : this() {
      uid_ = other.uid_;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyFind_C2S Clone() {
      return new FamilyFind_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 FamilyFind_C2S);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyFind_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(FamilyFind_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 FamilyFind_S2C : pb::IMessage<FamilyFind_S2C> {
    private static readonly pb::MessageParser<FamilyFind_S2C> _parser = new pb::MessageParser<FamilyFind_S2C>(() => new FamilyFind_S2C());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<FamilyFind_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 FamilyFind_S2C() {
      OnConstruction();
    }
    partial void OnConstruction();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyFind_S2C(FamilyFind_S2C other) : this() {
      errorcode_ = other.errorcode_;
      Family = other.family_ != null ? other.Family.Clone() : null;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public FamilyFind_S2C Clone() {
      return new FamilyFind_S2C(this);
    }
    /// <summary>Field number for the "errorcode" field.</summary>
    public const int ErrorcodeFieldNumber = 1;
    private int errorcode_;
    /// <summary>
    ///  NotEnough_Level,AlreadyIn_Family
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Errorcode {
      get { return errorcode_; }
      set {
        errorcode_ = value;
      }
    }
    /// <summary>Field number for the "family" field.</summary>
    public const int FamilyFieldNumber = 2;
    private global::Protobuf.FamilyMsg family_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Protobuf.FamilyMsg Family {
      get { return family_; }
      set {
        family_ = value;
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as FamilyFind_S2C);
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(FamilyFind_S2C other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Errorcode != other.Errorcode) return false;
      if (!object.Equals(Family, other.Family)) return false;
      return true;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Errorcode != 0) hash ^= Errorcode.GetHashCode();
      if (family_ != null) hash ^= Family.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 (family_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Family);
      }
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Errorcode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Errorcode);
      }
      if (family_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Family);
      }
      return size;
    }
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(FamilyFind_S2C other) {
      if (other == null) {
        return;
      }
      if (other.Errorcode != 0) {
        Errorcode = other.Errorcode;
      }
      if (other.family_ != null) {
        if (family_ == null) {
          family_ = new global::Protobuf.FamilyMsg();
        }
        Family.MergeFrom(other.Family);
      }
    }
    [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 (family_ == null) {
              family_ = new global::Protobuf.FamilyMsg();
            }
            input.ReadMessage(family_);
            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[57]; }
    }
    [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[58]; }
    }
    [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_;
    /// <summary>
    ///  NotEnough_Level,AlreadyIn_Family,NotExist_Family
    /// </summary>
    [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[59]; }
    }
    [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[60]; }
    }
    [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[61]; }
    }
    [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_;
      gemId_ = other.gemId_;
    }
    [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");
      }
    }
    /// <summary>Field number for the "gemId" field.</summary>
    public const int GemIdFieldNumber = 3;
    private int gemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int GemId {
      get { return gemId_; }
      set {
        gemId_ = 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;
      if (GemId != other.GemId) 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();
      if (GemId != 0) hash ^= GemId.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);
      }
      if (GemId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(GemId);
      }
    }
    [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);
      }
      if (GemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GemId);
      }
      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;
      }
      if (other.GemId != 0) {
        GemId = other.GemId;
      }
    }
    [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;
          }
          case 24: {
            GemId = input.ReadInt32();
            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[62]; }
    }
    [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[63]; }
    }
    [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[64]; }
    }
    [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[65]; }
    }
    [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[66]; }
    }
    [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[67]; }
    }
    [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[68]; }
    }
    [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[69]; }
    }
    [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[70]; }
    }
    [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[71]; }
    }
    [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[72]; }
    }
    [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[73]; }
    }
    [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[74]; }
    }
    [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[75]; }
    }
    [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[76]; }
    }
    [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[77]; }
    }
    [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[78]; }
    }
    [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[79]; }
    }
    [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[80]; }
    }
    [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
}