From 23ef235a263191230031dfaa02c054197fdddd91 Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Tue, 20 Oct 2020 14:08:19 +0800
Subject: [PATCH] 完善PVE界面逻辑,使用正式的界面资源 解决bug:1.打掉小怪没有获得金币 2.摧毁塔位 塔没有消失

---
 Assets/Scripts/Net/NetExtends/Common.cs | 2068 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2,035 insertions(+), 33 deletions(-)

diff --git a/Assets/Scripts/Net/NetExtends/Common.cs b/Assets/Scripts/Net/NetExtends/Common.cs
index 6c34f3d..8dfe14e 100644
--- a/Assets/Scripts/Net/NetExtends/Common.cs
+++ b/Assets/Scripts/Net/NetExtends/Common.cs
@@ -23,7 +23,7 @@
       byte[] descriptorData = global::System.Convert.FromBase64String(
           string.Concat(
             "Cgxjb21tb24ucHJvdG8SCHByb3RvYnVmIjUKBkdlbU1zZxINCgVnZW1JZBgB",
-            "IAEoBRINCgVsZXZlbBgCIAEoBRINCgVjb3VudBgDIAEoBSL4AgoLVXNlckRh",
+            "IAEoBRINCgVsZXZlbBgCIAEoBRINCgVjb3VudBgDIAEoBSKtAwoLVXNlckRh",
             "dGFNc2cSEAoIdXNlcm5hbWUYASABKAkSEAoIbmlja25hbWUYAiABKAkSDwoH",
             "aGVhZGltZxgDIAEoBRIRCglzaW5nYXR1cmUYBCABKAkSDQoFbGV2ZWwYBSAB",
             "KAUSDAoEcmFuaxgGIAEoBRINCgVzY29yZRgHIAEoBRILCgNleHAYCCABKAUS",
@@ -32,44 +32,76 @@
             "GA0gAygFEhAKCGdlbWRlY2szGA4gAygFEg4KBmRlY2tpZBgPIAEoBRIUCgxh",
             "Y2NlcHRmcmllbmQYECABKAgSFAoMbmFtZWRjaGFuZ2VkGBEgASgIEg8KB2Fy",
             "ZWFleHAYEiABKAUSKAoJYXJlYWJveGVzGBMgAygLMhUucHJvdG9idWYuQXJl",
-            "bmFCb3hNc2cinwEKCUZyaWVuZE1zZxIQCgh1c2VybmFtZRgBIAEoCRIQCghu",
-            "aWNrbmFtZRgCIAEoCRIPCgdoZWFkaW1nGAMgASgFEg0KBWxldmVsGAUgASgF",
-            "EgwKBHJhbmsYBiABKAUSDQoFc2NvcmUYByABKAUSDgoGb25saW5lGAggASgI",
-            "EiEKB2dlbWRlY2sYCSADKAsyEC5wcm90b2J1Zi5HZW1Nc2ciVgoMU3RvcmVB",
-            "cmVhTXNnEgoKAmlkGAEgASgFEhMKC3JlZnJlc2hUaW1lGAIgASgFEiUKBWl0",
-            "ZW1zGAMgAygLMhYucHJvdG9idWYuU3RvcmVJdGVtTXNnIiwKDFN0b3JlSXRl",
-            "bU1zZxIKCgJpZBgBIAEoBRIQCghidXlDb3VudBgCIAEoBSI4Cg1SZXdhcmRJ",
-            "dGVtTXNnEgwKBHR5cGUYASABKAUSCgoCaWQYAiABKAUSDQoFY291bnQYAyAB",
-            "KAUiPQoLQXJlbmFCb3hNc2cSCwoDcG9zGAEgASgFEg0KBWJveGlkGAIgASgF",
-            "EhIKCmV4cGlyZVRpbWUYAyABKAUqXAoIQ1VSUkVOQ1kSEgoOQ1VSUkVOQ1lf",
-            "QkVHSU4QABIJCgVNT05FWRABEggKBEdPTEQQAhIHCgNSTUIQAxIHCgNHRU0Q",
-            "BBIHCgNCT1gQBRIMCghBUkVOQUVYUBAGKiYKCUNoYW5uZWxJRBIRCg1DSEFO",
-            "TkVMX0JFR0lOEAASBgoCR00QASqNBQoJRXJyb3JDb2RlEgsKB1N1Y2Nlc3MQ",
-            "ABIVChFDaGFubmVsSWRfTm9FeGlzdBABEhQKEFVzZXJOYW1lX0ludmFsaWQQ",
-            "AhIYChRVc2VyUGFzc1dvcmRfSW52YWxpZBADEhAKDFVua25vd19FcnJvchAE",
-            "EhEKDUlucHV0X0ludmFsaWQQBRILCgdUaW1lb3V0EAYSFgoSU2Vzc2lvbktl",
-            "eV9JbnZhbGlkEAcSEAoMTG9naW5fTm9Vc2VyEAgSEwoPTm90RW5vdWdoX01v",
-            "bmV5EAkSEgoOTm90RW5vdWdoX0dvbGQQChIRCg1Ob3RFbm91Z2hfR2VtEAsS",
-            "EwoPTm90Rm91bmRfRnJpZW5kEAwSEgoOQWxyZWFkeV9GcmllbmQQDRISCg5J",
-            "bkJsb2NrX0ZyaWVuZBAOEg4KCk1heF9GcmllbmQQDxIQCgxNYXhfTmlja05h",
-            "bWUQEBIUChBJbnZhbGlkX05pY2tOYW1lEBESEgoOTWF4X1N0b3JlTGltaXQQ",
-            "EhIWChJOb3RFbm91Z2hfU3RvcmVCdXkQExIUChBOb3RPcGVuX1Bhc3NQb3J0",
-            "EBQSFAoQQWxyZWFkeV9QYXNzUG9ydBAVEhwKGE5lZWRWaXBfUGFzc1BvcnRU",
-            "YWtlSXRlbRAWEh4KGk5lZWRMZXZlbF9QYXNzUG9ydFRha2VJdGVtEBcSHAoY",
-            "QWxyZWFkeV9QYXNzUG9ydFRha2VJdGVtEBgSHAoYSW52YWxpZF9QYXNzUG9y",
-            "dEJ1eUxldmVsEBkSFgoSSGFzVW5sb2NrX0FyZW5hQm94EBoSGwoXT3RoZXJV",
-            "bmxvY2tpbmdfQXJlbmFCb3gQGxIYChROb3RUaW1lVGFrZV9BcmVuYUJveBAc",
-            "YgZwcm90bzM="));
+            "bmFCb3hNc2cSIwoGZmFtaWx5GBQgASgLMhMucHJvdG9idWYuRmFtaWx5TXNn",
+            "Eg4KBmRvbmF0ZRgVIAEoBSKfAQoJRnJpZW5kTXNnEhAKCHVzZXJuYW1lGAEg",
+            "ASgJEhAKCG5pY2tuYW1lGAIgASgJEg8KB2hlYWRpbWcYAyABKAUSDQoFbGV2",
+            "ZWwYBSABKAUSDAoEcmFuaxgGIAEoBRINCgVzY29yZRgHIAEoBRIOCgZvbmxp",
+            "bmUYCCABKAgSIQoHZ2VtZGVjaxgJIAMoCzIQLnByb3RvYnVmLkdlbU1zZyJW",
+            "CgxTdG9yZUFyZWFNc2cSCgoCaWQYASABKAUSEwoLcmVmcmVzaFRpbWUYAiAB",
+            "KAUSJQoFaXRlbXMYAyADKAsyFi5wcm90b2J1Zi5TdG9yZUl0ZW1Nc2ciLAoM",
+            "U3RvcmVJdGVtTXNnEgoKAmlkGAEgASgFEhAKCGJ1eUNvdW50GAIgASgFIjgK",
+            "DVJld2FyZEl0ZW1Nc2cSDAoEdHlwZRgBIAEoBRIKCgJpZBgCIAEoBRINCgVj",
+            "b3VudBgDIAEoBSI9CgtBcmVuYUJveE1zZxILCgNwb3MYASABKAUSDQoFYm94",
+            "aWQYAiABKAUSEgoKZXhwaXJlVGltZRgDIAEoBSKvAQoPRmFtaWx5TWVtYmVy",
+            "TXNnEhAKCHVzZXJuYW1lGAEgASgJEhAKCG5pY2tuYW1lGAIgASgJEg8KB2hl",
+            "YWRpbWcYAyABKAUSEAoIcG9zaXRpb24YBCABKAUSDgoGb25saW5lGAUgASgI",
+            "Eg0KBXNjb3JlGAYgASgFEg0KBWxldmVsGAcgASgFEhIKCndlZWtEb25hdGUY",
+            "CCABKAUSEwoLdG90YWxEb25hdGUYCSABKAUiPAoTRmFtaWx5RG9uYXRlSXRl",
+            "bU1zZxIQCgh1c2VybmFtZRgBIAEoCRITCgtkb25hdGVDb3VudBgCIAEoBSKS",
+            "AwoNRmFtaWx5Q2hhdE1zZxIRCgltZXNzYWdlSWQYASABKAUSEAoIdXNlcm5h",
+            "bWUYAiABKAkSEAoIbmlja25hbWUYAyABKAkSDwoHaGVhZGltZxgEIAEoBRIS",
+            "CgpjcmVhdGVUaW1lGAUgASgFEg8KB2NvbnRlbnQYBiABKAkSJAoIY2hhdFR5",
+            "cGUYByABKA4yEi5wcm90b2J1Zi5DaGF0VHlwZRINCgVnZW1JZBgIIAEoBRIx",
+            "Cgpkb25hdGVsaXN0GAkgAygLMh0ucHJvdG9idWYuRmFtaWx5RG9uYXRlSXRl",
+            "bU1zZxIUCgxyZWNlaXZlQ291bnQYCiABKAUSEgoKVG90YWxDb3VudBgLIAEo",
+            "BRIQCghub3RpY2VJZBgMIAEoBRIOCgZwYXJhbXMYDSADKAkSEwoLbmV3VXNl",
+            "cm5hbWUYDiABKAkSEwoLbmV3Tmlja25hbWUYDyABKAkSEgoKbmV3SGVhZGlt",
+            "ZxgQIAEoBRIQCghuZXdMZXZlbBgRIAEoBRIQCghuZXdTY29yZRgSIAEoBSLS",
+            "AQoJRmFtaWx5TXNnEgsKA3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGRl",
+            "c2MYAyABKAkSDQoFaWNvbnMYBCADKAUSDQoFc2NvcmUYBSABKAUSEwoLc2Nv",
+            "cmVzaG9wSWQYBiABKAUSGAoQc2NvcmVzaG9wRXhwaXJlZBgHIAEoBRIQCghm",
+            "cmVlSm9pbhgIIAEoBRIRCgluZWVkU2NvcmUYCSABKAUSKgoHbWVtYmVycxgK",
+            "IAMoCzIZLnByb3RvYnVmLkZhbWlseU1lbWJlck1zZyKoAQoTRmFtaWx5U2Vh",
+            "cmNoSXRlbU1zZxILCgN1aWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRkZXNj",
+            "GAMgASgJEg0KBWljb25zGAQgAygFEhMKC21lbWJlckNvdW50GAUgASgFEhAK",
+            "CGlzQWN0aXZlGAYgASgIEhIKCmlzRnJpZW5kSW4YByABKAgSDQoFaXNOZXcY",
+            "CCABKAgSDwoHaXNBcHBseRgJIAEoCCpoCghDVVJSRU5DWRISCg5DVVJSRU5D",
+            "WV9CRUdJThAAEgkKBU1PTkVZEAESCAoER09MRBACEgcKA1JNQhADEgcKA0dF",
+            "TRAEEgcKA0JPWBAFEgwKCEFSRU5BRVhQEAYSCgoGRE9OQVRFEAcqJgoJQ2hh",
+            "bm5lbElEEhEKDUNIQU5ORUxfQkVHSU4QABIGCgJHTRABKo0FCglFcnJvckNv",
+            "ZGUSCwoHU3VjY2VzcxAAEhUKEUNoYW5uZWxJZF9Ob0V4aXN0EAESFAoQVXNl",
+            "ck5hbWVfSW52YWxpZBACEhgKFFVzZXJQYXNzV29yZF9JbnZhbGlkEAMSEAoM",
+            "VW5rbm93X0Vycm9yEAQSEQoNSW5wdXRfSW52YWxpZBAFEgsKB1RpbWVvdXQQ",
+            "BhIWChJTZXNzaW9uS2V5X0ludmFsaWQQBxIQCgxMb2dpbl9Ob1VzZXIQCBIT",
+            "Cg9Ob3RFbm91Z2hfTW9uZXkQCRISCg5Ob3RFbm91Z2hfR29sZBAKEhEKDU5v",
+            "dEVub3VnaF9HZW0QCxITCg9Ob3RGb3VuZF9GcmllbmQQDBISCg5BbHJlYWR5",
+            "X0ZyaWVuZBANEhIKDkluQmxvY2tfRnJpZW5kEA4SDgoKTWF4X0ZyaWVuZBAP",
+            "EhAKDE1heF9OaWNrTmFtZRAQEhQKEEludmFsaWRfTmlja05hbWUQERISCg5N",
+            "YXhfU3RvcmVMaW1pdBASEhYKEk5vdEVub3VnaF9TdG9yZUJ1eRATEhQKEE5v",
+            "dE9wZW5fUGFzc1BvcnQQFBIUChBBbHJlYWR5X1Bhc3NQb3J0EBUSHAoYTmVl",
+            "ZFZpcF9QYXNzUG9ydFRha2VJdGVtEBYSHgoaTmVlZExldmVsX1Bhc3NQb3J0",
+            "VGFrZUl0ZW0QFxIcChhBbHJlYWR5X1Bhc3NQb3J0VGFrZUl0ZW0QGBIcChhJ",
+            "bnZhbGlkX1Bhc3NQb3J0QnV5TGV2ZWwQGRIWChJIYXNVbmxvY2tfQXJlbmFC",
+            "b3gQGhIbChdPdGhlclVubG9ja2luZ19BcmVuYUJveBAbEhgKFE5vdFRpbWVU",
+            "YWtlX0FyZW5hQm94EBwqcQoIQ2hhdFR5cGUSEgoOQ2hhdFR5cGVfQmVnaW4Q",
+            "ABIRCg1DaGF0VHlwZV9UZXh0EAESFgoSQ2hhdFR5cGVfRG9uYXRlR2VtEAIS",
+            "EwoPQ2hhdFR5cGVfU3lzdGVtEAMSEQoNQ2hhdFR5cGVfSm9pbhAEYgZwcm90",
+            "bzM="));
       descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
           new pbr::FileDescriptor[] { },
-          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Protobuf.CURRENCY), typeof(global::Protobuf.ChannelID), typeof(global::Protobuf.ErrorCode), }, new pbr::GeneratedClrTypeInfo[] {
+          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Protobuf.CURRENCY), typeof(global::Protobuf.ChannelID), typeof(global::Protobuf.ErrorCode), typeof(global::Protobuf.ChatType), }, new pbr::GeneratedClrTypeInfo[] {
             new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.GemMsg), global::Protobuf.GemMsg.Parser, new[]{ "GemId", "Level", "Count" }, null, null, null),
-            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.UserDataMsg), global::Protobuf.UserDataMsg.Parser, new[]{ "Username", "Nickname", "Headimg", "Singature", "Level", "Rank", "Score", "Exp", "Money", "Gold", "Gems", "Gemdeck1", "Gemdeck2", "Gemdeck3", "Deckid", "Acceptfriend", "Namedchanged", "Areaexp", "Areaboxes" }, null, null, null),
+            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.UserDataMsg), global::Protobuf.UserDataMsg.Parser, new[]{ "Username", "Nickname", "Headimg", "Singature", "Level", "Rank", "Score", "Exp", "Money", "Gold", "Gems", "Gemdeck1", "Gemdeck2", "Gemdeck3", "Deckid", "Acceptfriend", "Namedchanged", "Areaexp", "Areaboxes", "Family", "Donate" }, null, null, null),
             new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FriendMsg), global::Protobuf.FriendMsg.Parser, new[]{ "Username", "Nickname", "Headimg", "Level", "Rank", "Score", "Online", "Gemdeck" }, null, null, null),
             new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.StoreAreaMsg), global::Protobuf.StoreAreaMsg.Parser, new[]{ "Id", "RefreshTime", "Items" }, null, null, null),
             new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.StoreItemMsg), global::Protobuf.StoreItemMsg.Parser, new[]{ "Id", "BuyCount" }, null, null, null),
             new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.RewardItemMsg), global::Protobuf.RewardItemMsg.Parser, new[]{ "Type", "Id", "Count" }, null, null, null),
-            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.ArenaBoxMsg), global::Protobuf.ArenaBoxMsg.Parser, new[]{ "Pos", "Boxid", "ExpireTime" }, null, null, null)
+            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.ArenaBoxMsg), global::Protobuf.ArenaBoxMsg.Parser, new[]{ "Pos", "Boxid", "ExpireTime" }, null, null, null),
+            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyMemberMsg), global::Protobuf.FamilyMemberMsg.Parser, new[]{ "Username", "Nickname", "Headimg", "Position", "Online", "Score", "Level", "WeekDonate", "TotalDonate" }, null, null, null),
+            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyDonateItemMsg), global::Protobuf.FamilyDonateItemMsg.Parser, new[]{ "Username", "DonateCount" }, null, null, null),
+            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyChatMsg), global::Protobuf.FamilyChatMsg.Parser, new[]{ "MessageId", "Username", "Nickname", "Headimg", "CreateTime", "Content", "ChatType", "GemId", "Donatelist", "ReceiveCount", "TotalCount", "NoticeId", "Params", "NewUsername", "NewNickname", "NewHeadimg", "NewLevel", "NewScore" }, null, null, null),
+            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyMsg), global::Protobuf.FamilyMsg.Parser, new[]{ "Uid", "Name", "Desc", "Icons", "Score", "ScoreshopId", "ScoreshopExpired", "FreeJoin", "NeedScore", "Members" }, null, null, null),
+            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilySearchItemMsg), global::Protobuf.FamilySearchItemMsg.Parser, new[]{ "Uid", "Name", "Desc", "Icons", "MemberCount", "IsActive", "IsFriendIn", "IsNew", "IsApply" }, null, null, null)
           }));
     }
     #endregion
@@ -106,6 +138,10 @@
     /// !竞技场经验
     /// </summary>
     [pbr::OriginalName("ARENAEXP")] Arenaexp = 6,
+    /// <summary>
+    /// 工会捐献积分
+    /// </summary>
+    [pbr::OriginalName("DONATE")] Donate = 7,
   }
 
   /// <summary>
@@ -239,6 +275,26 @@
     /// ! 开宝箱失败,时间没到
     /// </summary>
     [pbr::OriginalName("NotTimeTake_ArenaBox")] NotTimeTakeArenaBox = 28,
+  }
+
+  public enum ChatType {
+    [pbr::OriginalName("ChatType_Begin")] Begin = 0,
+    /// <summary>
+    ///  文本聊天
+    /// </summary>
+    [pbr::OriginalName("ChatType_Text")] Text = 1,
+    /// <summary>
+    ///  捐赠卡牌
+    /// </summary>
+    [pbr::OriginalName("ChatType_DonateGem")] DonateGem = 2,
+    /// <summary>
+    ///  系统消息,需要查询文字字符串配置表
+    /// </summary>
+    [pbr::OriginalName("ChatType_System")] System = 3,
+    /// <summary>
+    ///  新成员加入申请
+    /// </summary>
+    [pbr::OriginalName("ChatType_Join")] Join = 4,
   }
 
   #endregion
@@ -475,6 +531,8 @@
       namedchanged_ = other.namedchanged_;
       areaexp_ = other.areaexp_;
       areaboxes_ = other.areaboxes_.Clone();
+      Family = other.family_ != null ? other.Family.Clone() : null;
+      donate_ = other.donate_;
     }
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -535,6 +593,9 @@
     /// <summary>Field number for the "level" field.</summary>
     public const int LevelFieldNumber = 5;
     private int level_;
+    /// <summary>
+    /// 等级
+    /// </summary>
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     public int Level {
       get { return level_; }
@@ -722,6 +783,34 @@
       get { return areaboxes_; }
     }
 
+    /// <summary>Field number for the "family" field.</summary>
+    public const int FamilyFieldNumber = 20;
+    private global::Protobuf.FamilyMsg family_;
+    /// <summary>
+    ///  工会信息
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public global::Protobuf.FamilyMsg Family {
+      get { return family_; }
+      set {
+        family_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "donate" field.</summary>
+    public const int DonateFieldNumber = 21;
+    private int donate_;
+    /// <summary>
+    /// 工会捐赠积分
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int Donate {
+      get { return donate_; }
+      set {
+        donate_ = value;
+      }
+    }
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     public override bool Equals(object other) {
       return Equals(other as UserDataMsg);
@@ -754,6 +843,8 @@
       if (Namedchanged != other.Namedchanged) return false;
       if (Areaexp != other.Areaexp) return false;
       if(!areaboxes_.Equals(other.areaboxes_)) return false;
+      if (!object.Equals(Family, other.Family)) return false;
+      if (Donate != other.Donate) return false;
       return true;
     }
 
@@ -779,6 +870,8 @@
       if (Namedchanged != false) hash ^= Namedchanged.GetHashCode();
       if (Areaexp != 0) hash ^= Areaexp.GetHashCode();
       hash ^= areaboxes_.GetHashCode();
+      if (family_ != null) hash ^= Family.GetHashCode();
+      if (Donate != 0) hash ^= Donate.GetHashCode();
       return hash;
     }
 
@@ -850,6 +943,14 @@
         output.WriteInt32(Areaexp);
       }
       areaboxes_.WriteTo(output, _repeated_areaboxes_codec);
+      if (family_ != null) {
+        output.WriteRawTag(162, 1);
+        output.WriteMessage(Family);
+      }
+      if (Donate != 0) {
+        output.WriteRawTag(168, 1);
+        output.WriteInt32(Donate);
+      }
     }
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -902,6 +1003,12 @@
         size += 2 + pb::CodedOutputStream.ComputeInt32Size(Areaexp);
       }
       size += areaboxes_.CalculateSize(_repeated_areaboxes_codec);
+      if (family_ != null) {
+        size += 2 + pb::CodedOutputStream.ComputeMessageSize(Family);
+      }
+      if (Donate != 0) {
+        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Donate);
+      }
       return size;
     }
 
@@ -957,6 +1064,15 @@
         Areaexp = other.Areaexp;
       }
       areaboxes_.Add(other.areaboxes_);
+      if (other.family_ != null) {
+        if (family_ == null) {
+          family_ = new global::Protobuf.FamilyMsg();
+        }
+        Family.MergeFrom(other.Family);
+      }
+      if (other.Donate != 0) {
+        Donate = other.Donate;
+      }
     }
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -1044,6 +1160,17 @@
           }
           case 154: {
             areaboxes_.AddEntriesFrom(input, _repeated_areaboxes_codec);
+            break;
+          }
+          case 162: {
+            if (family_ == null) {
+              family_ = new global::Protobuf.FamilyMsg();
+            }
+            input.ReadMessage(family_);
+            break;
+          }
+          case 168: {
+            Donate = input.ReadInt32();
             break;
           }
         }
@@ -1586,7 +1713,7 @@
     public const int IdFieldNumber = 1;
     private int id_;
     /// <summary>
-    ///  store表ID
+    ///  store表ID 或其他具体商城的表
     /// </summary>
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     public int Id {
@@ -2070,6 +2197,1881 @@
 
   }
 
+  /// <summary>
+  /// !工会成员信息
+  /// </summary>
+  public sealed partial class FamilyMemberMsg : pb::IMessage<FamilyMemberMsg> {
+    private static readonly pb::MessageParser<FamilyMemberMsg> _parser = new pb::MessageParser<FamilyMemberMsg>(() => new FamilyMemberMsg());
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public static pb::MessageParser<FamilyMemberMsg> Parser { get { return _parser; } }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public static pbr::MessageDescriptor Descriptor {
+      get { return global::Protobuf.CommonReflection.Descriptor.MessageTypes[7]; }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    pbr::MessageDescriptor pb::IMessage.Descriptor {
+      get { return Descriptor; }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyMemberMsg() {
+      OnConstruction();
+    }
+
+    partial void OnConstruction();
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyMemberMsg(FamilyMemberMsg other) : this() {
+      username_ = other.username_;
+      nickname_ = other.nickname_;
+      headimg_ = other.headimg_;
+      position_ = other.position_;
+      online_ = other.online_;
+      score_ = other.score_;
+      level_ = other.level_;
+      weekDonate_ = other.weekDonate_;
+      totalDonate_ = other.totalDonate_;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyMemberMsg Clone() {
+      return new FamilyMemberMsg(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");
+      }
+    }
+
+    /// <summary>Field number for the "nickname" field.</summary>
+    public const int NicknameFieldNumber = 2;
+    private string nickname_ = "";
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public string Nickname {
+      get { return nickname_; }
+      set {
+        nickname_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+      }
+    }
+
+    /// <summary>Field number for the "headimg" field.</summary>
+    public const int HeadimgFieldNumber = 3;
+    private int headimg_;
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int Headimg {
+      get { return headimg_; }
+      set {
+        headimg_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "position" field.</summary>
+    public const int PositionFieldNumber = 4;
+    private int position_;
+    /// <summary>
+    ///  工会角色 0-会员,1-会长
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int Position {
+      get { return position_; }
+      set {
+        position_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "online" field.</summary>
+    public const int OnlineFieldNumber = 5;
+    private bool online_;
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public bool Online {
+      get { return online_; }
+      set {
+        online_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "score" field.</summary>
+    public const int ScoreFieldNumber = 6;
+    private int score_;
+    /// <summary>
+    /// 分数
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int Score {
+      get { return score_; }
+      set {
+        score_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "level" field.</summary>
+    public const int LevelFieldNumber = 7;
+    private int level_;
+    /// <summary>
+    /// 等级
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int Level {
+      get { return level_; }
+      set {
+        level_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "weekDonate" field.</summary>
+    public const int WeekDonateFieldNumber = 8;
+    private int weekDonate_;
+    /// <summary>
+    ///  本周和总捐献数
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int WeekDonate {
+      get { return weekDonate_; }
+      set {
+        weekDonate_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "totalDonate" field.</summary>
+    public const int TotalDonateFieldNumber = 9;
+    private int totalDonate_;
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int TotalDonate {
+      get { return totalDonate_; }
+      set {
+        totalDonate_ = value;
+      }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public override bool Equals(object other) {
+      return Equals(other as FamilyMemberMsg);
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public bool Equals(FamilyMemberMsg other) {
+      if (ReferenceEquals(other, null)) {
+        return false;
+      }
+      if (ReferenceEquals(other, this)) {
+        return true;
+      }
+      if (Username != other.Username) return false;
+      if (Nickname != other.Nickname) return false;
+      if (Headimg != other.Headimg) return false;
+      if (Position != other.Position) return false;
+      if (Online != other.Online) return false;
+      if (Score != other.Score) return false;
+      if (Level != other.Level) return false;
+      if (WeekDonate != other.WeekDonate) return false;
+      if (TotalDonate != other.TotalDonate) return false;
+      return true;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public override int GetHashCode() {
+      int hash = 1;
+      if (Username.Length != 0) hash ^= Username.GetHashCode();
+      if (Nickname.Length != 0) hash ^= Nickname.GetHashCode();
+      if (Headimg != 0) hash ^= Headimg.GetHashCode();
+      if (Position != 0) hash ^= Position.GetHashCode();
+      if (Online != false) hash ^= Online.GetHashCode();
+      if (Score != 0) hash ^= Score.GetHashCode();
+      if (Level != 0) hash ^= Level.GetHashCode();
+      if (WeekDonate != 0) hash ^= WeekDonate.GetHashCode();
+      if (TotalDonate != 0) hash ^= TotalDonate.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);
+      }
+      if (Nickname.Length != 0) {
+        output.WriteRawTag(18);
+        output.WriteString(Nickname);
+      }
+      if (Headimg != 0) {
+        output.WriteRawTag(24);
+        output.WriteInt32(Headimg);
+      }
+      if (Position != 0) {
+        output.WriteRawTag(32);
+        output.WriteInt32(Position);
+      }
+      if (Online != false) {
+        output.WriteRawTag(40);
+        output.WriteBool(Online);
+      }
+      if (Score != 0) {
+        output.WriteRawTag(48);
+        output.WriteInt32(Score);
+      }
+      if (Level != 0) {
+        output.WriteRawTag(56);
+        output.WriteInt32(Level);
+      }
+      if (WeekDonate != 0) {
+        output.WriteRawTag(64);
+        output.WriteInt32(WeekDonate);
+      }
+      if (TotalDonate != 0) {
+        output.WriteRawTag(72);
+        output.WriteInt32(TotalDonate);
+      }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int CalculateSize() {
+      int size = 0;
+      if (Username.Length != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeStringSize(Username);
+      }
+      if (Nickname.Length != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeStringSize(Nickname);
+      }
+      if (Headimg != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Headimg);
+      }
+      if (Position != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Position);
+      }
+      if (Online != false) {
+        size += 1 + 1;
+      }
+      if (Score != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Score);
+      }
+      if (Level != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
+      }
+      if (WeekDonate != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WeekDonate);
+      }
+      if (TotalDonate != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TotalDonate);
+      }
+      return size;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public void MergeFrom(FamilyMemberMsg other) {
+      if (other == null) {
+        return;
+      }
+      if (other.Username.Length != 0) {
+        Username = other.Username;
+      }
+      if (other.Nickname.Length != 0) {
+        Nickname = other.Nickname;
+      }
+      if (other.Headimg != 0) {
+        Headimg = other.Headimg;
+      }
+      if (other.Position != 0) {
+        Position = other.Position;
+      }
+      if (other.Online != false) {
+        Online = other.Online;
+      }
+      if (other.Score != 0) {
+        Score = other.Score;
+      }
+      if (other.Level != 0) {
+        Level = other.Level;
+      }
+      if (other.WeekDonate != 0) {
+        WeekDonate = other.WeekDonate;
+      }
+      if (other.TotalDonate != 0) {
+        TotalDonate = other.TotalDonate;
+      }
+    }
+
+    [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;
+          }
+          case 18: {
+            Nickname = input.ReadString();
+            break;
+          }
+          case 24: {
+            Headimg = input.ReadInt32();
+            break;
+          }
+          case 32: {
+            Position = input.ReadInt32();
+            break;
+          }
+          case 40: {
+            Online = input.ReadBool();
+            break;
+          }
+          case 48: {
+            Score = input.ReadInt32();
+            break;
+          }
+          case 56: {
+            Level = input.ReadInt32();
+            break;
+          }
+          case 64: {
+            WeekDonate = input.ReadInt32();
+            break;
+          }
+          case 72: {
+            TotalDonate = input.ReadInt32();
+            break;
+          }
+        }
+      }
+    }
+
+  }
+
+  public sealed partial class FamilyDonateItemMsg : pb::IMessage<FamilyDonateItemMsg> {
+    private static readonly pb::MessageParser<FamilyDonateItemMsg> _parser = new pb::MessageParser<FamilyDonateItemMsg>(() => new FamilyDonateItemMsg());
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public static pb::MessageParser<FamilyDonateItemMsg> Parser { get { return _parser; } }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public static pbr::MessageDescriptor Descriptor {
+      get { return global::Protobuf.CommonReflection.Descriptor.MessageTypes[8]; }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    pbr::MessageDescriptor pb::IMessage.Descriptor {
+      get { return Descriptor; }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyDonateItemMsg() {
+      OnConstruction();
+    }
+
+    partial void OnConstruction();
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyDonateItemMsg(FamilyDonateItemMsg other) : this() {
+      username_ = other.username_;
+      donateCount_ = other.donateCount_;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyDonateItemMsg Clone() {
+      return new FamilyDonateItemMsg(this);
+    }
+
+    /// <summary>Field number for the "username" field.</summary>
+    public const int UsernameFieldNumber = 1;
+    private string username_ = "";
+    /// <summary>
+    ///  
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public string Username {
+      get { return username_; }
+      set {
+        username_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+      }
+    }
+
+    /// <summary>Field number for the "donateCount" field.</summary>
+    public const int DonateCountFieldNumber = 2;
+    private int donateCount_;
+    /// <summary>
+    ///  已经捐赠个数
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int DonateCount {
+      get { return donateCount_; }
+      set {
+        donateCount_ = value;
+      }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public override bool Equals(object other) {
+      return Equals(other as FamilyDonateItemMsg);
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public bool Equals(FamilyDonateItemMsg other) {
+      if (ReferenceEquals(other, null)) {
+        return false;
+      }
+      if (ReferenceEquals(other, this)) {
+        return true;
+      }
+      if (Username != other.Username) return false;
+      if (DonateCount != other.DonateCount) return false;
+      return true;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public override int GetHashCode() {
+      int hash = 1;
+      if (Username.Length != 0) hash ^= Username.GetHashCode();
+      if (DonateCount != 0) hash ^= DonateCount.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);
+      }
+      if (DonateCount != 0) {
+        output.WriteRawTag(16);
+        output.WriteInt32(DonateCount);
+      }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int CalculateSize() {
+      int size = 0;
+      if (Username.Length != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeStringSize(Username);
+      }
+      if (DonateCount != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DonateCount);
+      }
+      return size;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public void MergeFrom(FamilyDonateItemMsg other) {
+      if (other == null) {
+        return;
+      }
+      if (other.Username.Length != 0) {
+        Username = other.Username;
+      }
+      if (other.DonateCount != 0) {
+        DonateCount = other.DonateCount;
+      }
+    }
+
+    [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;
+          }
+          case 16: {
+            DonateCount = input.ReadInt32();
+            break;
+          }
+        }
+      }
+    }
+
+  }
+
+  /// <summary>
+  /// !工会聊天信息
+  /// </summary>
+  public sealed partial class FamilyChatMsg : pb::IMessage<FamilyChatMsg> {
+    private static readonly pb::MessageParser<FamilyChatMsg> _parser = new pb::MessageParser<FamilyChatMsg>(() => new FamilyChatMsg());
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public static pb::MessageParser<FamilyChatMsg> Parser { get { return _parser; } }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public static pbr::MessageDescriptor Descriptor {
+      get { return global::Protobuf.CommonReflection.Descriptor.MessageTypes[9]; }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    pbr::MessageDescriptor pb::IMessage.Descriptor {
+      get { return Descriptor; }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyChatMsg() {
+      OnConstruction();
+    }
+
+    partial void OnConstruction();
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyChatMsg(FamilyChatMsg other) : this() {
+      messageId_ = other.messageId_;
+      username_ = other.username_;
+      nickname_ = other.nickname_;
+      headimg_ = other.headimg_;
+      createTime_ = other.createTime_;
+      content_ = other.content_;
+      chatType_ = other.chatType_;
+      gemId_ = other.gemId_;
+      donatelist_ = other.donatelist_.Clone();
+      receiveCount_ = other.receiveCount_;
+      totalCount_ = other.totalCount_;
+      noticeId_ = other.noticeId_;
+      params_ = other.params_.Clone();
+      newUsername_ = other.newUsername_;
+      newNickname_ = other.newNickname_;
+      newHeadimg_ = other.newHeadimg_;
+      newLevel_ = other.newLevel_;
+      newScore_ = other.newScore_;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyChatMsg Clone() {
+      return new FamilyChatMsg(this);
+    }
+
+    /// <summary>Field number for the "messageId" field.</summary>
+    public const int MessageIdFieldNumber = 1;
+    private int messageId_;
+    /// <summary>
+    /// !所有消息按此ID排序,越大表示最近发送的
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int MessageId {
+      get { return messageId_; }
+      set {
+        messageId_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "username" field.</summary>
+    public const int UsernameFieldNumber = 2;
+    private string username_ = "";
+    /// <summary>
+    /// 发起者信息
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public string Username {
+      get { return username_; }
+      set {
+        username_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+      }
+    }
+
+    /// <summary>Field number for the "nickname" field.</summary>
+    public const int NicknameFieldNumber = 3;
+    private string nickname_ = "";
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public string Nickname {
+      get { return nickname_; }
+      set {
+        nickname_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+      }
+    }
+
+    /// <summary>Field number for the "headimg" field.</summary>
+    public const int HeadimgFieldNumber = 4;
+    private int headimg_;
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int Headimg {
+      get { return headimg_; }
+      set {
+        headimg_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "createTime" field.</summary>
+    public const int CreateTimeFieldNumber = 5;
+    private int createTime_;
+    /// <summary>
+    ///  聊天发送的时间 单位秒 时间戳 
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int CreateTime {
+      get { return createTime_; }
+      set {
+        createTime_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "content" field.</summary>
+    public const int ContentFieldNumber = 6;
+    private string content_ = "";
+    /// <summary>
+    ///  聊天内容,
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public string Content {
+      get { return content_; }
+      set {
+        content_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+      }
+    }
+
+    /// <summary>Field number for the "chatType" field.</summary>
+    public const int ChatTypeFieldNumber = 7;
+    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 "gemId" field.</summary>
+    public const int GemIdFieldNumber = 8;
+    private int gemId_;
+    /// <summary>
+    /// @{ 
+    ///  如果是请求捐赠,这个是卡牌宝石ID
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int GemId {
+      get { return gemId_; }
+      set {
+        gemId_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "donatelist" field.</summary>
+    public const int DonatelistFieldNumber = 9;
+    private static readonly pb::FieldCodec<global::Protobuf.FamilyDonateItemMsg> _repeated_donatelist_codec
+        = pb::FieldCodec.ForMessage(74, global::Protobuf.FamilyDonateItemMsg.Parser);
+    private readonly pbc::RepeatedField<global::Protobuf.FamilyDonateItemMsg> donatelist_ = new pbc::RepeatedField<global::Protobuf.FamilyDonateItemMsg>();
+    /// <summary>
+    ///   捐赠者列表
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public pbc::RepeatedField<global::Protobuf.FamilyDonateItemMsg> Donatelist {
+      get { return donatelist_; }
+    }
+
+    /// <summary>Field number for the "receiveCount" field.</summary>
+    public const int ReceiveCountFieldNumber = 10;
+    private int receiveCount_;
+    /// <summary>
+    /// ! 总共需要个数
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int ReceiveCount {
+      get { return receiveCount_; }
+      set {
+        receiveCount_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "TotalCount" field.</summary>
+    public const int TotalCountFieldNumber = 11;
+    private int totalCount_;
+    /// <summary>
+    /// @}
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int TotalCount {
+      get { return totalCount_; }
+      set {
+        totalCount_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "noticeId" field.</summary>
+    public const int NoticeIdFieldNumber = 12;
+    private int noticeId_;
+    /// <summary>
+    /// @{
+    ///  系统聊天,需要替换聊天的配表字段,@see notice 表
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int NoticeId {
+      get { return noticeId_; }
+      set {
+        noticeId_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "params" field.</summary>
+    public const int ParamsFieldNumber = 13;
+    private static readonly pb::FieldCodec<string> _repeated_params_codec
+        = pb::FieldCodec.ForString(106);
+    private readonly pbc::RepeatedField<string> params_ = new pbc::RepeatedField<string>();
+    /// <summary>
+    /// @}
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public pbc::RepeatedField<string> Params {
+      get { return params_; }
+    }
+
+    /// <summary>Field number for the "newUsername" field.</summary>
+    public const int NewUsernameFieldNumber = 14;
+    private string newUsername_ = "";
+    /// <summary>
+    /// @{
+    ///  只有会长能收到新成员加入消息
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public string NewUsername {
+      get { return newUsername_; }
+      set {
+        newUsername_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+      }
+    }
+
+    /// <summary>Field number for the "newNickname" field.</summary>
+    public const int NewNicknameFieldNumber = 15;
+    private string newNickname_ = "";
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public string NewNickname {
+      get { return newNickname_; }
+      set {
+        newNickname_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+      }
+    }
+
+    /// <summary>Field number for the "newHeadimg" field.</summary>
+    public const int NewHeadimgFieldNumber = 16;
+    private int newHeadimg_;
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int NewHeadimg {
+      get { return newHeadimg_; }
+      set {
+        newHeadimg_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "newLevel" field.</summary>
+    public const int NewLevelFieldNumber = 17;
+    private int newLevel_;
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int NewLevel {
+      get { return newLevel_; }
+      set {
+        newLevel_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "newScore" field.</summary>
+    public const int NewScoreFieldNumber = 18;
+    private int newScore_;
+    /// <summary>
+    /// 分数
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int NewScore {
+      get { return newScore_; }
+      set {
+        newScore_ = value;
+      }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public override bool Equals(object other) {
+      return Equals(other as FamilyChatMsg);
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public bool Equals(FamilyChatMsg other) {
+      if (ReferenceEquals(other, null)) {
+        return false;
+      }
+      if (ReferenceEquals(other, this)) {
+        return true;
+      }
+      if (MessageId != other.MessageId) return false;
+      if (Username != other.Username) return false;
+      if (Nickname != other.Nickname) return false;
+      if (Headimg != other.Headimg) return false;
+      if (CreateTime != other.CreateTime) return false;
+      if (Content != other.Content) return false;
+      if (ChatType != other.ChatType) return false;
+      if (GemId != other.GemId) return false;
+      if(!donatelist_.Equals(other.donatelist_)) return false;
+      if (ReceiveCount != other.ReceiveCount) return false;
+      if (TotalCount != other.TotalCount) return false;
+      if (NoticeId != other.NoticeId) return false;
+      if(!params_.Equals(other.params_)) return false;
+      if (NewUsername != other.NewUsername) return false;
+      if (NewNickname != other.NewNickname) return false;
+      if (NewHeadimg != other.NewHeadimg) return false;
+      if (NewLevel != other.NewLevel) return false;
+      if (NewScore != other.NewScore) return false;
+      return true;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public override int GetHashCode() {
+      int hash = 1;
+      if (MessageId != 0) hash ^= MessageId.GetHashCode();
+      if (Username.Length != 0) hash ^= Username.GetHashCode();
+      if (Nickname.Length != 0) hash ^= Nickname.GetHashCode();
+      if (Headimg != 0) hash ^= Headimg.GetHashCode();
+      if (CreateTime != 0) hash ^= CreateTime.GetHashCode();
+      if (Content.Length != 0) hash ^= Content.GetHashCode();
+      if (ChatType != 0) hash ^= ChatType.GetHashCode();
+      if (GemId != 0) hash ^= GemId.GetHashCode();
+      hash ^= donatelist_.GetHashCode();
+      if (ReceiveCount != 0) hash ^= ReceiveCount.GetHashCode();
+      if (TotalCount != 0) hash ^= TotalCount.GetHashCode();
+      if (NoticeId != 0) hash ^= NoticeId.GetHashCode();
+      hash ^= params_.GetHashCode();
+      if (NewUsername.Length != 0) hash ^= NewUsername.GetHashCode();
+      if (NewNickname.Length != 0) hash ^= NewNickname.GetHashCode();
+      if (NewHeadimg != 0) hash ^= NewHeadimg.GetHashCode();
+      if (NewLevel != 0) hash ^= NewLevel.GetHashCode();
+      if (NewScore != 0) hash ^= NewScore.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);
+      }
+      if (Username.Length != 0) {
+        output.WriteRawTag(18);
+        output.WriteString(Username);
+      }
+      if (Nickname.Length != 0) {
+        output.WriteRawTag(26);
+        output.WriteString(Nickname);
+      }
+      if (Headimg != 0) {
+        output.WriteRawTag(32);
+        output.WriteInt32(Headimg);
+      }
+      if (CreateTime != 0) {
+        output.WriteRawTag(40);
+        output.WriteInt32(CreateTime);
+      }
+      if (Content.Length != 0) {
+        output.WriteRawTag(50);
+        output.WriteString(Content);
+      }
+      if (ChatType != 0) {
+        output.WriteRawTag(56);
+        output.WriteEnum((int) ChatType);
+      }
+      if (GemId != 0) {
+        output.WriteRawTag(64);
+        output.WriteInt32(GemId);
+      }
+      donatelist_.WriteTo(output, _repeated_donatelist_codec);
+      if (ReceiveCount != 0) {
+        output.WriteRawTag(80);
+        output.WriteInt32(ReceiveCount);
+      }
+      if (TotalCount != 0) {
+        output.WriteRawTag(88);
+        output.WriteInt32(TotalCount);
+      }
+      if (NoticeId != 0) {
+        output.WriteRawTag(96);
+        output.WriteInt32(NoticeId);
+      }
+      params_.WriteTo(output, _repeated_params_codec);
+      if (NewUsername.Length != 0) {
+        output.WriteRawTag(114);
+        output.WriteString(NewUsername);
+      }
+      if (NewNickname.Length != 0) {
+        output.WriteRawTag(122);
+        output.WriteString(NewNickname);
+      }
+      if (NewHeadimg != 0) {
+        output.WriteRawTag(128, 1);
+        output.WriteInt32(NewHeadimg);
+      }
+      if (NewLevel != 0) {
+        output.WriteRawTag(136, 1);
+        output.WriteInt32(NewLevel);
+      }
+      if (NewScore != 0) {
+        output.WriteRawTag(144, 1);
+        output.WriteInt32(NewScore);
+      }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int CalculateSize() {
+      int size = 0;
+      if (MessageId != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MessageId);
+      }
+      if (Username.Length != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeStringSize(Username);
+      }
+      if (Nickname.Length != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeStringSize(Nickname);
+      }
+      if (Headimg != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Headimg);
+      }
+      if (CreateTime != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CreateTime);
+      }
+      if (Content.Length != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeStringSize(Content);
+      }
+      if (ChatType != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ChatType);
+      }
+      if (GemId != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GemId);
+      }
+      size += donatelist_.CalculateSize(_repeated_donatelist_codec);
+      if (ReceiveCount != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ReceiveCount);
+      }
+      if (TotalCount != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TotalCount);
+      }
+      if (NoticeId != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NoticeId);
+      }
+      size += params_.CalculateSize(_repeated_params_codec);
+      if (NewUsername.Length != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeStringSize(NewUsername);
+      }
+      if (NewNickname.Length != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeStringSize(NewNickname);
+      }
+      if (NewHeadimg != 0) {
+        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NewHeadimg);
+      }
+      if (NewLevel != 0) {
+        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NewLevel);
+      }
+      if (NewScore != 0) {
+        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NewScore);
+      }
+      return size;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public void MergeFrom(FamilyChatMsg other) {
+      if (other == null) {
+        return;
+      }
+      if (other.MessageId != 0) {
+        MessageId = other.MessageId;
+      }
+      if (other.Username.Length != 0) {
+        Username = other.Username;
+      }
+      if (other.Nickname.Length != 0) {
+        Nickname = other.Nickname;
+      }
+      if (other.Headimg != 0) {
+        Headimg = other.Headimg;
+      }
+      if (other.CreateTime != 0) {
+        CreateTime = other.CreateTime;
+      }
+      if (other.Content.Length != 0) {
+        Content = other.Content;
+      }
+      if (other.ChatType != 0) {
+        ChatType = other.ChatType;
+      }
+      if (other.GemId != 0) {
+        GemId = other.GemId;
+      }
+      donatelist_.Add(other.donatelist_);
+      if (other.ReceiveCount != 0) {
+        ReceiveCount = other.ReceiveCount;
+      }
+      if (other.TotalCount != 0) {
+        TotalCount = other.TotalCount;
+      }
+      if (other.NoticeId != 0) {
+        NoticeId = other.NoticeId;
+      }
+      params_.Add(other.params_);
+      if (other.NewUsername.Length != 0) {
+        NewUsername = other.NewUsername;
+      }
+      if (other.NewNickname.Length != 0) {
+        NewNickname = other.NewNickname;
+      }
+      if (other.NewHeadimg != 0) {
+        NewHeadimg = other.NewHeadimg;
+      }
+      if (other.NewLevel != 0) {
+        NewLevel = other.NewLevel;
+      }
+      if (other.NewScore != 0) {
+        NewScore = other.NewScore;
+      }
+    }
+
+    [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;
+          }
+          case 18: {
+            Username = input.ReadString();
+            break;
+          }
+          case 26: {
+            Nickname = input.ReadString();
+            break;
+          }
+          case 32: {
+            Headimg = input.ReadInt32();
+            break;
+          }
+          case 40: {
+            CreateTime = input.ReadInt32();
+            break;
+          }
+          case 50: {
+            Content = input.ReadString();
+            break;
+          }
+          case 56: {
+            chatType_ = (global::Protobuf.ChatType) input.ReadEnum();
+            break;
+          }
+          case 64: {
+            GemId = input.ReadInt32();
+            break;
+          }
+          case 74: {
+            donatelist_.AddEntriesFrom(input, _repeated_donatelist_codec);
+            break;
+          }
+          case 80: {
+            ReceiveCount = input.ReadInt32();
+            break;
+          }
+          case 88: {
+            TotalCount = input.ReadInt32();
+            break;
+          }
+          case 96: {
+            NoticeId = input.ReadInt32();
+            break;
+          }
+          case 106: {
+            params_.AddEntriesFrom(input, _repeated_params_codec);
+            break;
+          }
+          case 114: {
+            NewUsername = input.ReadString();
+            break;
+          }
+          case 122: {
+            NewNickname = input.ReadString();
+            break;
+          }
+          case 128: {
+            NewHeadimg = input.ReadInt32();
+            break;
+          }
+          case 136: {
+            NewLevel = input.ReadInt32();
+            break;
+          }
+          case 144: {
+            NewScore = input.ReadInt32();
+            break;
+          }
+        }
+      }
+    }
+
+  }
+
+  /// <summary>
+  ///  工会信息
+  /// </summary>
+  public sealed partial class FamilyMsg : pb::IMessage<FamilyMsg> {
+    private static readonly pb::MessageParser<FamilyMsg> _parser = new pb::MessageParser<FamilyMsg>(() => new FamilyMsg());
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public static pb::MessageParser<FamilyMsg> Parser { get { return _parser; } }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public static pbr::MessageDescriptor Descriptor {
+      get { return global::Protobuf.CommonReflection.Descriptor.MessageTypes[10]; }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    pbr::MessageDescriptor pb::IMessage.Descriptor {
+      get { return Descriptor; }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyMsg() {
+      OnConstruction();
+    }
+
+    partial void OnConstruction();
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyMsg(FamilyMsg other) : this() {
+      uid_ = other.uid_;
+      name_ = other.name_;
+      desc_ = other.desc_;
+      icons_ = other.icons_.Clone();
+      score_ = other.score_;
+      scoreshopId_ = other.scoreshopId_;
+      scoreshopExpired_ = other.scoreshopExpired_;
+      freeJoin_ = other.freeJoin_;
+      needScore_ = other.needScore_;
+      members_ = other.members_.Clone();
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilyMsg Clone() {
+      return new FamilyMsg(this);
+    }
+
+    /// <summary>Field number for the "uid" field.</summary>
+    public const int UidFieldNumber = 1;
+    private string uid_ = "";
+    /// <summary>
+    ///  工会ID,如果为空表示没有加入工会
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public string Uid {
+      get { return uid_; }
+      set {
+        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+      }
+    }
+
+    /// <summary>Field number for the "name" field.</summary>
+    public const int NameFieldNumber = 2;
+    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 = 3;
+    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 = 4;
+    private static readonly pb::FieldCodec<int> _repeated_icons_codec
+        = pb::FieldCodec.ForInt32(34);
+    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 "score" field.</summary>
+    public const int ScoreFieldNumber = 5;
+    private int score_;
+    /// <summary>
+    /// !工会积分
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int Score {
+      get { return score_; }
+      set {
+        score_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "scoreshopId" field.</summary>
+    public const int ScoreshopIdFieldNumber = 6;
+    private int scoreshopId_;
+    /// <summary>
+    ///  工会加成工会奖励的Id和过期时间,如果是0表示没有奖励
+    ///  @see scoreshop 表
+    /// </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 = 7;
+    private int scoreshopExpired_;
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int ScoreshopExpired {
+      get { return scoreshopExpired_; }
+      set {
+        scoreshopExpired_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "freeJoin" field.</summary>
+    public const int FreeJoinFieldNumber = 8;
+    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 = 9;
+    private int needScore_;
+    /// <summary>
+    ///  需要积分
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int NeedScore {
+      get { return needScore_; }
+      set {
+        needScore_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "members" field.</summary>
+    public const int MembersFieldNumber = 10;
+    private static readonly pb::FieldCodec<global::Protobuf.FamilyMemberMsg> _repeated_members_codec
+        = pb::FieldCodec.ForMessage(82, global::Protobuf.FamilyMemberMsg.Parser);
+    private readonly pbc::RepeatedField<global::Protobuf.FamilyMemberMsg> members_ = new pbc::RepeatedField<global::Protobuf.FamilyMemberMsg>();
+    /// <summary>
+    /// ! 成员
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public pbc::RepeatedField<global::Protobuf.FamilyMemberMsg> Members {
+      get { return members_; }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public override bool Equals(object other) {
+      return Equals(other as FamilyMsg);
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public bool Equals(FamilyMsg other) {
+      if (ReferenceEquals(other, null)) {
+        return false;
+      }
+      if (ReferenceEquals(other, this)) {
+        return true;
+      }
+      if (Uid != other.Uid) return false;
+      if (Name != other.Name) return false;
+      if (Desc != other.Desc) return false;
+      if(!icons_.Equals(other.icons_)) return false;
+      if (Score != other.Score) return false;
+      if (ScoreshopId != other.ScoreshopId) return false;
+      if (ScoreshopExpired != other.ScoreshopExpired) return false;
+      if (FreeJoin != other.FreeJoin) return false;
+      if (NeedScore != other.NeedScore) return false;
+      if(!members_.Equals(other.members_)) return false;
+      return true;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public override int GetHashCode() {
+      int hash = 1;
+      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
+      if (Name.Length != 0) hash ^= Name.GetHashCode();
+      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
+      hash ^= icons_.GetHashCode();
+      if (Score != 0) hash ^= Score.GetHashCode();
+      if (ScoreshopId != 0) hash ^= ScoreshopId.GetHashCode();
+      if (ScoreshopExpired != 0) hash ^= ScoreshopExpired.GetHashCode();
+      if (FreeJoin != 0) hash ^= FreeJoin.GetHashCode();
+      if (NeedScore != 0) hash ^= NeedScore.GetHashCode();
+      hash ^= members_.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);
+      }
+      if (Name.Length != 0) {
+        output.WriteRawTag(18);
+        output.WriteString(Name);
+      }
+      if (Desc.Length != 0) {
+        output.WriteRawTag(26);
+        output.WriteString(Desc);
+      }
+      icons_.WriteTo(output, _repeated_icons_codec);
+      if (Score != 0) {
+        output.WriteRawTag(40);
+        output.WriteInt32(Score);
+      }
+      if (ScoreshopId != 0) {
+        output.WriteRawTag(48);
+        output.WriteInt32(ScoreshopId);
+      }
+      if (ScoreshopExpired != 0) {
+        output.WriteRawTag(56);
+        output.WriteInt32(ScoreshopExpired);
+      }
+      if (FreeJoin != 0) {
+        output.WriteRawTag(64);
+        output.WriteInt32(FreeJoin);
+      }
+      if (NeedScore != 0) {
+        output.WriteRawTag(72);
+        output.WriteInt32(NeedScore);
+      }
+      members_.WriteTo(output, _repeated_members_codec);
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int CalculateSize() {
+      int size = 0;
+      if (Uid.Length != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
+      }
+      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 (Score != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Score);
+      }
+      if (ScoreshopId != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScoreshopId);
+      }
+      if (ScoreshopExpired != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScoreshopExpired);
+      }
+      if (FreeJoin != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FreeJoin);
+      }
+      if (NeedScore != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedScore);
+      }
+      size += members_.CalculateSize(_repeated_members_codec);
+      return size;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public void MergeFrom(FamilyMsg other) {
+      if (other == null) {
+        return;
+      }
+      if (other.Uid.Length != 0) {
+        Uid = other.Uid;
+      }
+      if (other.Name.Length != 0) {
+        Name = other.Name;
+      }
+      if (other.Desc.Length != 0) {
+        Desc = other.Desc;
+      }
+      icons_.Add(other.icons_);
+      if (other.Score != 0) {
+        Score = other.Score;
+      }
+      if (other.ScoreshopId != 0) {
+        ScoreshopId = other.ScoreshopId;
+      }
+      if (other.ScoreshopExpired != 0) {
+        ScoreshopExpired = other.ScoreshopExpired;
+      }
+      if (other.FreeJoin != 0) {
+        FreeJoin = other.FreeJoin;
+      }
+      if (other.NeedScore != 0) {
+        NeedScore = other.NeedScore;
+      }
+      members_.Add(other.members_);
+    }
+
+    [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;
+          }
+          case 18: {
+            Name = input.ReadString();
+            break;
+          }
+          case 26: {
+            Desc = input.ReadString();
+            break;
+          }
+          case 34:
+          case 32: {
+            icons_.AddEntriesFrom(input, _repeated_icons_codec);
+            break;
+          }
+          case 40: {
+            Score = input.ReadInt32();
+            break;
+          }
+          case 48: {
+            ScoreshopId = input.ReadInt32();
+            break;
+          }
+          case 56: {
+            ScoreshopExpired = input.ReadInt32();
+            break;
+          }
+          case 64: {
+            FreeJoin = input.ReadInt32();
+            break;
+          }
+          case 72: {
+            NeedScore = input.ReadInt32();
+            break;
+          }
+          case 82: {
+            members_.AddEntriesFrom(input, _repeated_members_codec);
+            break;
+          }
+        }
+      }
+    }
+
+  }
+
+  /// <summary>
+  /// !用户查询工会的工会列表
+  /// </summary>
+  public sealed partial class FamilySearchItemMsg : pb::IMessage<FamilySearchItemMsg> {
+    private static readonly pb::MessageParser<FamilySearchItemMsg> _parser = new pb::MessageParser<FamilySearchItemMsg>(() => new FamilySearchItemMsg());
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public static pb::MessageParser<FamilySearchItemMsg> Parser { get { return _parser; } }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public static pbr::MessageDescriptor Descriptor {
+      get { return global::Protobuf.CommonReflection.Descriptor.MessageTypes[11]; }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    pbr::MessageDescriptor pb::IMessage.Descriptor {
+      get { return Descriptor; }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilySearchItemMsg() {
+      OnConstruction();
+    }
+
+    partial void OnConstruction();
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilySearchItemMsg(FamilySearchItemMsg other) : this() {
+      uid_ = other.uid_;
+      name_ = other.name_;
+      desc_ = other.desc_;
+      icons_ = other.icons_.Clone();
+      memberCount_ = other.memberCount_;
+      isActive_ = other.isActive_;
+      isFriendIn_ = other.isFriendIn_;
+      isNew_ = other.isNew_;
+      isApply_ = other.isApply_;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public FamilySearchItemMsg Clone() {
+      return new FamilySearchItemMsg(this);
+    }
+
+    /// <summary>Field number for the "uid" field.</summary>
+    public const int UidFieldNumber = 1;
+    private string uid_ = "";
+    /// <summary>
+    ///  工会ID
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public string Uid {
+      get { return uid_; }
+      set {
+        uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+      }
+    }
+
+    /// <summary>Field number for the "name" field.</summary>
+    public const int NameFieldNumber = 2;
+    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 = 3;
+    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 = 4;
+    private static readonly pb::FieldCodec<int> _repeated_icons_codec
+        = pb::FieldCodec.ForInt32(34);
+    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 "memberCount" field.</summary>
+    public const int MemberCountFieldNumber = 5;
+    private int memberCount_;
+    /// <summary>
+    ///  当前人数
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int MemberCount {
+      get { return memberCount_; }
+      set {
+        memberCount_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "isActive" field.</summary>
+    public const int IsActiveFieldNumber = 6;
+    private bool isActive_;
+    /// <summary>
+    ///  是否活跃
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public bool IsActive {
+      get { return isActive_; }
+      set {
+        isActive_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "isFriendIn" field.</summary>
+    public const int IsFriendInFieldNumber = 7;
+    private bool isFriendIn_;
+    /// <summary>
+    ///  是否好友在此工会
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public bool IsFriendIn {
+      get { return isFriendIn_; }
+      set {
+        isFriendIn_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "isNew" field.</summary>
+    public const int IsNewFieldNumber = 8;
+    private bool isNew_;
+    /// <summary>
+    ///  是否是新公会
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public bool IsNew {
+      get { return isNew_; }
+      set {
+        isNew_ = value;
+      }
+    }
+
+    /// <summary>Field number for the "isApply" field.</summary>
+    public const int IsApplyFieldNumber = 9;
+    private bool isApply_;
+    /// <summary>
+    ///  是否已申请
+    /// </summary>
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public bool IsApply {
+      get { return isApply_; }
+      set {
+        isApply_ = value;
+      }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public override bool Equals(object other) {
+      return Equals(other as FamilySearchItemMsg);
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public bool Equals(FamilySearchItemMsg other) {
+      if (ReferenceEquals(other, null)) {
+        return false;
+      }
+      if (ReferenceEquals(other, this)) {
+        return true;
+      }
+      if (Uid != other.Uid) return false;
+      if (Name != other.Name) return false;
+      if (Desc != other.Desc) return false;
+      if(!icons_.Equals(other.icons_)) return false;
+      if (MemberCount != other.MemberCount) return false;
+      if (IsActive != other.IsActive) return false;
+      if (IsFriendIn != other.IsFriendIn) return false;
+      if (IsNew != other.IsNew) return false;
+      if (IsApply != other.IsApply) return false;
+      return true;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public override int GetHashCode() {
+      int hash = 1;
+      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
+      if (Name.Length != 0) hash ^= Name.GetHashCode();
+      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
+      hash ^= icons_.GetHashCode();
+      if (MemberCount != 0) hash ^= MemberCount.GetHashCode();
+      if (IsActive != false) hash ^= IsActive.GetHashCode();
+      if (IsFriendIn != false) hash ^= IsFriendIn.GetHashCode();
+      if (IsNew != false) hash ^= IsNew.GetHashCode();
+      if (IsApply != false) hash ^= IsApply.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);
+      }
+      if (Name.Length != 0) {
+        output.WriteRawTag(18);
+        output.WriteString(Name);
+      }
+      if (Desc.Length != 0) {
+        output.WriteRawTag(26);
+        output.WriteString(Desc);
+      }
+      icons_.WriteTo(output, _repeated_icons_codec);
+      if (MemberCount != 0) {
+        output.WriteRawTag(40);
+        output.WriteInt32(MemberCount);
+      }
+      if (IsActive != false) {
+        output.WriteRawTag(48);
+        output.WriteBool(IsActive);
+      }
+      if (IsFriendIn != false) {
+        output.WriteRawTag(56);
+        output.WriteBool(IsFriendIn);
+      }
+      if (IsNew != false) {
+        output.WriteRawTag(64);
+        output.WriteBool(IsNew);
+      }
+      if (IsApply != false) {
+        output.WriteRawTag(72);
+        output.WriteBool(IsApply);
+      }
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public int CalculateSize() {
+      int size = 0;
+      if (Uid.Length != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
+      }
+      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 (MemberCount != 0) {
+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MemberCount);
+      }
+      if (IsActive != false) {
+        size += 1 + 1;
+      }
+      if (IsFriendIn != false) {
+        size += 1 + 1;
+      }
+      if (IsNew != false) {
+        size += 1 + 1;
+      }
+      if (IsApply != false) {
+        size += 1 + 1;
+      }
+      return size;
+    }
+
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+    public void MergeFrom(FamilySearchItemMsg other) {
+      if (other == null) {
+        return;
+      }
+      if (other.Uid.Length != 0) {
+        Uid = other.Uid;
+      }
+      if (other.Name.Length != 0) {
+        Name = other.Name;
+      }
+      if (other.Desc.Length != 0) {
+        Desc = other.Desc;
+      }
+      icons_.Add(other.icons_);
+      if (other.MemberCount != 0) {
+        MemberCount = other.MemberCount;
+      }
+      if (other.IsActive != false) {
+        IsActive = other.IsActive;
+      }
+      if (other.IsFriendIn != false) {
+        IsFriendIn = other.IsFriendIn;
+      }
+      if (other.IsNew != false) {
+        IsNew = other.IsNew;
+      }
+      if (other.IsApply != false) {
+        IsApply = other.IsApply;
+      }
+    }
+
+    [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;
+          }
+          case 18: {
+            Name = input.ReadString();
+            break;
+          }
+          case 26: {
+            Desc = input.ReadString();
+            break;
+          }
+          case 34:
+          case 32: {
+            icons_.AddEntriesFrom(input, _repeated_icons_codec);
+            break;
+          }
+          case 40: {
+            MemberCount = input.ReadInt32();
+            break;
+          }
+          case 48: {
+            IsActive = input.ReadBool();
+            break;
+          }
+          case 56: {
+            IsFriendIn = input.ReadBool();
+            break;
+          }
+          case 64: {
+            IsNew = input.ReadBool();
+            break;
+          }
+          case 72: {
+            IsApply = input.ReadBool();
+            break;
+          }
+        }
+      }
+    }
+
+  }
+
   #endregion
 
 }

--
Gitblit v1.9.1