chenxin
2020-10-27 49f88e6493466a1723dd6b3967ff4c70f723db5d
Assets/Scripts/Net/NetExtends/Common.cs
@@ -23,81 +23,81 @@
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "Cgxjb21tb24ucHJvdG8SCHByb3RvYnVmIjUKBkdlbU1zZxINCgVnZW1JZBgB",
            "IAEoBRINCgVsZXZlbBgCIAEoBRINCgVjb3VudBgDIAEoBSKIAwoLVXNlckRh",
            "IAEoBRINCgVsZXZlbBgCIAEoBRINCgVjb3VudBgDIAEoBSLrAgoLVXNlckRh",
            "dGFNc2cSEAoIdXNlcm5hbWUYASABKAkSEAoIbmlja25hbWUYAiABKAkSDwoH",
            "aGVhZGltZxgDIAEoBRIRCglzaW5nYXR1cmUYBCABKAkSDQoFbGV2ZWwYBSAB",
            "KAUSDAoEcmFuaxgGIAEoBRINCgVzY29yZRgHIAEoBRILCgNleHAYCCABKAUS",
            "DQoFbW9uZXkYCSABKAUSDAoEZ29sZBgKIAEoBRIeCgRnZW1zGAsgAygLMhAu",
            "cHJvdG9idWYuR2VtTXNnEhAKCGdlbWRlY2sxGAwgAygFEhAKCGdlbWRlY2sy",
            "GA0gAygFEhAKCGdlbWRlY2szGA4gAygFEg4KBmRlY2tpZBgPIAEoBRIUCgxh",
            "Y2NlcHRmcmllbmQYECABKAgSFAoMbmFtZWRjaGFuZ2VkGBEgASgIEg8KB2Fy",
            "ZWFleHAYEiABKAUSKAoJYXJlYWJveGVzGBMgAygLMhUucHJvdG9idWYuQXJl",
            "bmFCb3hNc2cSDgoGZG9uYXRlGBQgASgFIp8BCglGcmllbmRNc2cSEAoIdXNl",
            "cm5hbWUYASABKAkSEAoIbmlja25hbWUYAiABKAkSDwoHaGVhZGltZxgDIAEo",
            "BRINCgVsZXZlbBgFIAEoBRIMCgRyYW5rGAYgASgFEg0KBXNjb3JlGAcgASgF",
            "Eg4KBm9ubGluZRgIIAEoCBIhCgdnZW1kZWNrGAkgAygLMhAucHJvdG9idWYu",
            "R2VtTXNnIlYKDFN0b3JlQXJlYU1zZxIKCgJpZBgBIAEoBRITCgtyZWZyZXNo",
            "VGltZRgCIAEoBRIlCgVpdGVtcxgDIAMoCzIWLnByb3RvYnVmLlN0b3JlSXRl",
            "bU1zZyIsCgxTdG9yZUl0ZW1Nc2cSCgoCaWQYASABKAUSEAoIYnV5Q291bnQY",
            "AiABKAUiOAoNUmV3YXJkSXRlbU1zZxIMCgR0eXBlGAEgASgFEgoKAmlkGAIg",
            "ASgFEg0KBWNvdW50GAMgASgFIj0KC0FyZW5hQm94TXNnEgsKA3BvcxgBIAEo",
            "BRINCgVib3hpZBgCIAEoBRISCgpleHBpcmVUaW1lGAMgASgFItIBCg9GYW1p",
            "bHlNZW1iZXJNc2cSEAoIdXNlcm5hbWUYASABKAkSEAoIbmlja25hbWUYAiAB",
            "KAkSDwoHaGVhZGltZxgDIAEoBRIQCghwb3NpdGlvbhgEIAEoBRIOCgZvbmxp",
            "bmUYBSABKAgSDQoFc2NvcmUYBiABKAUSDQoFbGV2ZWwYByABKAUSEgoKd2Vl",
            "a0RvbmF0ZRgIIAEoBRITCgt0b3RhbERvbmF0ZRgJIAEoBRIhCgdnZW1kZWNr",
            "GAogAygLMhAucHJvdG9idWYuR2VtTXNnIjwKE0ZhbWlseURvbmF0ZUl0ZW1N",
            "c2cSEAoIdXNlcm5hbWUYASABKAkSEwoLZG9uYXRlQ291bnQYAiABKAUikgMK",
            "DUZhbWlseUNoYXRNc2cSEQoJbWVzc2FnZUlkGAEgASgFEhAKCHVzZXJuYW1l",
            "GAIgASgJEhAKCG5pY2tuYW1lGAMgASgJEg8KB2hlYWRpbWcYBCABKAUSEgoK",
            "Y3JlYXRlVGltZRgFIAEoBRIPCgdjb250ZW50GAYgASgJEiQKCGNoYXRUeXBl",
            "GAcgASgOMhIucHJvdG9idWYuQ2hhdFR5cGUSDQoFZ2VtSWQYCCABKAUSMQoK",
            "ZG9uYXRlbGlzdBgJIAMoCzIdLnByb3RvYnVmLkZhbWlseURvbmF0ZUl0ZW1N",
            "c2cSFAoMcmVjZWl2ZUNvdW50GAogASgFEhIKClRvdGFsQ291bnQYCyABKAUS",
            "EAoIbm90aWNlSWQYDCABKAUSDgoGcGFyYW1zGA0gAygJEhMKC25ld1VzZXJu",
            "YW1lGA4gASgJEhMKC25ld05pY2tuYW1lGA8gASgJEhIKCm5ld0hlYWRpbWcY",
            "ECABKAUSEAoIbmV3TGV2ZWwYESABKAUSEAoIbmV3U2NvcmUYEiABKAUi0gEK",
            "CUZhbWlseU1zZxILCgN1aWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRkZXNj",
            "GAMgASgJEg0KBWljb25zGAQgAygFEg0KBXNjb3JlGAUgASgFEhMKC3Njb3Jl",
            "c2hvcElkGAYgASgFEhgKEHNjb3Jlc2hvcEV4cGlyZWQYByABKAUSEAoIZnJl",
            "ZUpvaW4YCCABKAUSEQoJbmVlZFNjb3JlGAkgASgFEioKB21lbWJlcnMYCiAD",
            "KAsyGS5wcm90b2J1Zi5GYW1pbHlNZW1iZXJNc2cimgEKE0ZhbWlseVNlYXJj",
            "aEl0ZW1Nc2cSCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkSDQoFaWNvbnMY",
            "AyADKAUSEwoLbWVtYmVyQ291bnQYBCABKAUSEAoIaXNBY3RpdmUYBSABKAgS",
            "EgoKaXNGcmllbmRJbhgGIAEoCBINCgVpc05ldxgHIAEoCBIPCgdpc0FwcGx5",
            "GAggASgIKmgKCENVUlJFTkNZEhIKDkNVUlJFTkNZX0JFR0lOEAASCQoFTU9O",
            "RVkQARIICgRHT0xEEAISBwoDUk1CEAMSBwoDR0VNEAQSBwoDQk9YEAUSDAoI",
            "QVJFTkFFWFAQBhIKCgZET05BVEUQByomCglDaGFubmVsSUQSEQoNQ0hBTk5F",
            "TF9CRUdJThAAEgYKAkdNEAEqrwUKCUVycm9yQ29kZRILCgdTdWNjZXNzEAAS",
            "FQoRQ2hhbm5lbElkX05vRXhpc3QQARIUChBVc2VyTmFtZV9JbnZhbGlkEAIS",
            "GAoUVXNlclBhc3NXb3JkX0ludmFsaWQQAxIQCgxVbmtub3dfRXJyb3IQBBIR",
            "Cg1JbnB1dF9JbnZhbGlkEAUSCwoHVGltZW91dBAGEhYKElNlc3Npb25LZXlf",
            "SW52YWxpZBAHEhAKDExvZ2luX05vVXNlchAIEhMKD05vdEVub3VnaF9Nb25l",
            "eRAJEhIKDk5vdEVub3VnaF9Hb2xkEAoSEQoNTm90RW5vdWdoX0dlbRALEhMK",
            "D05vdEZvdW5kX0ZyaWVuZBAMEhIKDkFscmVhZHlfRnJpZW5kEA0SEgoOSW5C",
            "bG9ja19GcmllbmQQDhIOCgpNYXhfRnJpZW5kEA8SEAoMTWF4X05pY2tOYW1l",
            "EBASFAoQSW52YWxpZF9OaWNrTmFtZRAREhIKDk1heF9TdG9yZUxpbWl0EBIS",
            "FgoSTm90RW5vdWdoX1N0b3JlQnV5EBMSFAoQTm90T3Blbl9QYXNzUG9ydBAU",
            "EhQKEEFscmVhZHlfUGFzc1BvcnQQFRIcChhOZWVkVmlwX1Bhc3NQb3J0VGFr",
            "ZUl0ZW0QFhIeChpOZWVkTGV2ZWxfUGFzc1BvcnRUYWtlSXRlbRAXEhwKGEFs",
            "cmVhZHlfUGFzc1BvcnRUYWtlSXRlbRAYEhwKGEludmFsaWRfUGFzc1BvcnRC",
            "dXlMZXZlbBAZEhYKEkhhc1VubG9ja19BcmVuYUJveBAaEhsKF090aGVyVW5s",
            "b2NraW5nX0FyZW5hQm94EBsSGAoUTm90VGltZVRha2VfQXJlbmFCb3gQHBIg",
            "ChxOb3RFbm91Z2hfTGV2ZWxfQ3JlYXRlRmFtaWx5EB0qcQoIQ2hhdFR5cGUS",
            "EgoOQ2hhdFR5cGVfQmVnaW4QABIRCg1DaGF0VHlwZV9UZXh0EAESFgoSQ2hh",
            "dFR5cGVfRG9uYXRlR2VtEAISEwoPQ2hhdFR5cGVfU3lzdGVtEAMSEQoNQ2hh",
            "dFR5cGVfSm9pbhAEYgZwcm90bzM="));
            "KAUSCwoDZXhwGAYgASgFEg0KBW1vbmV5GAcgASgFEgwKBGdvbGQYCCABKAUS",
            "HgoEZ2VtcxgJIAMoCzIQLnByb3RvYnVmLkdlbU1zZxIQCghnZW1kZWNrMRgK",
            "IAMoBRIQCghnZW1kZWNrMhgLIAMoBRIQCghnZW1kZWNrMxgMIAMoBRIOCgZk",
            "ZWNraWQYDSABKAUSFAoMYWNjZXB0ZnJpZW5kGA4gASgIEhQKDG5hbWVkY2hh",
            "bmdlZBgPIAEoCBIPCgdhcmVhZXhwGBAgASgFEigKCWFyZWFib3hlcxgRIAMo",
            "CzIVLnByb3RvYnVmLkFyZW5hQm94TXNnEg4KBmRvbmF0ZRgSIAEoBSKhAQoJ",
            "RnJpZW5kTXNnEhAKCHVzZXJuYW1lGAEgASgJEhAKCG5pY2tuYW1lGAIgASgJ",
            "Eg8KB2hlYWRpbWcYAyABKAUSDQoFbGV2ZWwYBSABKAUSDAoEcmFuaxgGIAEo",
            "BRIPCgdhcmVhZXhwGAcgASgFEg4KBm9ubGluZRgIIAEoCBIhCgdnZW1kZWNr",
            "GAkgAygLMhAucHJvdG9idWYuR2VtTXNnIlYKDFN0b3JlQXJlYU1zZxIKCgJp",
            "ZBgBIAEoBRITCgtyZWZyZXNoVGltZRgCIAEoBRIlCgVpdGVtcxgDIAMoCzIW",
            "LnByb3RvYnVmLlN0b3JlSXRlbU1zZyIsCgxTdG9yZUl0ZW1Nc2cSCgoCaWQY",
            "ASABKAUSEAoIYnV5Q291bnQYAiABKAUiOAoNUmV3YXJkSXRlbU1zZxIMCgR0",
            "eXBlGAEgASgFEgoKAmlkGAIgASgFEg0KBWNvdW50GAMgASgFIj0KC0FyZW5h",
            "Qm94TXNnEgsKA3BvcxgBIAEoBRINCgVib3hpZBgCIAEoBRISCgpleHBpcmVU",
            "aW1lGAMgASgFItQBCg9GYW1pbHlNZW1iZXJNc2cSEAoIdXNlcm5hbWUYASAB",
            "KAkSEAoIbmlja25hbWUYAiABKAkSDwoHaGVhZGltZxgDIAEoBRIQCghwb3Np",
            "dGlvbhgEIAEoBRIOCgZvbmxpbmUYBSABKAgSDwoHYXJlYWV4cBgGIAEoBRIN",
            "CgVsZXZlbBgIIAEoBRISCgp3ZWVrRG9uYXRlGAkgASgFEhMKC3RvdGFsRG9u",
            "YXRlGAogASgFEiEKB2dlbWRlY2sYCyADKAsyEC5wcm90b2J1Zi5HZW1Nc2ci",
            "PAoTRmFtaWx5RG9uYXRlSXRlbU1zZxIQCgh1c2VybmFtZRgBIAEoCRITCgtk",
            "b25hdGVDb3VudBgCIAEoBSKSAwoNRmFtaWx5Q2hhdE1zZxIRCgltZXNzYWdl",
            "SWQYASABKAUSEAoIdXNlcm5hbWUYAiABKAkSEAoIbmlja25hbWUYAyABKAkS",
            "DwoHaGVhZGltZxgEIAEoBRISCgpjcmVhdGVUaW1lGAUgASgFEg8KB2NvbnRl",
            "bnQYBiABKAkSJAoIY2hhdFR5cGUYByABKA4yEi5wcm90b2J1Zi5DaGF0VHlw",
            "ZRINCgVnZW1JZBgIIAEoBRIxCgpkb25hdGVsaXN0GAkgAygLMh0ucHJvdG9i",
            "dWYuRmFtaWx5RG9uYXRlSXRlbU1zZxIUCgxyZWNlaXZlQ291bnQYCiABKAUS",
            "EgoKVG90YWxDb3VudBgLIAEoBRIQCghub3RpY2VJZBgMIAEoBRIOCgZwYXJh",
            "bXMYDSADKAkSEwoLbmV3VXNlcm5hbWUYDiABKAkSEwoLbmV3Tmlja25hbWUY",
            "DyABKAkSEgoKbmV3SGVhZGltZxgQIAEoBRIQCghuZXdMZXZlbBgRIAEoBRIQ",
            "CghuZXdTY29yZRgSIAEoBSLSAQoJRmFtaWx5TXNnEgsKA3VpZBgBIAEoCRIM",
            "CgRuYW1lGAIgASgJEgwKBGRlc2MYAyABKAkSDQoFaWNvbnMYBCADKAUSDQoF",
            "c2NvcmUYBSABKAUSEwoLc2NvcmVzaG9wSWQYBiABKAUSGAoQc2NvcmVzaG9w",
            "RXhwaXJlZBgHIAEoBRIQCghmcmVlSm9pbhgIIAEoBRIRCgluZWVkU2NvcmUY",
            "CSABKAUSKgoHbWVtYmVycxgKIAMoCzIZLnByb3RvYnVmLkZhbWlseU1lbWJl",
            "ck1zZyKaAQoTRmFtaWx5U2VhcmNoSXRlbU1zZxILCgN1aWQYASABKAkSDAoE",
            "bmFtZRgCIAEoCRINCgVpY29ucxgDIAMoBRITCgttZW1iZXJDb3VudBgEIAEo",
            "BRIQCghpc0FjdGl2ZRgFIAEoCBISCgppc0ZyaWVuZEluGAYgASgIEg0KBWlz",
            "TmV3GAcgASgIEg8KB2lzQXBwbHkYCCABKAgqaAoIQ1VSUkVOQ1kSEgoOQ1VS",
            "UkVOQ1lfQkVHSU4QABIJCgVNT05FWRABEggKBEdPTEQQAhIHCgNSTUIQAxIH",
            "CgNHRU0QBBIHCgNCT1gQBRIMCghBUkVOQUVYUBAGEgoKBkRPTkFURRAHKiYK",
            "CUNoYW5uZWxJRBIRCg1DSEFOTkVMX0JFR0lOEAASBgoCR00QASrNBQoJRXJy",
            "b3JDb2RlEgsKB1N1Y2Nlc3MQABIVChFDaGFubmVsSWRfTm9FeGlzdBABEhQK",
            "EFVzZXJOYW1lX0ludmFsaWQQAhIYChRVc2VyUGFzc1dvcmRfSW52YWxpZBAD",
            "EhAKDFVua25vd19FcnJvchAEEhEKDUlucHV0X0ludmFsaWQQBRILCgdUaW1l",
            "b3V0EAYSFgoSU2Vzc2lvbktleV9JbnZhbGlkEAcSEAoMTG9naW5fTm9Vc2Vy",
            "EAgSEwoPTm90RW5vdWdoX01vbmV5EAkSEgoOTm90RW5vdWdoX0dvbGQQChIR",
            "Cg1Ob3RFbm91Z2hfR2VtEAsSEwoPTm90Rm91bmRfRnJpZW5kEAwSEgoOQWxy",
            "ZWFkeV9GcmllbmQQDRISCg5JbkJsb2NrX0ZyaWVuZBAOEg4KCk1heF9Gcmll",
            "bmQQDxIQCgxNYXhfTmlja05hbWUQEBIUChBJbnZhbGlkX05pY2tOYW1lEBES",
            "EgoOTWF4X1N0b3JlTGltaXQQEhIWChJOb3RFbm91Z2hfU3RvcmVCdXkQExIU",
            "ChBOb3RPcGVuX1Bhc3NQb3J0EBQSFAoQQWxyZWFkeV9QYXNzUG9ydBAVEhwK",
            "GE5lZWRWaXBfUGFzc1BvcnRUYWtlSXRlbRAWEh4KGk5lZWRMZXZlbF9QYXNz",
            "UG9ydFRha2VJdGVtEBcSHAoYQWxyZWFkeV9QYXNzUG9ydFRha2VJdGVtEBgS",
            "HAoYSW52YWxpZF9QYXNzUG9ydEJ1eUxldmVsEBkSFgoSSGFzVW5sb2NrX0Fy",
            "ZW5hQm94EBoSGwoXT3RoZXJVbmxvY2tpbmdfQXJlbmFCb3gQGxIYChROb3RU",
            "aW1lVGFrZV9BcmVuYUJveBAcEhMKD05vdEVub3VnaF9MZXZlbBAdEhQKEEFs",
            "cmVhZHlJbl9GYW1pbHkQHhITCg9Ob3RFeGlzdF9GYW1pbHkQHypxCghDaGF0",
            "VHlwZRISCg5DaGF0VHlwZV9CZWdpbhAAEhEKDUNoYXRUeXBlX1RleHQQARIW",
            "ChJDaGF0VHlwZV9Eb25hdGVHZW0QAhITCg9DaGF0VHlwZV9TeXN0ZW0QAxIR",
            "Cg1DaGF0VHlwZV9Kb2luEARiBnByb3RvMw=="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { },
          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", "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.UserDataMsg), global::Protobuf.UserDataMsg.Parser, new[]{ "Username", "Nickname", "Headimg", "Singature", "Level", "Exp", "Money", "Gold", "Gems", "Gemdeck1", "Gemdeck2", "Gemdeck3", "Deckid", "Acceptfriend", "Namedchanged", "Areaexp", "Areaboxes", "Donate" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FriendMsg), global::Protobuf.FriendMsg.Parser, new[]{ "Username", "Nickname", "Headimg", "Level", "Rank", "Areaexp", "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.FamilyMemberMsg), global::Protobuf.FamilyMemberMsg.Parser, new[]{ "Username", "Nickname", "Headimg", "Position", "Online", "Score", "Level", "WeekDonate", "TotalDonate", "Gemdeck" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Protobuf.FamilyMemberMsg), global::Protobuf.FamilyMemberMsg.Parser, new[]{ "Username", "Nickname", "Headimg", "Position", "Online", "Areaexp", "Level", "WeekDonate", "TotalDonate", "Gemdeck" }, 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),
@@ -276,9 +276,17 @@
    /// </summary>
    [pbr::OriginalName("NotTimeTake_ArenaBox")] NotTimeTakeArenaBox = 28,
    /// <summary>
    /// 创建公会失败,等级不足
    /// 等级不足
    /// </summary>
    [pbr::OriginalName("NotEnough_Level_CreateFamily")] NotEnoughLevelCreateFamily = 29,
    [pbr::OriginalName("NotEnough_Level")] NotEnoughLevel = 29,
    /// <summary>
    /// 已经在工会中
    /// </summary>
    [pbr::OriginalName("AlreadyIn_Family")] AlreadyInFamily = 30,
    /// <summary>
    /// !工会不存在
    /// </summary>
    [pbr::OriginalName("NotExist_Family")] NotExistFamily = 31,
  }
  public enum ChatType {
@@ -521,8 +529,6 @@
      headimg_ = other.headimg_;
      singature_ = other.singature_;
      level_ = other.level_;
      rank_ = other.rank_;
      score_ = other.score_;
      exp_ = other.exp_;
      money_ = other.money_;
      gold_ = other.gold_;
@@ -607,38 +613,11 @@
      }
    }
    /// <summary>Field number for the "rank" field.</summary>
    public const int RankFieldNumber = 6;
    private int rank_;
    /// <summary>
    /// 段位
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Rank {
      get { return rank_; }
      set {
        rank_ = value;
      }
    }
    /// <summary>Field number for the "score" field.</summary>
    public const int ScoreFieldNumber = 7;
    private int score_;
    /// <summary>
    /// 分数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Score {
      get { return score_; }
      set {
        score_ = value;
      }
    }
    /// <summary>Field number for the "exp" field.</summary>
    public const int ExpFieldNumber = 8;
    public const int ExpFieldNumber = 6;
    private int exp_;
    /// <summary>
    /// int32  score =7;
    /// !经验
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -650,7 +629,7 @@
    }
    /// <summary>Field number for the "money" field.</summary>
    public const int MoneyFieldNumber = 9;
    public const int MoneyFieldNumber = 7;
    private int money_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Money {
@@ -661,7 +640,7 @@
    }
    /// <summary>Field number for the "gold" field.</summary>
    public const int GoldFieldNumber = 10;
    public const int GoldFieldNumber = 8;
    private int gold_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Gold {
@@ -672,9 +651,9 @@
    }
    /// <summary>Field number for the "gems" field.</summary>
    public const int GemsFieldNumber = 11;
    public const int GemsFieldNumber = 9;
    private static readonly pb::FieldCodec<global::Protobuf.GemMsg> _repeated_gems_codec
        = pb::FieldCodec.ForMessage(90, global::Protobuf.GemMsg.Parser);
        = pb::FieldCodec.ForMessage(74, global::Protobuf.GemMsg.Parser);
    private readonly pbc::RepeatedField<global::Protobuf.GemMsg> gems_ = new pbc::RepeatedField<global::Protobuf.GemMsg>();
    /// <summary>
    /// *已有宝石列表
@@ -685,9 +664,9 @@
    }
    /// <summary>Field number for the "gemdeck1" field.</summary>
    public const int Gemdeck1FieldNumber = 12;
    public const int Gemdeck1FieldNumber = 10;
    private static readonly pb::FieldCodec<int> _repeated_gemdeck1_codec
        = pb::FieldCodec.ForInt32(98);
        = pb::FieldCodec.ForInt32(82);
    private readonly pbc::RepeatedField<int> gemdeck1_ = new pbc::RepeatedField<int>();
    /// <summary>
    /// 编队
@@ -698,9 +677,9 @@
    }
    /// <summary>Field number for the "gemdeck2" field.</summary>
    public const int Gemdeck2FieldNumber = 13;
    public const int Gemdeck2FieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_gemdeck2_codec
        = pb::FieldCodec.ForInt32(106);
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> gemdeck2_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<int> Gemdeck2 {
@@ -708,9 +687,9 @@
    }
    /// <summary>Field number for the "gemdeck3" field.</summary>
    public const int Gemdeck3FieldNumber = 14;
    public const int Gemdeck3FieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_gemdeck3_codec
        = pb::FieldCodec.ForInt32(114);
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> gemdeck3_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<int> Gemdeck3 {
@@ -718,7 +697,7 @@
    }
    /// <summary>Field number for the "deckid" field.</summary>
    public const int DeckidFieldNumber = 15;
    public const int DeckidFieldNumber = 13;
    private int deckid_;
    /// <summary>
    /// 默认编队索引0,1,2
@@ -732,7 +711,7 @@
    }
    /// <summary>Field number for the "acceptfriend" field.</summary>
    public const int AcceptfriendFieldNumber = 16;
    public const int AcceptfriendFieldNumber = 14;
    private bool acceptfriend_;
    /// <summary>
    ///  是否接受好友申请
@@ -746,7 +725,7 @@
    }
    /// <summary>Field number for the "namedchanged" field.</summary>
    public const int NamedchangedFieldNumber = 17;
    public const int NamedchangedFieldNumber = 15;
    private bool namedchanged_;
    /// <summary>
    ///  true 表示改过名字,false没有改过
@@ -760,7 +739,7 @@
    }
    /// <summary>Field number for the "areaexp" field.</summary>
    public const int AreaexpFieldNumber = 18;
    public const int AreaexpFieldNumber = 16;
    private int areaexp_;
    /// <summary>
    /// !竞技场经验
@@ -774,9 +753,9 @@
    }
    /// <summary>Field number for the "areaboxes" field.</summary>
    public const int AreaboxesFieldNumber = 19;
    public const int AreaboxesFieldNumber = 17;
    private static readonly pb::FieldCodec<global::Protobuf.ArenaBoxMsg> _repeated_areaboxes_codec
        = pb::FieldCodec.ForMessage(154, global::Protobuf.ArenaBoxMsg.Parser);
        = pb::FieldCodec.ForMessage(138, global::Protobuf.ArenaBoxMsg.Parser);
    private readonly pbc::RepeatedField<global::Protobuf.ArenaBoxMsg> areaboxes_ = new pbc::RepeatedField<global::Protobuf.ArenaBoxMsg>();
    /// <summary>
    /// !竞技宝箱列表
@@ -787,7 +766,7 @@
    }
    /// <summary>Field number for the "donate" field.</summary>
    public const int DonateFieldNumber = 20;
    public const int DonateFieldNumber = 18;
    private int donate_;
    /// <summary>
    /// 工会捐赠积分
@@ -818,8 +797,6 @@
      if (Headimg != other.Headimg) return false;
      if (Singature != other.Singature) return false;
      if (Level != other.Level) return false;
      if (Rank != other.Rank) return false;
      if (Score != other.Score) return false;
      if (Exp != other.Exp) return false;
      if (Money != other.Money) return false;
      if (Gold != other.Gold) return false;
@@ -844,8 +821,6 @@
      if (Headimg != 0) hash ^= Headimg.GetHashCode();
      if (Singature.Length != 0) hash ^= Singature.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (Rank != 0) hash ^= Rank.GetHashCode();
      if (Score != 0) hash ^= Score.GetHashCode();
      if (Exp != 0) hash ^= Exp.GetHashCode();
      if (Money != 0) hash ^= Money.GetHashCode();
      if (Gold != 0) hash ^= Gold.GetHashCode();
@@ -889,24 +864,16 @@
        output.WriteRawTag(40);
        output.WriteInt32(Level);
      }
      if (Rank != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Rank);
      }
      if (Score != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Score);
      }
      if (Exp != 0) {
        output.WriteRawTag(64);
        output.WriteRawTag(48);
        output.WriteInt32(Exp);
      }
      if (Money != 0) {
        output.WriteRawTag(72);
        output.WriteRawTag(56);
        output.WriteInt32(Money);
      }
      if (Gold != 0) {
        output.WriteRawTag(80);
        output.WriteRawTag(64);
        output.WriteInt32(Gold);
      }
      gems_.WriteTo(output, _repeated_gems_codec);
@@ -914,24 +881,24 @@
      gemdeck2_.WriteTo(output, _repeated_gemdeck2_codec);
      gemdeck3_.WriteTo(output, _repeated_gemdeck3_codec);
      if (Deckid != 0) {
        output.WriteRawTag(120);
        output.WriteRawTag(104);
        output.WriteInt32(Deckid);
      }
      if (Acceptfriend != false) {
        output.WriteRawTag(128, 1);
        output.WriteRawTag(112);
        output.WriteBool(Acceptfriend);
      }
      if (Namedchanged != false) {
        output.WriteRawTag(136, 1);
        output.WriteRawTag(120);
        output.WriteBool(Namedchanged);
      }
      if (Areaexp != 0) {
        output.WriteRawTag(144, 1);
        output.WriteRawTag(128, 1);
        output.WriteInt32(Areaexp);
      }
      areaboxes_.WriteTo(output, _repeated_areaboxes_codec);
      if (Donate != 0) {
        output.WriteRawTag(160, 1);
        output.WriteRawTag(144, 1);
        output.WriteInt32(Donate);
      }
    }
@@ -954,12 +921,6 @@
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (Rank != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rank);
      }
      if (Score != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Score);
      }
      if (Exp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
      }
@@ -977,10 +938,10 @@
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Deckid);
      }
      if (Acceptfriend != false) {
        size += 2 + 1;
        size += 1 + 1;
      }
      if (Namedchanged != false) {
        size += 2 + 1;
        size += 1 + 1;
      }
      if (Areaexp != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Areaexp);
@@ -1011,12 +972,6 @@
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.Rank != 0) {
        Rank = other.Rank;
      }
      if (other.Score != 0) {
        Score = other.Score;
      }
      if (other.Exp != 0) {
        Exp = other.Exp;
@@ -1078,65 +1033,57 @@
            break;
          }
          case 48: {
            Rank = input.ReadInt32();
            break;
          }
          case 56: {
            Score = input.ReadInt32();
            break;
          }
          case 64: {
            Exp = input.ReadInt32();
            break;
          }
          case 72: {
          case 56: {
            Money = input.ReadInt32();
            break;
          }
          case 80: {
          case 64: {
            Gold = input.ReadInt32();
            break;
          }
          case 90: {
          case 74: {
            gems_.AddEntriesFrom(input, _repeated_gems_codec);
            break;
          }
          case 82:
          case 80: {
            gemdeck1_.AddEntriesFrom(input, _repeated_gemdeck1_codec);
            break;
          }
          case 90:
          case 88: {
            gemdeck2_.AddEntriesFrom(input, _repeated_gemdeck2_codec);
            break;
          }
          case 98:
          case 96: {
            gemdeck1_.AddEntriesFrom(input, _repeated_gemdeck1_codec);
            break;
          }
          case 106:
          case 104: {
            gemdeck2_.AddEntriesFrom(input, _repeated_gemdeck2_codec);
            break;
          }
          case 114:
          case 112: {
            gemdeck3_.AddEntriesFrom(input, _repeated_gemdeck3_codec);
            break;
          }
          case 120: {
          case 104: {
            Deckid = input.ReadInt32();
            break;
          }
          case 128: {
          case 112: {
            Acceptfriend = input.ReadBool();
            break;
          }
          case 136: {
          case 120: {
            Namedchanged = input.ReadBool();
            break;
          }
          case 144: {
          case 128: {
            Areaexp = input.ReadInt32();
            break;
          }
          case 154: {
          case 138: {
            areaboxes_.AddEntriesFrom(input, _repeated_areaboxes_codec);
            break;
          }
          case 160: {
          case 144: {
            Donate = input.ReadInt32();
            break;
          }
@@ -1178,7 +1125,7 @@
      headimg_ = other.headimg_;
      level_ = other.level_;
      rank_ = other.rank_;
      score_ = other.score_;
      areaexp_ = other.areaexp_;
      online_ = other.online_;
      gemdeck_ = other.gemdeck_.Clone();
    }
@@ -1249,17 +1196,17 @@
      }
    }
    /// <summary>Field number for the "score" field.</summary>
    public const int ScoreFieldNumber = 7;
    private int score_;
    /// <summary>Field number for the "areaexp" field.</summary>
    public const int AreaexpFieldNumber = 7;
    private int areaexp_;
    /// <summary>
    /// 分数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Score {
      get { return score_; }
    public int Areaexp {
      get { return areaexp_; }
      set {
        score_ = value;
        areaexp_ = value;
      }
    }
@@ -1305,7 +1252,7 @@
      if (Headimg != other.Headimg) return false;
      if (Level != other.Level) return false;
      if (Rank != other.Rank) return false;
      if (Score != other.Score) return false;
      if (Areaexp != other.Areaexp) return false;
      if (Online != other.Online) return false;
      if(!gemdeck_.Equals(other.gemdeck_)) return false;
      return true;
@@ -1319,7 +1266,7 @@
      if (Headimg != 0) hash ^= Headimg.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (Rank != 0) hash ^= Rank.GetHashCode();
      if (Score != 0) hash ^= Score.GetHashCode();
      if (Areaexp != 0) hash ^= Areaexp.GetHashCode();
      if (Online != false) hash ^= Online.GetHashCode();
      hash ^= gemdeck_.GetHashCode();
      return hash;
@@ -1352,9 +1299,9 @@
        output.WriteRawTag(48);
        output.WriteInt32(Rank);
      }
      if (Score != 0) {
      if (Areaexp != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Score);
        output.WriteInt32(Areaexp);
      }
      if (Online != false) {
        output.WriteRawTag(64);
@@ -1381,8 +1328,8 @@
      if (Rank != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rank);
      }
      if (Score != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Score);
      if (Areaexp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Areaexp);
      }
      if (Online != false) {
        size += 1 + 1;
@@ -1411,8 +1358,8 @@
      if (other.Rank != 0) {
        Rank = other.Rank;
      }
      if (other.Score != 0) {
        Score = other.Score;
      if (other.Areaexp != 0) {
        Areaexp = other.Areaexp;
      }
      if (other.Online != false) {
        Online = other.Online;
@@ -1449,7 +1396,7 @@
            break;
          }
          case 56: {
            Score = input.ReadInt32();
            Areaexp = input.ReadInt32();
            break;
          }
          case 64: {
@@ -2196,7 +2143,7 @@
      headimg_ = other.headimg_;
      position_ = other.position_;
      online_ = other.online_;
      score_ = other.score_;
      areaexp_ = other.areaexp_;
      level_ = other.level_;
      weekDonate_ = other.weekDonate_;
      totalDonate_ = other.totalDonate_;
@@ -2266,22 +2213,22 @@
      }
    }
    /// <summary>Field number for the "score" field.</summary>
    public const int ScoreFieldNumber = 6;
    private int score_;
    /// <summary>Field number for the "areaexp" field.</summary>
    public const int AreaexpFieldNumber = 6;
    private int areaexp_;
    /// <summary>
    /// 分数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Score {
      get { return score_; }
    public int Areaexp {
      get { return areaexp_; }
      set {
        score_ = value;
        areaexp_ = value;
      }
    }
    /// <summary>Field number for the "level" field.</summary>
    public const int LevelFieldNumber = 7;
    public const int LevelFieldNumber = 8;
    private int level_;
    /// <summary>
    /// 等级
@@ -2295,7 +2242,7 @@
    }
    /// <summary>Field number for the "weekDonate" field.</summary>
    public const int WeekDonateFieldNumber = 8;
    public const int WeekDonateFieldNumber = 9;
    private int weekDonate_;
    /// <summary>
    ///  本周和总捐献数
@@ -2309,7 +2256,7 @@
    }
    /// <summary>Field number for the "totalDonate" field.</summary>
    public const int TotalDonateFieldNumber = 9;
    public const int TotalDonateFieldNumber = 10;
    private int totalDonate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int TotalDonate {
@@ -2320,9 +2267,9 @@
    }
    /// <summary>Field number for the "gemdeck" field.</summary>
    public const int GemdeckFieldNumber = 10;
    public const int GemdeckFieldNumber = 11;
    private static readonly pb::FieldCodec<global::Protobuf.GemMsg> _repeated_gemdeck_codec
        = pb::FieldCodec.ForMessage(82, global::Protobuf.GemMsg.Parser);
        = pb::FieldCodec.ForMessage(90, global::Protobuf.GemMsg.Parser);
    private readonly pbc::RepeatedField<global::Protobuf.GemMsg> gemdeck_ = new pbc::RepeatedField<global::Protobuf.GemMsg>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Protobuf.GemMsg> Gemdeck {
@@ -2347,7 +2294,7 @@
      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 (Areaexp != other.Areaexp) return false;
      if (Level != other.Level) return false;
      if (WeekDonate != other.WeekDonate) return false;
      if (TotalDonate != other.TotalDonate) return false;
@@ -2363,7 +2310,7 @@
      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 (Areaexp != 0) hash ^= Areaexp.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (WeekDonate != 0) hash ^= WeekDonate.GetHashCode();
      if (TotalDonate != 0) hash ^= TotalDonate.GetHashCode();
@@ -2398,20 +2345,20 @@
        output.WriteRawTag(40);
        output.WriteBool(Online);
      }
      if (Score != 0) {
      if (Areaexp != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Score);
        output.WriteInt32(Areaexp);
      }
      if (Level != 0) {
        output.WriteRawTag(56);
        output.WriteRawTag(64);
        output.WriteInt32(Level);
      }
      if (WeekDonate != 0) {
        output.WriteRawTag(64);
        output.WriteRawTag(72);
        output.WriteInt32(WeekDonate);
      }
      if (TotalDonate != 0) {
        output.WriteRawTag(72);
        output.WriteRawTag(80);
        output.WriteInt32(TotalDonate);
      }
      gemdeck_.WriteTo(output, _repeated_gemdeck_codec);
@@ -2435,8 +2382,8 @@
      if (Online != false) {
        size += 1 + 1;
      }
      if (Score != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Score);
      if (Areaexp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Areaexp);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
@@ -2471,8 +2418,8 @@
      if (other.Online != false) {
        Online = other.Online;
      }
      if (other.Score != 0) {
        Score = other.Score;
      if (other.Areaexp != 0) {
        Areaexp = other.Areaexp;
      }
      if (other.Level != 0) {
        Level = other.Level;
@@ -2515,22 +2462,22 @@
            break;
          }
          case 48: {
            Score = input.ReadInt32();
            break;
          }
          case 56: {
            Level = input.ReadInt32();
            Areaexp = input.ReadInt32();
            break;
          }
          case 64: {
            WeekDonate = input.ReadInt32();
            Level = input.ReadInt32();
            break;
          }
          case 72: {
            WeekDonate = input.ReadInt32();
            break;
          }
          case 80: {
            TotalDonate = input.ReadInt32();
            break;
          }
          case 82: {
          case 90: {
            gemdeck_.AddEntriesFrom(input, _repeated_gemdeck_codec);
            break;
          }