Browse Source

修复服装Bug

liuqilin 7 years ago
parent
commit
001076d285
36 changed files with 4215 additions and 4342 deletions
  1. BIN
      .vs/Garden5_2017/v15/Server/sqlite3/storage.ide
  2. 0 0
      Assets/Resource/Animations/人物动画/stand_ske.json
  3. 0 0
      Assets/Resource/Animations/人物动画/stand_tex_0.json
  4. 0 0
      Assets/Resource/Animations/人物动画/stand_tex_1.json
  5. BIN
      Assets/Resource/Animations/人物动画/stand_texture_0.png
  6. 133 133
      Assets/Resource/Animations/人物动画/stand_texture_0.png.meta
  7. BIN
      Assets/Resource/Animations/人物动画/stand_texture_1.png
  8. 110 107
      Assets/Resource/Animations/人物动画/stand_texture_1.png.meta
  9. 1 1
      Assets/Resource/Prefab/PrefabUI/Canvas.prefab
  10. 51 51
      Assets/Resource/XML/Config/ability_config.xml
  11. 137 137
      Assets/Resource/XML/Config/achieve_config.xml
  12. 18 18
      Assets/Resource/XML/Config/award_config.xml
  13. 6 6
      Assets/Resource/XML/Config/cost_config.xml
  14. 176 176
      Assets/Resource/XML/Config/dressRoom_config.xml
  15. 66 66
      Assets/Resource/XML/Config/flower_config.xml
  16. 18 18
      Assets/Resource/XML/Config/iap_config.xml
  17. 12 12
      Assets/Resource/XML/Config/lottery_config.xml
  18. 9 9
      Assets/Resource/XML/Config/minigame_config.xml
  19. 8 8
      Assets/Resource/XML/Config/offline_config.xml
  20. 33 33
      Assets/Resource/XML/Config/pack_config.xml
  21. 7 7
      Assets/Resource/XML/Config/plaza_room_config.xml
  22. 12 12
      Assets/Resource/XML/Config/robot_config.xml
  23. 30 30
      Assets/Resource/XML/Config/signin_config.xml
  24. 44 44
      Assets/Resource/XML/Config/skill_config.xml
  25. 12 12
      Assets/Resource/XML/Config/visit_config.xml
  26. 105 105
      Assets/Resource/XML/PlayerConfig.xml
  27. 1 1
      Assets/Resource/XML/lan/ChineseSimplified.xml
  28. 1 1
      Assets/Resource/XML/lan/ChineseTraditional.xml
  29. 1 1
      Assets/Resource/XML/lan/English.xml
  30. 10 10
      Assets/Script/AssetBundleUtility/AssetBundleUtility.prefab
  31. 2084 2064
      Assets/Script/Manage/ConfigManager.cs
  32. 0 5
      Assets/Script/Object/Player.cs
  33. 14 158
      Assets/Script/Tool/Auxiliary.cs
  34. 1113 1113
      Assets/Script/Tool/Bundle.cs
  35. 0 1
      ProjectSettings/GraphicsSettings.asset
  36. 3 3
      ProjectSettings/ProjectSettings.asset

BIN
.vs/Garden5_2017/v15/Server/sqlite3/storage.ide


File diff suppressed because it is too large
+ 0 - 0
Assets/Resource/Animations/人物动画/stand_ske.json


File diff suppressed because it is too large
+ 0 - 0
Assets/Resource/Animations/人物动画/stand_tex_0.json


File diff suppressed because it is too large
+ 0 - 0
Assets/Resource/Animations/人物动画/stand_tex_1.json


BIN
Assets/Resource/Animations/人物动画/stand_texture_0.png


+ 133 - 133
Assets/Resource/Animations/人物动画/stand_texture_0.png.meta

@@ -1,6 +1,6 @@
 fileFormatVersion: 2
 guid: c486bd2e1e577b24a86013546709abda
-timeCreated: 1524835651
+timeCreated: 1525401186
 licenseType: Pro
 TextureImporter:
   fileIDToRecycleName:
@@ -326,8 +326,8 @@ TextureImporter:
       name: "\u4E0A\u88631\u8896\u5B50\u53F3"
       rect:
         serializedVersion: 2
-        x: 554
-        y: 1736
+        x: 3358
+        y: 753
         width: 57
         height: 56
       alignment: 0
@@ -365,20 +365,6 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u88D9\u5B501"
-      rect:
-        serializedVersion: 2
-        x: 3427
-        y: 2660
-        width: 212
-        height: 142
-      alignment: 0
-      pivot: {x: 0, y: 0}
-      border: {x: 0, y: 0, z: 0, w: 0}
-      outline: []
-      physicsShape: []
-      tessellationDetail: -1
-    - serializedVersion: 2
       name: "\u5DE6\u624B\u770B\u6E05\u5DE6\u624B\u4F60\u7684\u5DE6\u624B\uFF01\uFF01"
       rect:
         serializedVersion: 2
@@ -491,13 +477,13 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u5634\u5DF42"
+      name: "\u88D9\u5B503"
       rect:
         serializedVersion: 2
-        x: 554
-        y: 1699
-        width: 56
-        height: 35
+        x: 3427
+        y: 2660
+        width: 212
+        height: 142
       alignment: 0
       pivot: {x: 0, y: 0}
       border: {x: 0, y: 0, z: 0, w: 0}
@@ -505,7 +491,7 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u5634\u5DF43"
+      name: "\u5634\u5DF42"
       rect:
         serializedVersion: 2
         x: 4016
@@ -519,13 +505,13 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u978B\u5B502"
+      name: "\u5634\u5DF43"
       rect:
         serializedVersion: 2
-        x: 4025
-        y: 407
-        width: 66
-        height: 134
+        x: 554
+        y: 1699
+        width: 56
+        height: 35
       alignment: 0
       pivot: {x: 0, y: 0}
       border: {x: 0, y: 0, z: 0, w: 0}
@@ -533,11 +519,11 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u978B\u5B503"
+      name: "\u978B\u5B502"
       rect:
         serializedVersion: 2
         x: 480
-        y: 1017
+        y: 1425
         width: 66
         height: 134
       alignment: 0
@@ -579,7 +565,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 3427
-        y: 2804
+        y: 2948
         width: 212
         height: 142
       alignment: 0
@@ -606,8 +592,8 @@ TextureImporter:
       name: "\u5934\u53D14\uFF08\u84DD\u8272\uFF09"
       rect:
         serializedVersion: 2
-        x: 1530
-        y: 2849
+        x: 2373
+        y: 3437
         width: 572
         height: 657
       alignment: 0
@@ -620,8 +606,8 @@ TextureImporter:
       name: "\u5934\u53D14\uFF08\u7EFF\u8272\uFF09"
       rect:
         serializedVersion: 2
-        x: 2373
-        y: 3437
+        x: 1530
+        y: 2849
         width: 572
         height: 657
       alignment: 0
@@ -648,8 +634,8 @@ TextureImporter:
       name: "\u5934\u53D15\uFF08\u7EA2\u8272\uFF09"
       rect:
         serializedVersion: 2
-        x: 2
-        y: 2365
+        x: 2815
+        y: 2584
         width: 610
         height: 506
       alignment: 0
@@ -662,8 +648,8 @@ TextureImporter:
       name: "\u5934\u53D15\uFF08\u9EC4\u8272\uFF09"
       rect:
         serializedVersion: 2
-        x: 2815
-        y: 2584
+        x: 2
+        y: 2365
         width: 610
         height: 506
       alignment: 0
@@ -676,8 +662,8 @@ TextureImporter:
       name: "\u5934\u53D16+\u4E0B\uFF08\u68D5\uFF09"
       rect:
         serializedVersion: 2
-        x: 2104
-        y: 2163
+        x: 3658
+        y: 3324
         width: 382
         height: 770
       alignment: 0
@@ -690,8 +676,8 @@ TextureImporter:
       name: "\u5934\u53D16+\u4E0A\uFF08\u68D5\uFF09"
       rect:
         serializedVersion: 2
-        x: 3227
-        y: 2102
+        x: 3464
+        y: 752
         width: 449
         height: 448
       alignment: 0
@@ -704,8 +690,8 @@ TextureImporter:
       name: "\u5934\u53D16+\u4E0B\uFF08\u7EFF\uFF09"
       rect:
         serializedVersion: 2
-        x: 3658
-        y: 3324
+        x: 1364
+        y: 1418
         width: 382
         height: 770
       alignment: 0
@@ -719,7 +705,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 3227
-        y: 1652
+        y: 2102
         width: 449
         height: 448
       alignment: 0
@@ -732,8 +718,8 @@ TextureImporter:
       name: "\u5934\u53D16+\u4E0B\uFF08\u9EC4\uFF09"
       rect:
         serializedVersion: 2
-        x: 3658
-        y: 2552
+        x: 2104
+        y: 2163
         width: 382
         height: 770
       alignment: 0
@@ -747,7 +733,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 3464
-        y: 752
+        y: 1202
         width: 449
         height: 448
       alignment: 0
@@ -760,8 +746,8 @@ TextureImporter:
       name: "\u5934\u53D16+\u4E0B\uFF08\u7C89\uFF09"
       rect:
         serializedVersion: 2
-        x: 1364
-        y: 1418
+        x: 3658
+        y: 2552
         width: 382
         height: 770
       alignment: 0
@@ -774,8 +760,8 @@ TextureImporter:
       name: "\u5934\u53D16+\u4E0A\uFF08\u7C89\uFF09"
       rect:
         serializedVersion: 2
-        x: 3464
-        y: 1202
+        x: 3227
+        y: 1652
         width: 449
         height: 448
       alignment: 0
@@ -788,8 +774,8 @@ TextureImporter:
       name: "\u5934\u53D17(\u6A59)"
       rect:
         serializedVersion: 2
-        x: 1722
-        y: 3508
+        x: 2
+        y: 2873
         width: 649
         height: 586
       alignment: 0
@@ -802,8 +788,8 @@ TextureImporter:
       name: "\u5934\u53D17(\u7C73\u767D)"
       rect:
         serializedVersion: 2
-        x: 2
-        y: 2873
+        x: 1722
+        y: 3508
         width: 649
         height: 586
       alignment: 0
@@ -830,8 +816,8 @@ TextureImporter:
       name: "\u5934\u53D18(\u7C89)"
       rect:
         serializedVersion: 2
-        x: 653
-        y: 2030
+        x: 2104
+        y: 2935
         width: 709
         height: 500
       alignment: 0
@@ -858,8 +844,8 @@ TextureImporter:
       name: "\u5934\u53D18(\u7EFF)"
       rect:
         serializedVersion: 2
-        x: 2104
-        y: 2935
+        x: 653
+        y: 2030
         width: 709
         height: 500
       alignment: 0
@@ -929,7 +915,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 1128
-        y: 32
+        y: 458
         width: 548
         height: 424
       alignment: 0
@@ -942,8 +928,8 @@ TextureImporter:
       name: "\u8111\u58F32+\u4E0B\uFF08\u68D5\u8272\uFF09\u53E6\u4E00\u79CD\u53D1\u578B"
       rect:
         serializedVersion: 2
-        x: 2
-        y: 789
+        x: 1364
+        y: 884
         width: 476
         height: 532
       alignment: 0
@@ -956,8 +942,8 @@ TextureImporter:
       name: "\u8111\u58F32+\u4E0B\uFF08\u7C89\u8272\uFF09\u53E6\u4E00\u79CD\u53D1\u578B"
       rect:
         serializedVersion: 2
-        x: 614
-        y: 962
+        x: 2
+        y: 1323
         width: 476
         height: 532
       alignment: 0
@@ -971,7 +957,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 614
-        y: 1496
+        y: 962
         width: 476
         height: 532
       alignment: 0
@@ -984,8 +970,8 @@ TextureImporter:
       name: "\u8111\u58F33+\u4E0B\uFF08\u7C89\u8272\uFF09"
       rect:
         serializedVersion: 2
-        x: 2
-        y: 1323
+        x: 614
+        y: 1496
         width: 476
         height: 532
       alignment: 0
@@ -995,13 +981,13 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u8111\u58F33+\u4E0A\uFF08\u7C89\u8272\uFF09"
+      name: "\u8111\u58F33+\u4E0B\uFF08\u7D2B\u8272\uFF09"
       rect:
         serializedVersion: 2
-        x: 3579
-        y: 364
-        width: 444
-        height: 386
+        x: 2
+        y: 789
+        width: 476
+        height: 532
       alignment: 0
       pivot: {x: 0, y: 0}
       border: {x: 0, y: 0, z: 0, w: 0}
@@ -1009,13 +995,13 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u8111\u58F33+\u4E0B\uFF08\u7D2B\u8272\uFF09"
+      name: "\u8111\u58F33+\u4E0A\uFF08\u7D2B\u8272\uFF09"
       rect:
         serializedVersion: 2
-        x: 1364
-        y: 884
-        width: 476
-        height: 532
+        x: 2228
+        y: 14
+        width: 444
+        height: 386
       alignment: 0
       pivot: {x: 0, y: 0}
       border: {x: 0, y: 0, z: 0, w: 0}
@@ -1023,11 +1009,11 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u8111\u58F33+\u4E0A\uFF08\u7D2B\u8272\uFF09"
+      name: "\u8111\u58F33+\u4E0A\uFF08\u9EC4\u8272\uFF09"
       rect:
         serializedVersion: 2
-        x: 2228
-        y: 14
+        x: 3579
+        y: 364
         width: 444
         height: 386
       alignment: 0
@@ -1107,7 +1093,7 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: 9
+      name: 10
       rect:
         serializedVersion: 2
         x: 4025
@@ -1121,7 +1107,7 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: 10
+      name: 11
       rect:
         serializedVersion: 2
         x: 480
@@ -1135,11 +1121,11 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: 11
+      name: 12
       rect:
         serializedVersion: 2
         x: 480
-        y: 1425
+        y: 1289
         width: 66
         height: 134
       alignment: 0
@@ -1195,7 +1181,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 3915
-        y: 1324
+        y: 1502
         width: 171
         height: 176
       alignment: 0
@@ -1247,13 +1233,13 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u4E0A\u886310"
+      name: "\u4E0A\u886313"
       rect:
         serializedVersion: 2
-        x: 3915
-        y: 864
-        width: 179
-        height: 144
+        x: 1364
+        y: 2205
+        width: 124
+        height: 162
       alignment: 0
       pivot: {x: 0, y: 0}
       border: {x: 0, y: 0, z: 0, w: 0}
@@ -1261,13 +1247,13 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u4E0A\u886313"
+      name: "\u4E0A\u886310\uFF08\u9EC4\uFF09"
       rect:
         serializedVersion: 2
-        x: 1364
-        y: 2205
-        width: 124
-        height: 162
+        x: 3915
+        y: 864
+        width: 179
+        height: 144
       alignment: 0
       pivot: {x: 0, y: 0}
       border: {x: 0, y: 0, z: 0, w: 0}
@@ -1306,7 +1292,7 @@ TextureImporter:
       name: "\u4E0A\u886312\u8896\u5B50\u5DE6"
       rect:
         serializedVersion: 2
-        x: 3495
+        x: 3563
         y: 2592
         width: 66
         height: 66
@@ -1320,7 +1306,7 @@ TextureImporter:
       name: "\u4E0A\u886312\u8896\u5B50\u53F3"
       rect:
         serializedVersion: 2
-        x: 1254
+        x: 1191
         y: 929
         width: 61
         height: 61
@@ -1349,7 +1335,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 548
-        y: 1195
+        y: 1258
         width: 61
         height: 61
       alignment: 0
@@ -1362,8 +1348,8 @@ TextureImporter:
       name: "\u4E0A\u886313\u8896\u5B50\u5DE6"
       rect:
         serializedVersion: 2
-        x: 3427
-        y: 2592
+        x: 3998
+        y: 32
         width: 66
         height: 66
       alignment: 0
@@ -1376,8 +1362,8 @@ TextureImporter:
       name: "\u4E0A\u886313\u8896\u5B50\u53F3"
       rect:
         serializedVersion: 2
-        x: 548
-        y: 1321
+        x: 1128
+        y: 929
         width: 61
         height: 61
       alignment: 0
@@ -1404,8 +1390,8 @@ TextureImporter:
       name: "\u4E0A\u88632\u8896\u5B50\u53F3"
       rect:
         serializedVersion: 2
-        x: 3358
-        y: 753
+        x: 554
+        y: 1736
         width: 57
         height: 56
       alignment: 0
@@ -1418,8 +1404,8 @@ TextureImporter:
       name: "\u4E0A\u88636\u8896\u5B50\u5DE6"
       rect:
         serializedVersion: 2
-        x: 3998
-        y: 32
+        x: 3495
+        y: 2592
         width: 66
         height: 66
       alignment: 0
@@ -1432,7 +1418,7 @@ TextureImporter:
       name: "\u4E0A\u88636\u8896\u5B50\u53F3"
       rect:
         serializedVersion: 2
-        x: 1191
+        x: 1254
         y: 929
         width: 61
         height: 61
@@ -1446,8 +1432,8 @@ TextureImporter:
       name: "\u4E0A\u88637\u8896\u5B50\u5DE6"
       rect:
         serializedVersion: 2
-        x: 3563
-        y: 2592
+        x: 653
+        y: 3082
         width: 66
         height: 66
       alignment: 0
@@ -1461,7 +1447,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 548
-        y: 1258
+        y: 1321
         width: 61
         height: 61
       alignment: 0
@@ -1474,8 +1460,8 @@ TextureImporter:
       name: "\u4E0A\u88637\u7C89\u8896\u5B50\u53F3"
       rect:
         serializedVersion: 2
-        x: 1128
-        y: 929
+        x: 548
+        y: 1195
         width: 61
         height: 61
       alignment: 0
@@ -1488,8 +1474,8 @@ TextureImporter:
       name: "\u4E0A\u88637\u7C89\u8896\u5B50\u5DE6"
       rect:
         serializedVersion: 2
-        x: 653
-        y: 3082
+        x: 3427
+        y: 2592
         width: 66
         height: 66
       alignment: 0
@@ -1628,8 +1614,8 @@ TextureImporter:
       name: "\u5934\u53D19-\u84DD"
       rect:
         serializedVersion: 2
-        x: 3015
-        y: 811
+        x: 2228
+        y: 402
         width: 447
         height: 457
       alignment: 0
@@ -1726,8 +1712,8 @@ TextureImporter:
       name: "\u5934\u53D19-\u7C89"
       rect:
         serializedVersion: 2
-        x: 2228
-        y: 402
+        x: 3015
+        y: 811
         width: 447
         height: 457
       alignment: 0
@@ -1765,11 +1751,11 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u978B\u5B5014b"
+      name: "\u978B\u5B5014c"
       rect:
         serializedVersion: 2
         x: 480
-        y: 1289
+        y: 1017
         width: 66
         height: 134
       alignment: 0
@@ -1824,8 +1810,8 @@ TextureImporter:
       name: "\u5934\u53D110(\u7D2B)"
       rect:
         serializedVersion: 2
-        x: 2
-        y: 303
+        x: 1842
+        y: 1284
         width: 444
         height: 484
       alignment: 0
@@ -1950,7 +1936,7 @@ TextureImporter:
       name: "\u4E0A\u886314b-\u8896\u5B502"
       rect:
         serializedVersion: 2
-        x: 721
+        x: 785
         y: 3086
         width: 62
         height: 62
@@ -1978,7 +1964,7 @@ TextureImporter:
       name: "\u4E0A\u886314c-\u8896\u5B502"
       rect:
         serializedVersion: 2
-        x: 785
+        x: 721
         y: 3086
         width: 62
         height: 62
@@ -1992,8 +1978,8 @@ TextureImporter:
       name: "\u5934\u53D110(\u68D5)"
       rect:
         serializedVersion: 2
-        x: 1842
-        y: 1284
+        x: 2
+        y: 303
         width: 444
         height: 484
       alignment: 0
@@ -2077,7 +2063,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 1128
-        y: 458
+        y: 32
         width: 548
         height: 424
       alignment: 0
@@ -2091,7 +2077,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 3427
-        y: 2948
+        y: 2804
         width: 212
         height: 142
       alignment: 0
@@ -2105,7 +2091,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 3915
-        y: 1502
+        y: 1324
         width: 171
         height: 176
       alignment: 0
@@ -2115,6 +2101,20 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
+      name: "\u978B\u5B50-\u7F3A\u5931"
+      rect:
+        serializedVersion: 2
+        x: 480
+        y: 1153
+        width: 66
+        height: 134
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: -1
+    - serializedVersion: 2
       name: "\u4E0A\u886314"
       rect:
         serializedVersion: 2
@@ -2230,8 +2230,8 @@ TextureImporter:
       name: "\u978B\u5B5018"
       rect:
         serializedVersion: 2
-        x: 480
-        y: 1153
+        x: 4025
+        y: 407
         width: 66
         height: 134
       alignment: 0

BIN
Assets/Resource/Animations/人物动画/stand_texture_1.png


+ 110 - 107
Assets/Resource/Animations/人物动画/stand_texture_1.png.meta

@@ -1,6 +1,6 @@
 fileFormatVersion: 2
 guid: c0256ea9e745dc544ae7035b55f87b84
-timeCreated: 1524835661
+timeCreated: 1525401202
 licenseType: Pro
 TextureImporter:
   fileIDToRecycleName:
@@ -119,6 +119,9 @@ TextureImporter:
     21300224: "\u5934\u53D117-3"
     21300226: "\u8111\u58F33+\u4E0A\uFF08\u9EC4\u8272\uFF09"
     21300228: "\u5934\u53D117-2\u540E"
+    21300230: "\u88D9\u5B50-\u7F3A\u5931"
+    21300232: "\u5934\u53D117-1"
+    21300234: "\u8111\u58F33+\u4E0A\uFF08\u7C89\u8272\uFF09"
   externalObjects: {}
   serializedVersion: 4
   mipmaps:
@@ -220,11 +223,25 @@ TextureImporter:
     serializedVersion: 2
     sprites:
     - serializedVersion: 2
+      name: "\u88D9\u5B501"
+      rect:
+        serializedVersion: 2
+        x: 2679
+        y: 3296
+        width: 212
+        height: 142
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: -1
+    - serializedVersion: 2
       name: "\u978B\u5B5015-1_2"
       rect:
         serializedVersion: 2
-        x: 1593
-        y: 2817
+        x: 1022
+        y: 2814
         width: 66
         height: 134
       alignment: 0
@@ -237,8 +254,8 @@ TextureImporter:
       name: "\u978B\u5B5015-2_1"
       rect:
         serializedVersion: 2
-        x: 1942
-        y: 2926
+        x: 648
+        y: 2857
         width: 66
         height: 134
       alignment: 0
@@ -265,8 +282,8 @@ TextureImporter:
       name: "\u4E0A\u88631"
       rect:
         serializedVersion: 2
-        x: 1608
-        y: 2953
+        x: 2042
+        y: 2960
         width: 165
         height: 111
       alignment: 0
@@ -279,8 +296,8 @@ TextureImporter:
       name: 2
       rect:
         serializedVersion: 2
-        x: 648
-        y: 2721
+        x: 1942
+        y: 2926
         width: 66
         height: 134
       alignment: 0
@@ -293,8 +310,8 @@ TextureImporter:
       name: "\u978B\u5B501"
       rect:
         serializedVersion: 2
-        x: 1729
-        y: 2813
+        x: 4015
+        y: 3072
         width: 66
         height: 134
       alignment: 0
@@ -307,8 +324,8 @@ TextureImporter:
       name: "\u4E0A\u88632"
       rect:
         serializedVersion: 2
-        x: 2042
-        y: 2960
+        x: 1775
+        y: 2949
         width: 165
         height: 111
       alignment: 0
@@ -321,8 +338,8 @@ TextureImporter:
       name: "\u4E0A\u88633"
       rect:
         serializedVersion: 2
-        x: 1426
-        y: 2848
+        x: 1608
+        y: 2953
         width: 165
         height: 111
       alignment: 0
@@ -346,13 +363,13 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u88D9\u5B503"
+      name: "\u978B\u5B503"
       rect:
         serializedVersion: 2
-        x: 2679
-        y: 3296
-        width: 212
-        height: 142
+        x: 3335
+        y: 3044
+        width: 66
+        height: 134
       alignment: 0
       pivot: {x: 0, y: 0}
       border: {x: 0, y: 0, z: 0, w: 0}
@@ -360,7 +377,7 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u8111\u58F33+\u4E0A\uFF08\u9EC4\u8272\uFF09"
+      name: "\u8111\u58F33+\u4E0A\uFF08\u7C89\u8272\uFF09"
       rect:
         serializedVersion: 2
         x: 2
@@ -461,8 +478,8 @@ TextureImporter:
       name: "\u88D9\u5B504"
       rect:
         serializedVersion: 2
-        x: 2893
-        y: 3296
+        x: 2408
+        y: 3289
         width: 203
         height: 142
       alignment: 0
@@ -475,8 +492,8 @@ TextureImporter:
       name: "\u88D9\u5B505"
       rect:
         serializedVersion: 2
-        x: 2408
-        y: 3289
+        x: 2893
+        y: 3296
         width: 203
         height: 142
       alignment: 0
@@ -559,8 +576,8 @@ TextureImporter:
       name: 3
       rect:
         serializedVersion: 2
-        x: 1022
-        y: 2950
+        x: 3997
+        y: 3247
         width: 66
         height: 134
       alignment: 0
@@ -573,8 +590,8 @@ TextureImporter:
       name: 4
       rect:
         serializedVersion: 2
-        x: 1022
-        y: 2814
+        x: 3572
+        y: 3165
         width: 66
         height: 134
       alignment: 0
@@ -601,8 +618,8 @@ TextureImporter:
       name: 6
       rect:
         serializedVersion: 2
-        x: 1865
-        y: 2813
+        x: 1593
+        y: 2817
         width: 66
         height: 134
       alignment: 0
@@ -615,8 +632,8 @@ TextureImporter:
       name: 7
       rect:
         serializedVersion: 2
-        x: 3335
-        y: 3044
+        x: 1729
+        y: 2813
         width: 66
         height: 134
       alignment: 0
@@ -629,8 +646,8 @@ TextureImporter:
       name: 8
       rect:
         serializedVersion: 2
-        x: 648
-        y: 2857
+        x: 1661
+        y: 2681
         width: 66
         height: 134
       alignment: 0
@@ -640,11 +657,11 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: 12
+      name: 9
       rect:
         serializedVersion: 2
-        x: 1182
-        y: 3562
+        x: 1797
+        y: 2813
         width: 66
         height: 134
       alignment: 0
@@ -658,7 +675,7 @@ TextureImporter:
       rect:
         serializedVersion: 2
         x: 1182
-        y: 3426
+        y: 3562
         width: 66
         height: 134
       alignment: 0
@@ -699,8 +716,8 @@ TextureImporter:
       name: "\u5934\u99709"
       rect:
         serializedVersion: 2
-        x: 390
-        y: 2993
+        x: 794
+        y: 3086
         width: 351
         height: 307
       alignment: 0
@@ -713,8 +730,8 @@ TextureImporter:
       name: "\u5934\u997010"
       rect:
         serializedVersion: 2
-        x: 794
-        y: 3086
+        x: 390
+        y: 2993
         width: 351
         height: 307
       alignment: 0
@@ -741,8 +758,8 @@ TextureImporter:
       name: "\u4E0A\u88636"
       rect:
         serializedVersion: 2
-        x: 2879
-        y: 3068
+        x: 2237
+        y: 3053
         width: 180
         height: 111
       alignment: 0
@@ -755,8 +772,8 @@ TextureImporter:
       name: "\u4E0A\u88637"
       rect:
         serializedVersion: 2
-        x: 2055
-        y: 3073
+        x: 2419
+        y: 3053
         width: 180
         height: 111
       alignment: 0
@@ -780,13 +797,13 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u4E0A\u886311"
+      name: "\u4E0A\u886310"
       rect:
         serializedVersion: 2
-        x: 2408
-        y: 3166
-        width: 186
-        height: 121
+        x: 1874
+        y: 3178
+        width: 179
+        height: 144
       alignment: 0
       pivot: {x: 0, y: 0}
       border: {x: 0, y: 0, z: 0, w: 0}
@@ -794,13 +811,13 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u4E0A\u886312"
+      name: "\u4E0A\u886311"
       rect:
         serializedVersion: 2
-        x: 2419
-        y: 3053
-        width: 180
-        height: 111
+        x: 2679
+        y: 3460
+        width: 186
+        height: 121
       alignment: 0
       pivot: {x: 0, y: 0}
       border: {x: 0, y: 0, z: 0, w: 0}
@@ -808,13 +825,13 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u4E0A\u886310\uFF08\u9EC4\uFF09"
+      name: "\u4E0A\u886312"
       rect:
         serializedVersion: 2
-        x: 1874
-        y: 3178
-        width: 179
-        height: 144
+        x: 2879
+        y: 3068
+        width: 180
+        height: 111
       alignment: 0
       pivot: {x: 0, y: 0}
       border: {x: 0, y: 0, z: 0, w: 0}
@@ -825,8 +842,8 @@ TextureImporter:
       name: "\u4E0A\u886311(\u7C89)"
       rect:
         serializedVersion: 2
-        x: 2679
-        y: 3460
+        x: 2408
+        y: 3166
         width: 186
         height: 121
       alignment: 0
@@ -853,8 +870,8 @@ TextureImporter:
       name: "\u4E0A\u88637\uFF08\u7C89\uFF09"
       rect:
         serializedVersion: 2
-        x: 2237
-        y: 3053
+        x: 2055
+        y: 3073
         width: 180
         height: 111
       alignment: 0
@@ -979,8 +996,8 @@ TextureImporter:
       name: "\u978B\u5B5014-1"
       rect:
         serializedVersion: 2
-        x: 1797
-        y: 2813
+        x: 3997
+        y: 3383
         width: 66
         height: 134
       alignment: 0
@@ -993,8 +1010,8 @@ TextureImporter:
       name: "\u978B\u5B5015-1"
       rect:
         serializedVersion: 2
-        x: 4015
-        y: 3072
+        x: 1865
+        y: 2813
         width: 66
         height: 134
       alignment: 0
@@ -1007,8 +1024,8 @@ TextureImporter:
       name: "\u978B\u5B5015-2"
       rect:
         serializedVersion: 2
-        x: 3997
-        y: 3247
+        x: 648
+        y: 2721
         width: 66
         height: 134
       alignment: 0
@@ -1035,8 +1052,8 @@ TextureImporter:
       name: "\u4E0B\u886314b\u8774\u8776\u7ED3"
       rect:
         serializedVersion: 2
-        x: 3417
-        y: 3301
+        x: 3682
+        y: 3208
         width: 263
         height: 137
       alignment: 0
@@ -1063,8 +1080,8 @@ TextureImporter:
       name: "\u4E0B\u886314c\u8774\u8776\u7ED3"
       rect:
         serializedVersion: 2
-        x: 3682
-        y: 3208
+        x: 3417
+        y: 3301
         width: 263
         height: 137
       alignment: 0
@@ -1091,8 +1108,8 @@ TextureImporter:
       name: "\u978B\u5B5014a"
       rect:
         serializedVersion: 2
-        x: 1661
-        y: 2681
+        x: 1022
+        y: 2950
         width: 66
         height: 134
       alignment: 0
@@ -1102,11 +1119,11 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u978B\u5B5014c"
+      name: "\u978B\u5B5014b"
       rect:
         serializedVersion: 2
-        x: 3997
-        y: 3383
+        x: 1182
+        y: 3426
         width: 66
         height: 134
       alignment: 0
@@ -1217,8 +1234,8 @@ TextureImporter:
       name: "\u65B0\u978B\u5B5016"
       rect:
         serializedVersion: 2
-        x: 3572
-        y: 3165
+        x: 1661
+        y: 2817
         width: 66
         height: 134
       alignment: 0
@@ -1245,8 +1262,8 @@ TextureImporter:
       name: "\u4E0A\u8863-\u7F3A\u5931"
       rect:
         serializedVersion: 2
-        x: 1775
-        y: 2949
+        x: 1426
+        y: 2848
         width: 165
         height: 111
       alignment: 0
@@ -1256,20 +1273,6 @@ TextureImporter:
       physicsShape: []
       tessellationDetail: -1
     - serializedVersion: 2
-      name: "\u978B\u5B50-\u7F3A\u5931"
-      rect:
-        serializedVersion: 2
-        x: 1661
-        y: 2817
-        width: 66
-        height: 134
-      alignment: 0
-      pivot: {x: 0, y: 0}
-      border: {x: 0, y: 0, z: 0, w: 0}
-      outline: []
-      physicsShape: []
-      tessellationDetail: -1
-    - serializedVersion: 2
       name: "\u4E0B\u886314"
       rect:
         serializedVersion: 2
@@ -1301,8 +1304,8 @@ TextureImporter:
       name: "\u5934\u53D117-1\u540E"
       rect:
         serializedVersion: 2
-        x: 425
-        y: 3302
+        x: 1703
+        y: 3324
         width: 367
         height: 394
       alignment: 0
@@ -1315,8 +1318,8 @@ TextureImporter:
       name: "\u5934\u53D117-1_1"
       rect:
         serializedVersion: 2
-        x: 2
-        y: 3310
+        x: 871
+        y: 3698
         width: 421
         height: 396
       alignment: 0
@@ -1343,8 +1346,8 @@ TextureImporter:
       name: "\u5934\u53D117-2\u540E"
       rect:
         serializedVersion: 2
-        x: 1703
-        y: 3324
+        x: 425
+        y: 3302
         width: 367
         height: 394
       alignment: 0
@@ -1371,8 +1374,8 @@ TextureImporter:
       name: "\u5934\u53D117-3"
       rect:
         serializedVersion: 2
-        x: 871
-        y: 3698
+        x: 2
+        y: 3310
         width: 421
         height: 396
       alignment: 0

+ 1 - 1
Assets/Resource/Prefab/PrefabUI/Canvas.prefab

@@ -1028,7 +1028,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!1 &1053465316034782
 GameObject:
   m_ObjectHideFlags: 1

+ 51 - 51
Assets/Resource/XML/Config/ability_config.xml

@@ -1,114 +1,114 @@
-<data>
-  <item id="1" name="花园" class="1" class_id="1" coin_person="5" person="1" skill_cd="" unlock_lv="" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="5" unlock_pos="" upgrade_cur="1" upgrade_amnt="800" upgrade_fml="a*1.07" upgrade_plus="0.5%" upgrade_person="1.7%" upgrade_cd="" desc="每人次收入 金币[&amp;coin_person&amp;][lv],每分钟来访[&amp;person&amp;*60][lv]人" icon="红-公园" anim="" label="" />
-  <item id="2" name="缤纷彩虹" class="1" class_id="5" coin_person="" person="5%" skill_cd="" unlock_lv="5" unlock_ahead_cur="2" unlock_ahead_delta="1" unlock_ahead_minimun="200" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="2" upgrade_amnt="150" upgrade_fml="a" upgrade_plus="" upgrade_person="5%" upgrade_cd="" desc="每分钟增加[&amp;person&amp;*60][lv]人参观,永久有效" icon="红-彩虹" anim="Item,GardenRainbow" label="" />
-  <item id="3" name="玉树樱花" class="1" class_id="6" coin_person="5%" person="" skill_cd="" unlock_lv="35" unlock_ahead_cur="2" unlock_ahead_delta="1" unlock_ahead_minimun="300" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="2" upgrade_amnt="150" upgrade_fml="a" upgrade_plus="5%" upgrade_person="" upgrade_cd="" desc="每人次收入提升[&amp;coin_person&amp;][lv],永久有效" icon="红-樱花树" anim="Item,GardenRightTree,GardenLeftTree" label="" />
-  <item id="4" name="滴哩哩的小黄鹂" class="1" class_id="7" coin_person="" person="" skill_cd="5%" unlock_lv="110" unlock_ahead_cur="2" unlock_ahead_delta="1" unlock_ahead_minimun="500" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="2" upgrade_amnt="300" upgrade_fml="a" upgrade_plus="" upgrade_person="" upgrade_cd="5%" desc="技能冷却时间减少[&amp;skill_cd&amp;][lv],永久有效" icon="红-黄鹂鸟" anim="Item,BirdPivot" label="" />
-  <item id="5" name="黄色小蜜蜂" class="2" class_id="1" coin_person="2.07" person="" skill_cd="" unlock_lv="2" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="1" upgrade_amnt="1600" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-黄色蜜蜂" anim="Elf,Bee_Yellow" label="" />
-  <item id="6" name="紫色小蜜蜂" class="2" class_id="2" coin_person="2.96" person="" skill_cd="" unlock_lv="10" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="1600" unlock_pos="1" upgrade_cur="1" upgrade_amnt="3200" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-紫色蜜蜂" anim="Elf,Bee_Purple" label="" />
-  <item id="7" name="蓝色小蜜蜂" class="2" class_id="3" coin_person="5.34" person="" skill_cd="" unlock_lv="30" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="3200" unlock_pos="1" upgrade_cur="1" upgrade_amnt="6400" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-蓝色蜜蜂" anim="Elf,Bee_Blue" label="" />
-  <item id="8" name="红色小蜜蜂" class="2" class_id="4" coin_person="18.2" person="" skill_cd="" unlock_lv="80" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="6400" unlock_pos="1" upgrade_cur="1" upgrade_amnt="12800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-红色蜜蜂" anim="Elf,Bee_Red" label="" />
-  <item id="9" name="白色小蜜蜂" class="2" class_id="5" coin_person="49.05" person="" skill_cd="" unlock_lv="120" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="12800" unlock_pos="1" upgrade_cur="1" upgrade_amnt="25600" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-白色蜜蜂" anim="Elf,Bee_White" label="" />
-  <item id="10" name="黄色小蝴蝶" class="2" class_id="6" coin_person="3.68" person="" skill_cd="" unlock_lv="20" unlock_ahead_cur="2" unlock_ahead_delta="5" unlock_ahead_minimun="100" unlock_cur="" unlock_amnt="" unlock_pos="1" upgrade_cur="1" upgrade_amnt="12800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-黄蝴蝶" anim="Elf,Butterfly_Yellow" label="" />
-  <item id="11" name="紫色小蝴蝶" class="2" class_id="7" coin_person="8.27" person="" skill_cd="" unlock_lv="50" unlock_ahead_cur="2" unlock_ahead_delta="5" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="12800" unlock_pos="1" upgrade_cur="1" upgrade_amnt="25600" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-紫蝴蝶" anim="Elf,Butterfly_Purple" label="" />
-  <item id="12" name="蓝色小蝴蝶" class="2" class_id="8" coin_person="28.17" person="" skill_cd="" unlock_lv="100" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="25600" unlock_pos="1" upgrade_cur="1" upgrade_amnt="51200" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-蓝蝴蝶" anim="Elf,Butterfly_Blue" label="" />
-  <item id="13" name="红色小蝴蝶" class="2" class_id="9" coin_person="117.53" person="" skill_cd="" unlock_lv="160" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="51200" unlock_pos="1" upgrade_cur="1" upgrade_amnt="102400" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-红蝴蝶" anim="Elf,Butterfly_Red" label="" />
-  <item id="14" name="白色小蝴蝶" class="2" class_id="10" coin_person="620.69" person="" skill_cd="" unlock_lv="220" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="102400" unlock_pos="1" upgrade_cur="1" upgrade_amnt="204800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-白蝴蝶" anim="Elf,Butterfly_White" label="" />
-  <item id="15" name="黄色蜻蜓" class="2" class_id="11" coin_person="19.81" person="" skill_cd="" unlock_lv="90" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="" unlock_amnt="" unlock_pos="1" upgrade_cur="1" upgrade_amnt="102400" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="蜻蜓5" anim="Elf,Dragonfly_Yellow" label="" />
-  <item id="16" name="紫色蜻蜓" class="2" class_id="12" coin_person="67.49" person="" skill_cd="" unlock_lv="140" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="102400" unlock_pos="1" upgrade_cur="1" upgrade_amnt="204800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="蜻蜓2" anim="Elf,Dragonfly_Purple" label="" />
-  <item id="17" name="蓝色蜻蜓" class="2" class_id="13" coin_person="249.95" person="" skill_cd="" unlock_lv="190" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="204800" unlock_pos="1" upgrade_cur="1" upgrade_amnt="409600" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="蜻蜓1" anim="Elf,Dragonfly_Blue" label="" />
-  <item id="18" name="红色蜻蜓" class="2" class_id="14" coin_person="1061.02" person="" skill_cd="" unlock_lv="240" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="409600" unlock_pos="1" upgrade_cur="1" upgrade_amnt="819200" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="蜻蜓4" anim="Elf,Dragonfly_Red" label="" />
-  <item id="19" name="白色蜻蜓" class="2" class_id="15" coin_person="7622.18" person="" skill_cd="" unlock_lv="310" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="819200" unlock_pos="1" upgrade_cur="1" upgrade_amnt="1638400" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="蜻蜓" anim="Elf,Dragonfly_White" label="" />
-  <item id="20" name="黄色金龟子" class="2" class_id="16" coin_person="54.25" person="" skill_cd="" unlock_lv="130" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="" unlock_amnt="" unlock_pos="1" upgrade_cur="1" upgrade_amnt="819200" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="瓢虫1" anim="Elf,Beetle_Yellow" label="" />
-  <item id="21" name="紫色金龟子" class="2" class_id="17" coin_person="326.79" person="" skill_cd="" unlock_lv="200" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="819200" unlock_pos="1" upgrade_cur="1" upgrade_amnt="1638400" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="瓢虫4" anim="Elf,Beetle_Purple" label="" />
-  <item id="22" name="蓝色金龟子" class="2" class_id="18" coin_person="2371.34" person="" skill_cd="" unlock_lv="270" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="1638400" unlock_pos="1" upgrade_cur="1" upgrade_amnt="3276800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="瓢虫2" anim="Elf,Beetle_Blue" label="" />
-  <item id="23" name="红色金龟子" class="2" class_id="19" coin_person="17035.26" person="" skill_cd="" unlock_lv="340" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="3276800" unlock_pos="1" upgrade_cur="1" upgrade_amnt="6553600" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="瓢虫" anim="Elf,Beetle_Red" label="" />
-  <item id="24" name="白色金龟子" class="2" class_id="20" coin_person="121366.87" person="" skill_cd="" unlock_lv="410" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="6553600" unlock_pos="1" upgrade_cur="1" upgrade_amnt="13107200" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="瓢虫3" anim="Elf,Beetle_White" label="" />
-  <comment>
+<data>
+  <item id="1" name="花园" class="1" class_id="1" coin_person="5" person="1" skill_cd="" unlock_lv="" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="5" unlock_pos="" upgrade_cur="1" upgrade_amnt="800" upgrade_fml="a*1.07" upgrade_plus="0.5%" upgrade_person="1.7%" upgrade_cd="" desc="每人次收入 金币[&amp;coin_person&amp;][lv],每分钟来访[&amp;person&amp;*60][lv]人" icon="红-公园" anim="" label="" />
+  <item id="2" name="缤纷彩虹" class="1" class_id="5" coin_person="" person="5%" skill_cd="" unlock_lv="5" unlock_ahead_cur="2" unlock_ahead_delta="1" unlock_ahead_minimun="200" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="2" upgrade_amnt="150" upgrade_fml="a" upgrade_plus="" upgrade_person="5%" upgrade_cd="" desc="每分钟增加[&amp;person&amp;*60][lv]人参观,永久有效" icon="红-彩虹" anim="Item,GardenRainbow" label="" />
+  <item id="3" name="玉树樱花" class="1" class_id="6" coin_person="5%" person="" skill_cd="" unlock_lv="35" unlock_ahead_cur="2" unlock_ahead_delta="1" unlock_ahead_minimun="300" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="2" upgrade_amnt="150" upgrade_fml="a" upgrade_plus="5%" upgrade_person="" upgrade_cd="" desc="每人次收入提升[&amp;coin_person&amp;][lv],永久有效" icon="红-樱花树" anim="Item,GardenRightTree,GardenLeftTree" label="" />
+  <item id="4" name="滴哩哩的小黄鹂" class="1" class_id="7" coin_person="" person="" skill_cd="5%" unlock_lv="110" unlock_ahead_cur="2" unlock_ahead_delta="1" unlock_ahead_minimun="500" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="2" upgrade_amnt="300" upgrade_fml="a" upgrade_plus="" upgrade_person="" upgrade_cd="5%" desc="技能冷却时间减少[&amp;skill_cd&amp;][lv],永久有效" icon="红-黄鹂鸟" anim="Item,BirdPivot" label="" />
+  <item id="5" name="黄色小蜜蜂" class="2" class_id="1" coin_person="2.07" person="" skill_cd="" unlock_lv="2" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="1" upgrade_amnt="1600" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-黄色蜜蜂" anim="Elf,Bee_Yellow" label="" />
+  <item id="6" name="紫色小蜜蜂" class="2" class_id="2" coin_person="2.96" person="" skill_cd="" unlock_lv="10" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="1600" unlock_pos="1" upgrade_cur="1" upgrade_amnt="3200" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-紫色蜜蜂" anim="Elf,Bee_Purple" label="" />
+  <item id="7" name="蓝色小蜜蜂" class="2" class_id="3" coin_person="5.34" person="" skill_cd="" unlock_lv="30" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="3200" unlock_pos="1" upgrade_cur="1" upgrade_amnt="6400" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-蓝色蜜蜂" anim="Elf,Bee_Blue" label="" />
+  <item id="8" name="红色小蜜蜂" class="2" class_id="4" coin_person="18.2" person="" skill_cd="" unlock_lv="80" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="6400" unlock_pos="1" upgrade_cur="1" upgrade_amnt="12800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-红色蜜蜂" anim="Elf,Bee_Red" label="" />
+  <item id="9" name="白色小蜜蜂" class="2" class_id="5" coin_person="49.05" person="" skill_cd="" unlock_lv="120" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="12800" unlock_pos="1" upgrade_cur="1" upgrade_amnt="25600" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-白色蜜蜂" anim="Elf,Bee_White" label="" />
+  <item id="10" name="黄色小蝴蝶" class="2" class_id="6" coin_person="3.68" person="" skill_cd="" unlock_lv="20" unlock_ahead_cur="2" unlock_ahead_delta="5" unlock_ahead_minimun="100" unlock_cur="" unlock_amnt="" unlock_pos="1" upgrade_cur="1" upgrade_amnt="12800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-黄蝴蝶" anim="Elf,Butterfly_Yellow" label="" />
+  <item id="11" name="紫色小蝴蝶" class="2" class_id="7" coin_person="8.27" person="" skill_cd="" unlock_lv="50" unlock_ahead_cur="2" unlock_ahead_delta="5" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="12800" unlock_pos="1" upgrade_cur="1" upgrade_amnt="25600" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-紫蝴蝶" anim="Elf,Butterfly_Purple" label="" />
+  <item id="12" name="蓝色小蝴蝶" class="2" class_id="8" coin_person="28.17" person="" skill_cd="" unlock_lv="100" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="25600" unlock_pos="1" upgrade_cur="1" upgrade_amnt="51200" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-蓝蝴蝶" anim="Elf,Butterfly_Blue" label="" />
+  <item id="13" name="红色小蝴蝶" class="2" class_id="9" coin_person="117.53" person="" skill_cd="" unlock_lv="160" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="51200" unlock_pos="1" upgrade_cur="1" upgrade_amnt="102400" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-红蝴蝶" anim="Elf,Butterfly_Red" label="" />
+  <item id="14" name="白色小蝴蝶" class="2" class_id="10" coin_person="620.69" person="" skill_cd="" unlock_lv="220" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="102400" unlock_pos="1" upgrade_cur="1" upgrade_amnt="204800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-白蝴蝶" anim="Elf,Butterfly_White" label="" />
+  <item id="15" name="黄色蜻蜓" class="2" class_id="11" coin_person="19.81" person="" skill_cd="" unlock_lv="90" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="" unlock_amnt="" unlock_pos="1" upgrade_cur="1" upgrade_amnt="102400" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="蜻蜓5" anim="Elf,Dragonfly_Yellow" label="" />
+  <item id="16" name="紫色蜻蜓" class="2" class_id="12" coin_person="67.49" person="" skill_cd="" unlock_lv="140" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="102400" unlock_pos="1" upgrade_cur="1" upgrade_amnt="204800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="蜻蜓2" anim="Elf,Dragonfly_Purple" label="" />
+  <item id="17" name="蓝色蜻蜓" class="2" class_id="13" coin_person="249.95" person="" skill_cd="" unlock_lv="190" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="204800" unlock_pos="1" upgrade_cur="1" upgrade_amnt="409600" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="蜻蜓1" anim="Elf,Dragonfly_Blue" label="" />
+  <item id="18" name="红色蜻蜓" class="2" class_id="14" coin_person="1061.02" person="" skill_cd="" unlock_lv="240" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="409600" unlock_pos="1" upgrade_cur="1" upgrade_amnt="819200" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="蜻蜓4" anim="Elf,Dragonfly_Red" label="" />
+  <item id="19" name="白色蜻蜓" class="2" class_id="15" coin_person="7622.18" person="" skill_cd="" unlock_lv="310" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="819200" unlock_pos="1" upgrade_cur="1" upgrade_amnt="1638400" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="蜻蜓" anim="Elf,Dragonfly_White" label="" />
+  <item id="20" name="黄色金龟子" class="2" class_id="16" coin_person="54.25" person="" skill_cd="" unlock_lv="130" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="" unlock_amnt="" unlock_pos="1" upgrade_cur="1" upgrade_amnt="819200" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="瓢虫1" anim="Elf,Beetle_Yellow" label="" />
+  <item id="21" name="紫色金龟子" class="2" class_id="17" coin_person="326.79" person="" skill_cd="" unlock_lv="200" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="819200" unlock_pos="1" upgrade_cur="1" upgrade_amnt="1638400" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="瓢虫4" anim="Elf,Beetle_Purple" label="" />
+  <item id="22" name="蓝色金龟子" class="2" class_id="18" coin_person="2371.34" person="" skill_cd="" unlock_lv="270" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="1638400" unlock_pos="1" upgrade_cur="1" upgrade_amnt="3276800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="瓢虫2" anim="Elf,Beetle_Blue" label="" />
+  <item id="23" name="红色金龟子" class="2" class_id="19" coin_person="17035.26" person="" skill_cd="" unlock_lv="340" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="3276800" unlock_pos="1" upgrade_cur="1" upgrade_amnt="6553600" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="瓢虫" anim="Elf,Beetle_Red" label="" />
+  <item id="24" name="白色金龟子" class="2" class_id="20" coin_person="121366.87" person="" skill_cd="" unlock_lv="410" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="1" unlock_amnt="6553600" unlock_pos="1" upgrade_cur="1" upgrade_amnt="13107200" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="瓢虫3" anim="Elf,Beetle_White" label="" />
+  <comment>
     <id>
 id
-</id>
+</id>
     <name>
 名称
-</name>
+</name>
     <class>
 所属类别
-</class>
+</class>
     <class_id>
 所属
 类别序号
-</class_id>
+</class_id>
     <coin_person>
 每人次收入
 基础值
-</coin_person>
+</coin_person>
     <person>
 每秒参观数
 基础值
-</person>
+</person>
     <skill_cd>
 技能冷却
-</skill_cd>
+</skill_cd>
     <unlock_lv>
 解锁等级
-</unlock_lv>
+</unlock_lv>
     <unlock_ahead_cur>
 提前解锁
 消耗货币
-</unlock_ahead_cur>
+</unlock_ahead_cur>
     <unlock_ahead_delta>
 提前解锁每一级增加值
-</unlock_ahead_delta>
+</unlock_ahead_delta>
     <unlock_ahead_minimun>
 提前解锁
 消耗最小值
-</unlock_ahead_minimun>
+</unlock_ahead_minimun>
     <unlock_cur>
 解锁
 消耗货币
-</unlock_cur>
+</unlock_cur>
     <unlock_amnt>
 解锁
 消耗数值
-</unlock_amnt>
+</unlock_amnt>
     <unlock_pos>
 解锁
 开启位置数
-</unlock_pos>
+</unlock_pos>
     <upgrade_cur>
 升级
 消耗货币
-</upgrade_cur>
+</upgrade_cur>
     <upgrade_amnt>
 升级
 消耗基础值
-</upgrade_amnt>
+</upgrade_amnt>
     <upgrade_fml>
 升级
 消耗公式
-</upgrade_fml>
+</upgrade_fml>
     <upgrade_plus>
 升级
 收入加成
-</upgrade_plus>
+</upgrade_plus>
     <upgrade_person>
 升级
 参观数加成
-</upgrade_person>
+</upgrade_person>
     <upgrade_cd>
 升级
 冷却加成
-</upgrade_cd>
+</upgrade_cd>
     <desc>
 描述
-</desc>
+</desc>
     <icon>
 图标
-</icon>
+</icon>
     <anim>
 场景物件
-</anim>
+</anim>
     <label>
 标签
-</label>
-  </comment>
+</label>
+  </comment>
 </data>

+ 137 - 137
Assets/Resource/XML/Config/achieve_config.xml

@@ -1,162 +1,162 @@
-<data>
-  <item id="1" index="1" name="美丽花园-1" desc="花园等级达到 30" type="1" value="15" parent="" del="1" diamond_once="15" coin_person="" person="" icon="红-公园" />
-  <item id="2" index="1" name="美丽花园-2" desc="花园等级达到 50" type="1" value="30" parent="1" del="1" diamond_once="20" coin_person="" person="" icon="红-公园" />
-  <item id="3" index="1" name="美丽花园-3" desc="花园等级达到 100" type="1" value="50" parent="2" del="1" diamond_once="35" coin_person="" person="" icon="红-公园" />
-  <item id="4" index="1" name="美丽花园-4" desc="花园等级达到 200" type="1" value="100" parent="3" del="1" diamond_once="50" coin_person="" person="" icon="红-公园" />
-  <item id="5" index="1" name="美丽花园-5" desc="花园等级达到 300" type="1" value="250" parent="4" del="1" diamond_once="65" coin_person="" person="" icon="红-公园" />
-  <item id="6" index="1" name="美丽花园-6" desc="花园等级达到 400" type="1" value="400" parent="5" del="0" diamond_once="80" coin_person="" person="" icon="红-公园" />
-  <item id="21" index="2" name="鼓鼓的钱包-1" desc="拥有1000金币" type="2" value="3000" parent="" del="1" diamond_once="10" coin_person="" person="" icon="绿-免费金币" />
-  <item id="22" index="2" name="鼓鼓的钱包-2" desc="拥有2000金币" type="2" value="50000" parent="21" del="1" diamond_once="15" coin_person="" person="" icon="绿-免费金币" />
-  <item id="23" index="2" name="鼓鼓的钱包-3" desc="拥有3000金币" type="2" value="1000000" parent="22" del="1" diamond_once="20" coin_person="" person="" icon="绿-免费金币" />
-  <item id="24" index="2" name="鼓鼓的钱包-4" desc="拥有5000金币" type="2" value="100000000" parent="23" del="1" diamond_once="25" coin_person="" person="" icon="绿-免费金币" />
-  <item id="25" index="2" name="鼓鼓的钱包-5" desc="拥有8000金币" type="2" value="5000000000" parent="24" del="1" diamond_once="40" coin_person="" person="" icon="绿-免费金币" />
-  <item id="26" index="2" name="鼓鼓的钱包-6" desc="拥有10000金币" type="2" value="50000000000" parent="25" del="0" diamond_once="50" coin_person="" person="" icon="绿-免费金币" />
-  <item id="41" index="3" name="精明的商人-1" desc="总共获取3000金币" type="3" value="10000" parent="" del="1" diamond_once="15" coin_person="" person="" icon="4大技能2" />
-  <item id="42" index="3" name="精明的商人-2" desc="总共获取8000金币" type="3" value="100000000" parent="41" del="1" diamond_once="20" coin_person="" person="" icon="4大技能2" />
-  <item id="43" index="3" name="精明的商人-3" desc="总共获取15000金币" type="3" value="10000000000" parent="42" del="1" diamond_once="35" coin_person="" person="" icon="4大技能2" />
-  <item id="44" index="3" name="精明的商人-4" desc="总共获取30000金币" type="3" value="5000000000000" parent="43" del="1" diamond_once="50" coin_person="" person="" icon="4大技能2" />
-  <item id="45" index="3" name="精明的商人-5" desc="总共获取50000金币" type="3" value="500000000000000" parent="44" del="1" diamond_once="65" coin_person="" person="" icon="4大技能2" />
-  <item id="46" index="3" name="精明的商人-6" desc="总共获取80000金币" type="3" value="5E+16" parent="45" del="0" diamond_once="80" coin_person="" person="" icon="4大技能2" />
-  <item id="61" index="4" name="花仙子-1" desc="所有精灵等级总和达到10级" type="4" value="10" parent="" del="1" diamond_once="15" coin_person="" person="" icon="蓝-高级包" />
-  <item id="62" index="4" name="花仙子-2" desc="所有精灵等级总和达到50级" type="4" value="30" parent="61" del="1" diamond_once="20" coin_person="" person="" icon="蓝-高级包" />
-  <item id="63" index="4" name="花仙子-3" desc="所有精灵等级总和达到100级" type="4" value="50" parent="62" del="1" diamond_once="35" coin_person="" person="" icon="蓝-高级包" />
-  <item id="64" index="4" name="花仙子-4" desc="所有精灵等级总和达到180级" type="4" value="100" parent="63" del="1" diamond_once="50" coin_person="" person="" icon="蓝-高级包" />
-  <item id="65" index="4" name="花仙子-5" desc="所有精灵等级总和达到400级" type="4" value="500" parent="64" del="1" diamond_once="65" coin_person="" person="" icon="蓝-高级包" />
-  <item id="66" index="4" name="花仙子-6" desc="所有精灵等级总和达到800级" type="4" value="1000" parent="65" del="0" diamond_once="80" coin_person="" person="" icon="蓝-高级包" />
-  <item id="81" index="5" name="百花争艳-1" desc="花朵数量达到1" type="5" value="1" parent="" del="1" diamond_once="10" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="82" index="5" name="百花争艳-2" desc="花朵数量达到3" type="5" value="3" parent="81" del="1" diamond_once="15" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="83" index="5" name="百花争艳-3" desc="花朵数量达到5" type="5" value="5" parent="82" del="1" diamond_once="20" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="84" index="5" name="百花争艳-4" desc="花朵数量达到10" type="5" value="10" parent="83" del="1" diamond_once="25" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="85" index="5" name="百花争艳-5" desc="花朵数量达到20" type="5" value="20" parent="84" del="1" diamond_once="40" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="86" index="5" name="百花争艳-6" desc="花朵数量达到40" type="5" value="40" parent="85" del="0" diamond_once="50" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="101" index="6" name="人山人海-1" desc="参观人次总数达到500" type="6" value="1000" parent="" del="1" diamond_once="10" coin_person="" person="" icon="4大技能1" />
-  <item id="102" index="6" name="人山人海-2" desc="参观人次总数达到2000" type="6" value="5000000" parent="101" del="1" diamond_once="15" coin_person="" person="" icon="4大技能1" />
-  <item id="103" index="6" name="人山人海-3" desc="参观人次总数达到10000" type="6" value="5000000000" parent="102" del="1" diamond_once="20" coin_person="" person="" icon="4大技能1" />
-  <item id="104" index="6" name="人山人海-4" desc="参观人次总数达到50000" type="6" value="1000000000000" parent="103" del="1" diamond_once="25" coin_person="" person="" icon="4大技能1" />
-  <item id="105" index="6" name="人山人海-5" desc="参观人次总数达到150000" type="6" value="500000000000000" parent="104" del="1" diamond_once="40" coin_person="" person="" icon="4大技能1" />
-  <item id="106" index="6" name="人山人海-6" desc="参观人次总数达到300000" type="6" value="5E+17" parent="105" del="0" diamond_once="50" coin_person="" person="" icon="4大技能1" />
-  <item id="121" index="7" name="技能大师-1" desc="使用技能5次" type="7" value="5" parent="" del="1" diamond_once="15" coin_person="" person="" icon="红-黄鹂鸟" />
-  <item id="122" index="7" name="技能大师-2" desc="使用技能10次" type="7" value="30" parent="121" del="1" diamond_once="20" coin_person="" person="" icon="红-黄鹂鸟" />
-  <item id="123" index="7" name="技能大师-3" desc="使用技能20次" type="7" value="80" parent="122" del="1" diamond_once="35" coin_person="" person="" icon="红-黄鹂鸟" />
-  <item id="124" index="7" name="技能大师-4" desc="使用技能50次" type="7" value="200" parent="123" del="1" diamond_once="50" coin_person="" person="" icon="红-黄鹂鸟" />
-  <item id="125" index="7" name="技能大师-5" desc="使用技能150次" type="7" value="350" parent="124" del="1" diamond_once="65" coin_person="" person="" icon="红-黄鹂鸟" />
-  <item id="126" index="7" name="技能大师-6" desc="使用技能250次" type="7" value="500" parent="125" del="0" diamond_once="80" coin_person="" person="" icon="红-黄鹂鸟" />
-  <item id="141" index="8" name="鉴赏大师-1" desc="观看2次广告" type="8" value="2" parent="" del="1" diamond_once="15" coin_person="" person="" icon="蓝-免费钻" />
-  <item id="142" index="8" name="鉴赏大师-2" desc="观看5次广告" type="8" value="5" parent="141" del="1" diamond_once="20" coin_person="" person="" icon="蓝-免费钻" />
-  <item id="143" index="8" name="鉴赏大师-3" desc="观看10次广告" type="8" value="10" parent="142" del="1" diamond_once="35" coin_person="" person="" icon="蓝-免费钻" />
-  <item id="144" index="8" name="鉴赏大师-4" desc="观看15次广告" type="8" value="45" parent="143" del="1" diamond_once="50" coin_person="" person="" icon="蓝-免费钻" />
-  <item id="145" index="8" name="鉴赏大师-5" desc="观看25次广告" type="8" value="100" parent="144" del="1" diamond_once="65" coin_person="" person="" icon="蓝-免费钻" />
-  <item id="146" index="8" name="鉴赏大师-6" desc="观看40次广告" type="8" value="180" parent="145" del="0" diamond_once="80" coin_person="" person="" icon="蓝-免费钻" />
-  <item id="161" index="9" name="按时打卡-1" desc="签到5次" type="9" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="红-彩虹" />
-  <item id="162" index="9" name="按时打卡-2" desc="签到10次" type="9" value="10" parent="161" del="1" diamond_once="15" coin_person="" person="" icon="红-彩虹" />
-  <item id="163" index="9" name="按时打卡-3" desc="签到15次" type="9" value="25" parent="162" del="1" diamond_once="20" coin_person="" person="" icon="红-彩虹" />
-  <item id="164" index="9" name="按时打卡-4" desc="签到25次" type="9" value="50" parent="163" del="1" diamond_once="25" coin_person="" person="" icon="红-彩虹" />
-  <item id="165" index="9" name="按时打卡-5" desc="签到35次" type="9" value="85" parent="164" del="1" diamond_once="40" coin_person="" person="" icon="红-彩虹" />
-  <item id="166" index="9" name="按时打卡-6" desc="签到50次" type="9" value="150" parent="165" del="0" diamond_once="50" coin_person="" person="" icon="红-彩虹" />
-  <item id="181" index="10" name="乐于分享-1" desc="分享1次" type="10" value="1" parent="" del="1" diamond_once="10" coin_person="" person="" icon="红-樱花树" />
-  <item id="182" index="10" name="乐于分享-2" desc="分享5次" type="10" value="5" parent="181" del="1" diamond_once="15" coin_person="" person="" icon="红-樱花树" />
-  <item id="183" index="10" name="乐于分享-3" desc="分享10次" type="10" value="10" parent="182" del="1" diamond_once="20" coin_person="" person="" icon="红-樱花树" />
-  <item id="184" index="10" name="乐于分享-4" desc="分享15次" type="10" value="15" parent="183" del="1" diamond_once="25" coin_person="" person="" icon="红-樱花树" />
-  <item id="185" index="10" name="乐于分享-5" desc="分享25次" type="10" value="25" parent="184" del="1" diamond_once="40" coin_person="" person="" icon="红-樱花树" />
-  <item id="186" index="10" name="乐于分享-6" desc="分享40次" type="10" value="40" parent="185" del="1" diamond_once="50" coin_person="" person="" icon="红-樱花树" />
-  <item id="187" index="10" name="乐于分享-7" desc="" type="10" value="80" parent="186" del="1" diamond_once="65" coin_person="" person="" icon="红-樱花树" />
-  <item id="188" index="10" name="乐于分享-8" desc="" type="10" value="120" parent="187" del="0" diamond_once="80" coin_person="" person="" icon="红-樱花树" />
-  <item id="201" index="11" name="辛勤的花匠-1" desc="完成小游戏5次" type="11" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="黄-黄色蜜蜂" />
-  <item id="202" index="11" name="辛勤的花匠-2" desc="完成小游戏10次" type="11" value="10" parent="201" del="1" diamond_once="15" coin_person="" person="" icon="黄-黄色蜜蜂" />
-  <item id="203" index="11" name="辛勤的花匠-3" desc="完成小游戏30次" type="11" value="50" parent="202" del="1" diamond_once="20" coin_person="" person="" icon="黄-黄色蜜蜂" />
-  <item id="204" index="11" name="辛勤的花匠-4" desc="完成小游戏50次" type="11" value="100" parent="203" del="1" diamond_once="25" coin_person="" person="" icon="黄-黄色蜜蜂" />
-  <item id="205" index="11" name="辛勤的花匠-5" desc="完成小游戏100次" type="11" value="500" parent="204" del="1" diamond_once="40" coin_person="" person="" icon="黄-黄色蜜蜂" />
-  <item id="206" index="11" name="辛勤的花匠-6" desc="完成小游戏200次" type="11" value="1000" parent="205" del="0" diamond_once="50" coin_person="" person="" icon="黄-黄色蜜蜂" />
-  <item id="221" index="12" name="积少成多-1" desc="收集花园里的金币50次" type="12" value="50" parent="" del="1" diamond_once="10" coin_person="" person="" icon="绿-金币包3" />
-  <item id="222" index="12" name="积少成多-2" desc="收集花园里的金币100次" type="12" value="100" parent="221" del="1" diamond_once="15" coin_person="" person="" icon="绿-金币包3" />
-  <item id="223" index="12" name="积少成多-3" desc="收集花园里的金币300次" type="12" value="450" parent="222" del="1" diamond_once="20" coin_person="" person="" icon="绿-金币包3" />
-  <item id="224" index="12" name="积少成多-4" desc="收集花园里的金币600次" type="12" value="1000" parent="223" del="1" diamond_once="25" coin_person="" person="" icon="绿-金币包3" />
-  <item id="225" index="12" name="积少成多-5" desc="收集花园里的金币1000次" type="12" value="5000" parent="224" del="1" diamond_once="40" coin_person="" person="" icon="绿-金币包3" />
-  <item id="226" index="12" name="积少成多-6" desc="收集花园里的金币2500次" type="12" value="10000" parent="225" del="0" diamond_once="50" coin_person="" person="" icon="绿-金币包3" />
-  <item id="241" index="13" name="花费的钻石-1" desc="" type="13" value="500" parent="" del="1" diamond_once="10" coin_person="" person="" icon="蓝-大量钻石" />
-  <item id="242" index="13" name="花费的钻石-2" desc="" type="13" value="1500" parent="241" del="1" diamond_once="15" coin_person="" person="" icon="蓝-大量钻石" />
-  <item id="243" index="13" name="花费的钻石-3" desc="" type="13" value="5000" parent="242" del="1" diamond_once="20" coin_person="" person="" icon="蓝-大量钻石" />
-  <item id="244" index="13" name="花费的钻石-4" desc="" type="13" value="10000" parent="243" del="1" diamond_once="25" coin_person="" person="" icon="蓝-大量钻石" />
-  <item id="245" index="13" name="花费的钻石-5" desc="" type="13" value="50000" parent="244" del="1" diamond_once="40" coin_person="" person="" icon="蓝-大量钻石" />
-  <item id="246" index="13" name="花费的钻石-6" desc="" type="13" value="500000" parent="245" del="0" diamond_once="50" coin_person="" person="" icon="蓝-大量钻石" />
-  <item id="261" index="14" name="拥有的服装-1" desc="" type="14" value="9" parent="" del="1" diamond_once="10" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="262" index="14" name="拥有的服装-2" desc="" type="14" value="15" parent="261" del="1" diamond_once="15" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="263" index="14" name="拥有的服装-3" desc="" type="14" value="30" parent="262" del="1" diamond_once="20" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="264" index="14" name="拥有的服装-4" desc="" type="14" value="60" parent="263" del="1" diamond_once="25" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="265" index="14" name="拥有的服装-5" desc="" type="14" value="90" parent="264" del="1" diamond_once="40" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="266" index="14" name="拥有的服装-6" desc="" type="14" value="120" parent="265" del="0" diamond_once="50" coin_person="" person="" icon="绿-繁花似锦" />
-  <item id="281" index="15" name="派对狂人-1" desc="" type="15" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="派对图标1" />
-  <item id="282" index="15" name="派对狂人-2" desc="" type="15" value="10" parent="281" del="1" diamond_once="15" coin_person="" person="" icon="派对图标1" />
-  <item id="283" index="15" name="派对狂人-3" desc="" type="15" value="100" parent="282" del="1" diamond_once="20" coin_person="" person="" icon="派对图标1" />
-  <item id="284" index="15" name="派对狂人-4" desc="" type="15" value="5000" parent="283" del="1" diamond_once="25" coin_person="" person="" icon="派对图标1" />
-  <item id="285" index="15" name="派对狂人-5" desc="" type="15" value="10000" parent="284" del="1" diamond_once="40" coin_person="" person="" icon="派对图标1" />
-  <item id="286" index="15" name="派对狂人-6" desc="" type="15" value="500000" parent="285" del="0" diamond_once="50" coin_person="" person="" icon="派对图标1" />
-  <item id="301" index="16" name="阔气老板-1" desc="" type="16" value="20" parent="" del="1" diamond_once="10" coin_person="" person="" icon="系统宝箱" />
-  <item id="302" index="16" name="阔气老板-2" desc="" type="16" value="200" parent="301" del="1" diamond_once="15" coin_person="" person="" icon="系统宝箱" />
-  <item id="303" index="16" name="阔气老板-3" desc="" type="16" value="2000" parent="302" del="1" diamond_once="20" coin_person="" person="" icon="系统宝箱" />
-  <item id="304" index="16" name="阔气老板-4" desc="" type="16" value="50000" parent="303" del="1" diamond_once="25" coin_person="" person="" icon="系统宝箱" />
-  <item id="305" index="16" name="阔气老板-5" desc="" type="16" value="200000" parent="304" del="1" diamond_once="40" coin_person="" person="" icon="系统宝箱" />
-  <item id="306" index="16" name="阔气老板-6" desc="" type="16" value="5000000" parent="305" del="0" diamond_once="50" coin_person="" person="" icon="系统宝箱" />
-  <item id="321" index="17" name="快来抢-1" desc="" type="17" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="钻石宝箱" />
-  <item id="322" index="17" name="快来抢-2" desc="" type="17" value="50" parent="321" del="1" diamond_once="15" coin_person="" person="" icon="钻石宝箱" />
-  <item id="323" index="17" name="快来抢-3" desc="" type="17" value="500" parent="322" del="1" diamond_once="20" coin_person="" person="" icon="钻石宝箱" />
-  <item id="324" index="17" name="快来抢-4" desc="" type="17" value="10000" parent="323" del="1" diamond_once="25" coin_person="" person="" icon="钻石宝箱" />
-  <item id="325" index="17" name="快来抢-5" desc="" type="17" value="500000" parent="324" del="1" diamond_once="40" coin_person="" person="" icon="钻石宝箱" />
-  <item id="326" index="17" name="快来抢-6" desc="" type="17" value="1000000" parent="325" del="0" diamond_once="50" coin_person="" person="" icon="钻石宝箱" />
-  <item id="341" index="18" name="花秘人-1" desc="" type="18" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="花朵宝箱" />
-  <item id="342" index="18" name="花秘人-2" desc="" type="18" value="50" parent="341" del="1" diamond_once="15" coin_person="" person="" icon="花朵宝箱" />
-  <item id="343" index="18" name="花秘人-3" desc="" type="18" value="500" parent="342" del="1" diamond_once="20" coin_person="" person="" icon="花朵宝箱" />
-  <item id="344" index="18" name="花秘人-4" desc="" type="18" value="10000" parent="343" del="1" diamond_once="25" coin_person="" person="" icon="花朵宝箱" />
-  <item id="345" index="18" name="花秘人-5" desc="" type="18" value="500000" parent="344" del="1" diamond_once="40" coin_person="" person="" icon="花朵宝箱" />
-  <item id="346" index="18" name="花秘人-6" desc="" type="18" value="1000000" parent="345" del="0" diamond_once="50" coin_person="" person="" icon="花朵宝箱" />
-  <item id="361" index="19" name="经济学-1" desc="" type="19" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="数字宝箱" />
-  <item id="362" index="19" name="经济学-2" desc="" type="19" value="50" parent="361" del="1" diamond_once="15" coin_person="" person="" icon="数字宝箱" />
-  <item id="363" index="19" name="经济学-3" desc="" type="19" value="500" parent="362" del="1" diamond_once="20" coin_person="" person="" icon="数字宝箱" />
-  <item id="364" index="19" name="经济学-4" desc="" type="19" value="10000" parent="363" del="1" diamond_once="25" coin_person="" person="" icon="数字宝箱" />
-  <item id="365" index="19" name="经济学-5" desc="" type="19" value="500000" parent="364" del="1" diamond_once="40" coin_person="" person="" icon="数字宝箱" />
-  <item id="366" index="19" name="经济学-6" desc="" type="19" value="1000000" parent="365" del="0" diamond_once="50" coin_person="" person="" icon="数字宝箱" />
-  <item id="381" index="20" name="红包达人-1" desc="" type="20" value="30" parent="" del="1" diamond_once="10" coin_person="" person="" icon="系统宝箱" />
-  <item id="382" index="20" name="红包达人-2" desc="" type="20" value="500" parent="381" del="1" diamond_once="15" coin_person="" person="" icon="系统宝箱" />
-  <item id="383" index="20" name="红包达人-3" desc="" type="20" value="50000" parent="382" del="1" diamond_once="20" coin_person="" person="" icon="系统宝箱" />
-  <item id="384" index="20" name="红包达人-4" desc="" type="20" value="1000000" parent="383" del="1" diamond_once="25" coin_person="" person="" icon="系统宝箱" />
-  <item id="385" index="20" name="红包达人-5" desc="" type="20" value="500000000" parent="384" del="1" diamond_once="40" coin_person="" person="" icon="系统宝箱" />
-  <item id="386" index="20" name="红包达人-6" desc="" type="20" value="10000000000" parent="385" del="0" diamond_once="50" coin_person="" person="" icon="系统宝箱" />
-  <comment>
+<data>
+  <item id="1" index="1" name="美丽花园-1" desc="花园等级达到 30" type="1" value="15" parent="" del="1" diamond_once="15" coin_person="" person="" icon="红-公园" />
+  <item id="2" index="1" name="美丽花园-2" desc="花园等级达到 50" type="1" value="30" parent="1" del="1" diamond_once="20" coin_person="" person="" icon="红-公园" />
+  <item id="3" index="1" name="美丽花园-3" desc="花园等级达到 100" type="1" value="50" parent="2" del="1" diamond_once="35" coin_person="" person="" icon="红-公园" />
+  <item id="4" index="1" name="美丽花园-4" desc="花园等级达到 200" type="1" value="100" parent="3" del="1" diamond_once="50" coin_person="" person="" icon="红-公园" />
+  <item id="5" index="1" name="美丽花园-5" desc="花园等级达到 300" type="1" value="250" parent="4" del="1" diamond_once="65" coin_person="" person="" icon="红-公园" />
+  <item id="6" index="1" name="美丽花园-6" desc="花园等级达到 400" type="1" value="400" parent="5" del="0" diamond_once="80" coin_person="" person="" icon="红-公园" />
+  <item id="21" index="2" name="鼓鼓的钱包-1" desc="拥有1000金币" type="2" value="3000" parent="" del="1" diamond_once="10" coin_person="" person="" icon="绿-免费金币" />
+  <item id="22" index="2" name="鼓鼓的钱包-2" desc="拥有2000金币" type="2" value="50000" parent="21" del="1" diamond_once="15" coin_person="" person="" icon="绿-免费金币" />
+  <item id="23" index="2" name="鼓鼓的钱包-3" desc="拥有3000金币" type="2" value="1000000" parent="22" del="1" diamond_once="20" coin_person="" person="" icon="绿-免费金币" />
+  <item id="24" index="2" name="鼓鼓的钱包-4" desc="拥有5000金币" type="2" value="100000000" parent="23" del="1" diamond_once="25" coin_person="" person="" icon="绿-免费金币" />
+  <item id="25" index="2" name="鼓鼓的钱包-5" desc="拥有8000金币" type="2" value="5000000000" parent="24" del="1" diamond_once="40" coin_person="" person="" icon="绿-免费金币" />
+  <item id="26" index="2" name="鼓鼓的钱包-6" desc="拥有10000金币" type="2" value="50000000000" parent="25" del="0" diamond_once="50" coin_person="" person="" icon="绿-免费金币" />
+  <item id="41" index="3" name="精明的商人-1" desc="总共获取3000金币" type="3" value="10000" parent="" del="1" diamond_once="15" coin_person="" person="" icon="4大技能2" />
+  <item id="42" index="3" name="精明的商人-2" desc="总共获取8000金币" type="3" value="100000000" parent="41" del="1" diamond_once="20" coin_person="" person="" icon="4大技能2" />
+  <item id="43" index="3" name="精明的商人-3" desc="总共获取15000金币" type="3" value="10000000000" parent="42" del="1" diamond_once="35" coin_person="" person="" icon="4大技能2" />
+  <item id="44" index="3" name="精明的商人-4" desc="总共获取30000金币" type="3" value="5000000000000" parent="43" del="1" diamond_once="50" coin_person="" person="" icon="4大技能2" />
+  <item id="45" index="3" name="精明的商人-5" desc="总共获取50000金币" type="3" value="500000000000000" parent="44" del="1" diamond_once="65" coin_person="" person="" icon="4大技能2" />
+  <item id="46" index="3" name="精明的商人-6" desc="总共获取80000金币" type="3" value="5E+16" parent="45" del="0" diamond_once="80" coin_person="" person="" icon="4大技能2" />
+  <item id="61" index="4" name="花仙子-1" desc="所有精灵等级总和达到10级" type="4" value="10" parent="" del="1" diamond_once="15" coin_person="" person="" icon="蓝-高级包" />
+  <item id="62" index="4" name="花仙子-2" desc="所有精灵等级总和达到50级" type="4" value="30" parent="61" del="1" diamond_once="20" coin_person="" person="" icon="蓝-高级包" />
+  <item id="63" index="4" name="花仙子-3" desc="所有精灵等级总和达到100级" type="4" value="50" parent="62" del="1" diamond_once="35" coin_person="" person="" icon="蓝-高级包" />
+  <item id="64" index="4" name="花仙子-4" desc="所有精灵等级总和达到180级" type="4" value="100" parent="63" del="1" diamond_once="50" coin_person="" person="" icon="蓝-高级包" />
+  <item id="65" index="4" name="花仙子-5" desc="所有精灵等级总和达到400级" type="4" value="500" parent="64" del="1" diamond_once="65" coin_person="" person="" icon="蓝-高级包" />
+  <item id="66" index="4" name="花仙子-6" desc="所有精灵等级总和达到800级" type="4" value="1000" parent="65" del="0" diamond_once="80" coin_person="" person="" icon="蓝-高级包" />
+  <item id="81" index="5" name="百花争艳-1" desc="花朵数量达到1" type="5" value="1" parent="" del="1" diamond_once="10" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="82" index="5" name="百花争艳-2" desc="花朵数量达到3" type="5" value="3" parent="81" del="1" diamond_once="15" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="83" index="5" name="百花争艳-3" desc="花朵数量达到5" type="5" value="5" parent="82" del="1" diamond_once="20" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="84" index="5" name="百花争艳-4" desc="花朵数量达到10" type="5" value="10" parent="83" del="1" diamond_once="25" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="85" index="5" name="百花争艳-5" desc="花朵数量达到20" type="5" value="20" parent="84" del="1" diamond_once="40" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="86" index="5" name="百花争艳-6" desc="花朵数量达到40" type="5" value="40" parent="85" del="0" diamond_once="50" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="101" index="6" name="人山人海-1" desc="参观人次总数达到500" type="6" value="1000" parent="" del="1" diamond_once="10" coin_person="" person="" icon="4大技能1" />
+  <item id="102" index="6" name="人山人海-2" desc="参观人次总数达到2000" type="6" value="5000000" parent="101" del="1" diamond_once="15" coin_person="" person="" icon="4大技能1" />
+  <item id="103" index="6" name="人山人海-3" desc="参观人次总数达到10000" type="6" value="5000000000" parent="102" del="1" diamond_once="20" coin_person="" person="" icon="4大技能1" />
+  <item id="104" index="6" name="人山人海-4" desc="参观人次总数达到50000" type="6" value="1000000000000" parent="103" del="1" diamond_once="25" coin_person="" person="" icon="4大技能1" />
+  <item id="105" index="6" name="人山人海-5" desc="参观人次总数达到150000" type="6" value="500000000000000" parent="104" del="1" diamond_once="40" coin_person="" person="" icon="4大技能1" />
+  <item id="106" index="6" name="人山人海-6" desc="参观人次总数达到300000" type="6" value="5E+17" parent="105" del="0" diamond_once="50" coin_person="" person="" icon="4大技能1" />
+  <item id="121" index="7" name="技能大师-1" desc="使用技能5次" type="7" value="5" parent="" del="1" diamond_once="15" coin_person="" person="" icon="红-黄鹂鸟" />
+  <item id="122" index="7" name="技能大师-2" desc="使用技能10次" type="7" value="30" parent="121" del="1" diamond_once="20" coin_person="" person="" icon="红-黄鹂鸟" />
+  <item id="123" index="7" name="技能大师-3" desc="使用技能20次" type="7" value="80" parent="122" del="1" diamond_once="35" coin_person="" person="" icon="红-黄鹂鸟" />
+  <item id="124" index="7" name="技能大师-4" desc="使用技能50次" type="7" value="200" parent="123" del="1" diamond_once="50" coin_person="" person="" icon="红-黄鹂鸟" />
+  <item id="125" index="7" name="技能大师-5" desc="使用技能150次" type="7" value="350" parent="124" del="1" diamond_once="65" coin_person="" person="" icon="红-黄鹂鸟" />
+  <item id="126" index="7" name="技能大师-6" desc="使用技能250次" type="7" value="500" parent="125" del="0" diamond_once="80" coin_person="" person="" icon="红-黄鹂鸟" />
+  <item id="141" index="8" name="鉴赏大师-1" desc="观看2次广告" type="8" value="2" parent="" del="1" diamond_once="15" coin_person="" person="" icon="蓝-免费钻" />
+  <item id="142" index="8" name="鉴赏大师-2" desc="观看5次广告" type="8" value="5" parent="141" del="1" diamond_once="20" coin_person="" person="" icon="蓝-免费钻" />
+  <item id="143" index="8" name="鉴赏大师-3" desc="观看10次广告" type="8" value="10" parent="142" del="1" diamond_once="35" coin_person="" person="" icon="蓝-免费钻" />
+  <item id="144" index="8" name="鉴赏大师-4" desc="观看15次广告" type="8" value="45" parent="143" del="1" diamond_once="50" coin_person="" person="" icon="蓝-免费钻" />
+  <item id="145" index="8" name="鉴赏大师-5" desc="观看25次广告" type="8" value="100" parent="144" del="1" diamond_once="65" coin_person="" person="" icon="蓝-免费钻" />
+  <item id="146" index="8" name="鉴赏大师-6" desc="观看40次广告" type="8" value="180" parent="145" del="0" diamond_once="80" coin_person="" person="" icon="蓝-免费钻" />
+  <item id="161" index="9" name="按时打卡-1" desc="签到5次" type="9" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="红-彩虹" />
+  <item id="162" index="9" name="按时打卡-2" desc="签到10次" type="9" value="10" parent="161" del="1" diamond_once="15" coin_person="" person="" icon="红-彩虹" />
+  <item id="163" index="9" name="按时打卡-3" desc="签到15次" type="9" value="25" parent="162" del="1" diamond_once="20" coin_person="" person="" icon="红-彩虹" />
+  <item id="164" index="9" name="按时打卡-4" desc="签到25次" type="9" value="50" parent="163" del="1" diamond_once="25" coin_person="" person="" icon="红-彩虹" />
+  <item id="165" index="9" name="按时打卡-5" desc="签到35次" type="9" value="85" parent="164" del="1" diamond_once="40" coin_person="" person="" icon="红-彩虹" />
+  <item id="166" index="9" name="按时打卡-6" desc="签到50次" type="9" value="150" parent="165" del="0" diamond_once="50" coin_person="" person="" icon="红-彩虹" />
+  <item id="181" index="10" name="乐于分享-1" desc="分享1次" type="10" value="1" parent="" del="1" diamond_once="10" coin_person="" person="" icon="红-樱花树" />
+  <item id="182" index="10" name="乐于分享-2" desc="分享5次" type="10" value="5" parent="181" del="1" diamond_once="15" coin_person="" person="" icon="红-樱花树" />
+  <item id="183" index="10" name="乐于分享-3" desc="分享10次" type="10" value="10" parent="182" del="1" diamond_once="20" coin_person="" person="" icon="红-樱花树" />
+  <item id="184" index="10" name="乐于分享-4" desc="分享15次" type="10" value="15" parent="183" del="1" diamond_once="25" coin_person="" person="" icon="红-樱花树" />
+  <item id="185" index="10" name="乐于分享-5" desc="分享25次" type="10" value="25" parent="184" del="1" diamond_once="40" coin_person="" person="" icon="红-樱花树" />
+  <item id="186" index="10" name="乐于分享-6" desc="分享40次" type="10" value="40" parent="185" del="1" diamond_once="50" coin_person="" person="" icon="红-樱花树" />
+  <item id="187" index="10" name="乐于分享-7" desc="" type="10" value="80" parent="186" del="1" diamond_once="65" coin_person="" person="" icon="红-樱花树" />
+  <item id="188" index="10" name="乐于分享-8" desc="" type="10" value="120" parent="187" del="0" diamond_once="80" coin_person="" person="" icon="红-樱花树" />
+  <item id="201" index="11" name="辛勤的花匠-1" desc="完成小游戏5次" type="11" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="黄-黄色蜜蜂" />
+  <item id="202" index="11" name="辛勤的花匠-2" desc="完成小游戏10次" type="11" value="10" parent="201" del="1" diamond_once="15" coin_person="" person="" icon="黄-黄色蜜蜂" />
+  <item id="203" index="11" name="辛勤的花匠-3" desc="完成小游戏30次" type="11" value="50" parent="202" del="1" diamond_once="20" coin_person="" person="" icon="黄-黄色蜜蜂" />
+  <item id="204" index="11" name="辛勤的花匠-4" desc="完成小游戏50次" type="11" value="100" parent="203" del="1" diamond_once="25" coin_person="" person="" icon="黄-黄色蜜蜂" />
+  <item id="205" index="11" name="辛勤的花匠-5" desc="完成小游戏100次" type="11" value="500" parent="204" del="1" diamond_once="40" coin_person="" person="" icon="黄-黄色蜜蜂" />
+  <item id="206" index="11" name="辛勤的花匠-6" desc="完成小游戏200次" type="11" value="1000" parent="205" del="0" diamond_once="50" coin_person="" person="" icon="黄-黄色蜜蜂" />
+  <item id="221" index="12" name="积少成多-1" desc="收集花园里的金币50次" type="12" value="50" parent="" del="1" diamond_once="10" coin_person="" person="" icon="绿-金币包3" />
+  <item id="222" index="12" name="积少成多-2" desc="收集花园里的金币100次" type="12" value="100" parent="221" del="1" diamond_once="15" coin_person="" person="" icon="绿-金币包3" />
+  <item id="223" index="12" name="积少成多-3" desc="收集花园里的金币300次" type="12" value="450" parent="222" del="1" diamond_once="20" coin_person="" person="" icon="绿-金币包3" />
+  <item id="224" index="12" name="积少成多-4" desc="收集花园里的金币600次" type="12" value="1000" parent="223" del="1" diamond_once="25" coin_person="" person="" icon="绿-金币包3" />
+  <item id="225" index="12" name="积少成多-5" desc="收集花园里的金币1000次" type="12" value="5000" parent="224" del="1" diamond_once="40" coin_person="" person="" icon="绿-金币包3" />
+  <item id="226" index="12" name="积少成多-6" desc="收集花园里的金币2500次" type="12" value="10000" parent="225" del="0" diamond_once="50" coin_person="" person="" icon="绿-金币包3" />
+  <item id="241" index="13" name="花费的钻石-1" desc="" type="13" value="500" parent="" del="1" diamond_once="10" coin_person="" person="" icon="蓝-大量钻石" />
+  <item id="242" index="13" name="花费的钻石-2" desc="" type="13" value="1500" parent="241" del="1" diamond_once="15" coin_person="" person="" icon="蓝-大量钻石" />
+  <item id="243" index="13" name="花费的钻石-3" desc="" type="13" value="5000" parent="242" del="1" diamond_once="20" coin_person="" person="" icon="蓝-大量钻石" />
+  <item id="244" index="13" name="花费的钻石-4" desc="" type="13" value="10000" parent="243" del="1" diamond_once="25" coin_person="" person="" icon="蓝-大量钻石" />
+  <item id="245" index="13" name="花费的钻石-5" desc="" type="13" value="50000" parent="244" del="1" diamond_once="40" coin_person="" person="" icon="蓝-大量钻石" />
+  <item id="246" index="13" name="花费的钻石-6" desc="" type="13" value="500000" parent="245" del="0" diamond_once="50" coin_person="" person="" icon="蓝-大量钻石" />
+  <item id="261" index="14" name="拥有的服装-1" desc="" type="14" value="9" parent="" del="1" diamond_once="10" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="262" index="14" name="拥有的服装-2" desc="" type="14" value="15" parent="261" del="1" diamond_once="15" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="263" index="14" name="拥有的服装-3" desc="" type="14" value="30" parent="262" del="1" diamond_once="20" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="264" index="14" name="拥有的服装-4" desc="" type="14" value="60" parent="263" del="1" diamond_once="25" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="265" index="14" name="拥有的服装-5" desc="" type="14" value="90" parent="264" del="1" diamond_once="40" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="266" index="14" name="拥有的服装-6" desc="" type="14" value="120" parent="265" del="0" diamond_once="50" coin_person="" person="" icon="绿-繁花似锦" />
+  <item id="281" index="15" name="派对狂人-1" desc="" type="15" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="派对图标1" />
+  <item id="282" index="15" name="派对狂人-2" desc="" type="15" value="10" parent="281" del="1" diamond_once="15" coin_person="" person="" icon="派对图标1" />
+  <item id="283" index="15" name="派对狂人-3" desc="" type="15" value="100" parent="282" del="1" diamond_once="20" coin_person="" person="" icon="派对图标1" />
+  <item id="284" index="15" name="派对狂人-4" desc="" type="15" value="5000" parent="283" del="1" diamond_once="25" coin_person="" person="" icon="派对图标1" />
+  <item id="285" index="15" name="派对狂人-5" desc="" type="15" value="10000" parent="284" del="1" diamond_once="40" coin_person="" person="" icon="派对图标1" />
+  <item id="286" index="15" name="派对狂人-6" desc="" type="15" value="500000" parent="285" del="0" diamond_once="50" coin_person="" person="" icon="派对图标1" />
+  <item id="301" index="16" name="阔气老板-1" desc="" type="16" value="20" parent="" del="1" diamond_once="10" coin_person="" person="" icon="系统宝箱" />
+  <item id="302" index="16" name="阔气老板-2" desc="" type="16" value="200" parent="301" del="1" diamond_once="15" coin_person="" person="" icon="系统宝箱" />
+  <item id="303" index="16" name="阔气老板-3" desc="" type="16" value="2000" parent="302" del="1" diamond_once="20" coin_person="" person="" icon="系统宝箱" />
+  <item id="304" index="16" name="阔气老板-4" desc="" type="16" value="50000" parent="303" del="1" diamond_once="25" coin_person="" person="" icon="系统宝箱" />
+  <item id="305" index="16" name="阔气老板-5" desc="" type="16" value="200000" parent="304" del="1" diamond_once="40" coin_person="" person="" icon="系统宝箱" />
+  <item id="306" index="16" name="阔气老板-6" desc="" type="16" value="5000000" parent="305" del="0" diamond_once="50" coin_person="" person="" icon="系统宝箱" />
+  <item id="321" index="17" name="快来抢-1" desc="" type="17" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="钻石宝箱" />
+  <item id="322" index="17" name="快来抢-2" desc="" type="17" value="50" parent="321" del="1" diamond_once="15" coin_person="" person="" icon="钻石宝箱" />
+  <item id="323" index="17" name="快来抢-3" desc="" type="17" value="500" parent="322" del="1" diamond_once="20" coin_person="" person="" icon="钻石宝箱" />
+  <item id="324" index="17" name="快来抢-4" desc="" type="17" value="10000" parent="323" del="1" diamond_once="25" coin_person="" person="" icon="钻石宝箱" />
+  <item id="325" index="17" name="快来抢-5" desc="" type="17" value="500000" parent="324" del="1" diamond_once="40" coin_person="" person="" icon="钻石宝箱" />
+  <item id="326" index="17" name="快来抢-6" desc="" type="17" value="1000000" parent="325" del="0" diamond_once="50" coin_person="" person="" icon="钻石宝箱" />
+  <item id="341" index="18" name="花秘人-1" desc="" type="18" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="花朵宝箱" />
+  <item id="342" index="18" name="花秘人-2" desc="" type="18" value="50" parent="341" del="1" diamond_once="15" coin_person="" person="" icon="花朵宝箱" />
+  <item id="343" index="18" name="花秘人-3" desc="" type="18" value="500" parent="342" del="1" diamond_once="20" coin_person="" person="" icon="花朵宝箱" />
+  <item id="344" index="18" name="花秘人-4" desc="" type="18" value="10000" parent="343" del="1" diamond_once="25" coin_person="" person="" icon="花朵宝箱" />
+  <item id="345" index="18" name="花秘人-5" desc="" type="18" value="500000" parent="344" del="1" diamond_once="40" coin_person="" person="" icon="花朵宝箱" />
+  <item id="346" index="18" name="花秘人-6" desc="" type="18" value="1000000" parent="345" del="0" diamond_once="50" coin_person="" person="" icon="花朵宝箱" />
+  <item id="361" index="19" name="经济学-1" desc="" type="19" value="5" parent="" del="1" diamond_once="10" coin_person="" person="" icon="数字宝箱" />
+  <item id="362" index="19" name="经济学-2" desc="" type="19" value="50" parent="361" del="1" diamond_once="15" coin_person="" person="" icon="数字宝箱" />
+  <item id="363" index="19" name="经济学-3" desc="" type="19" value="500" parent="362" del="1" diamond_once="20" coin_person="" person="" icon="数字宝箱" />
+  <item id="364" index="19" name="经济学-4" desc="" type="19" value="10000" parent="363" del="1" diamond_once="25" coin_person="" person="" icon="数字宝箱" />
+  <item id="365" index="19" name="经济学-5" desc="" type="19" value="500000" parent="364" del="1" diamond_once="40" coin_person="" person="" icon="数字宝箱" />
+  <item id="366" index="19" name="经济学-6" desc="" type="19" value="1000000" parent="365" del="0" diamond_once="50" coin_person="" person="" icon="数字宝箱" />
+  <item id="381" index="20" name="红包达人-1" desc="" type="20" value="30" parent="" del="1" diamond_once="10" coin_person="" person="" icon="系统宝箱" />
+  <item id="382" index="20" name="红包达人-2" desc="" type="20" value="500" parent="381" del="1" diamond_once="15" coin_person="" person="" icon="系统宝箱" />
+  <item id="383" index="20" name="红包达人-3" desc="" type="20" value="50000" parent="382" del="1" diamond_once="20" coin_person="" person="" icon="系统宝箱" />
+  <item id="384" index="20" name="红包达人-4" desc="" type="20" value="1000000" parent="383" del="1" diamond_once="25" coin_person="" person="" icon="系统宝箱" />
+  <item id="385" index="20" name="红包达人-5" desc="" type="20" value="500000000" parent="384" del="1" diamond_once="40" coin_person="" person="" icon="系统宝箱" />
+  <item id="386" index="20" name="红包达人-6" desc="" type="20" value="10000000000" parent="385" del="0" diamond_once="50" coin_person="" person="" icon="系统宝箱" />
+  <comment>
     <id>
 
-</id>
+</id>
     <index>
 排序索引
-</index>
+</index>
     <name>
 成就名称
-</name>
+</name>
     <desc>
 成就描述
-</desc>
+</desc>
     <type>
 成就类型
-</type>
+</type>
     <value>
 参数
-</value>
+</value>
     <parent>
 父级
-</parent>
+</parent>
     <del>
 完成后是否删除
-</del>
+</del>
     <diamond_once>
 完成后钻石一次性奖励
-</diamond_once>
+</diamond_once>
     <coin_person>
 完成后每人次增加金币数量
-</coin_person>
+</coin_person>
     <person>
 完成后增加人次
-</person>
+</person>
     <icon>
 图标
-</icon>
-  </comment>
+</icon>
+  </comment>
 </data>

+ 18 - 18
Assets/Resource/XML/Config/award_config.xml

@@ -1,48 +1,48 @@
-<data>
-  <item id="1" coin="s*0.01*l" diamond="3,15" diamond_drop="0.5/l+l*0.0001" flower_drop="(1/f+l*0.005)*0.95" flower_rate_based="0.05,0.65,0.95" rate="0,400,650" coin_drop="r*l*0.65" flower_coin="l*0.65" star_cd="1" star_time="5,20" star_duration="5" flowerID_rate_fml="1-i/40" flowerAmt_rate_fml="1-a/100000000" />
-  <comment>
+<data>
+  <item id="1" coin="s*0.01*l" diamond="3,15" diamond_drop="0.5/l+l*0.0001" flower_drop="(1/f+l*0.005)*0.95" flower_rate_based="0.05,0.65,0.95" rate="0,400,650" coin_drop="r*l*0.65" flower_coin="l*0.65" star_cd="1" star_time="5,20" star_duration="5" flowerID_rate_fml="1-i/40" flowerAmt_rate_fml="1-a/100000000" />
+  <comment>
     <id>
 
-</id>
+</id>
     <coin>
 金币奖励公式
 s表示score
-</coin>
+</coin>
     <diamond>
 钻石奖励区间
-</diamond>
+</diamond>
     <diamond_drop>
 钻石掉率公式
-</diamond_drop>
+</diamond_drop>
     <flower_drop>
 花朵掉率公式
-</flower_drop>
+</flower_drop>
     <flower_rate_based>
 花朵在评价中的掉率
-</flower_rate_based>
+</flower_rate_based>
     <rate>
 评价配置
-</rate>
+</rate>
     <coin_drop>
 掉落金币奖励
-</coin_drop>
+</coin_drop>
     <flower_coin>
 种花金币奖励
-</flower_coin>
+</flower_coin>
     <star_cd>
 减少小游戏冷却时间
-</star_cd>
+</star_cd>
     <star_time>
 每过x秒出现一个star
-</star_time>
+</star_time>
     <star_duration>
 star最大存在时间
-</star_duration>
+</star_duration>
     <flowerID_rate_fml>
 根据花的ID计算掉率
-</flowerID_rate_fml>
+</flowerID_rate_fml>
     <flowerAmt_rate_fml>
 根据花的数量计算掉率
-</flowerAmt_rate_fml>
-  </comment>
+</flowerAmt_rate_fml>
+  </comment>
 </data>

+ 6 - 6
Assets/Resource/XML/Config/cost_config.xml

@@ -1,11 +1,11 @@
-<data>
-  <item id="1" desc="c*1000" />
-  <comment>
+<data>
+  <item id="1" desc="c*1000" />
+  <comment>
     <id>
 
-</id>
+</id>
     <desc>
 改名字花费
-</desc>
-  </comment>
+</desc>
+  </comment>
 </data>

+ 176 - 176
Assets/Resource/XML/Config/dressRoom_config.xml

@@ -1,221 +1,221 @@
-<data>
-  <item id="1" jump_frequency="10" type="" index="" bodypart="" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="" spriteAlpha="" armatureName="" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="2" jump_frequency="" type="1" index="0" bodypart="1" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="120" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳1" spriteAlpha="" armatureName="脑壳1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="3" jump_frequency="" type="1" index="1" bodypart="1" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="120" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳1(棕色)" spriteAlpha="" armatureName="脑壳1(棕色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="4" jump_frequency="" type="1" index="2" bodypart="1" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="120" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳1(粉色)" spriteAlpha="" armatureName="脑壳1(粉色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="5" jump_frequency="" type="1" index="3" bodypart="1" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="105" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳2(黄色)" spriteAlpha="" armatureName="脑壳2(黄色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="6" jump_frequency="" type="1" index="4" bodypart="1" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="105" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳2" spriteAlpha="" armatureName="脑壳2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="7" jump_frequency="" type="1" index="5" bodypart="1" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="105" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳2(粉色)" spriteAlpha="" armatureName="脑壳2(粉色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="8" jump_frequency="" type="1" index="6" bodypart="1" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="17.5" icon1offset="25.38,-112.81" icon2offset="" spriteName="脑壳3+上(粉色),脑壳3+下(粉色)" spriteAlpha="" armatureName="脑壳3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="9" jump_frequency="" type="1" index="7" bodypart="1" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="17.5" icon1offset="25.38,-112.81" icon2offset="" spriteName="脑壳3+上(黄色),脑壳3+下(黄色)脑壳2——下" spriteAlpha="" armatureName="脑壳3(黄色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="10" jump_frequency="" type="1" index="8" bodypart="1" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="17.5" icon1offset="25.38,-112.81" icon2offset="" spriteName="脑壳3+上(紫色),脑壳3+下(紫色)" spriteAlpha="" armatureName="脑壳3(紫色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="11" jump_frequency="" type="1" index="9" bodypart="1" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="15" icon1offset="1.82,-132.79" icon2offset="" spriteName="脑壳2(黄色),脑壳3+下(黄色)脑壳2——下" spriteAlpha="" armatureName="脑壳2B(黄色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="12" jump_frequency="" type="1" index="10" bodypart="1" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="15" icon1offset="1.82,-132.79" icon2offset="" spriteName="脑壳2,脑壳2+下(棕色)另一种发型" spriteAlpha="" armatureName="脑壳2B(棕色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="13" jump_frequency="" type="1" index="11" bodypart="1" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="15" icon1offset="1.82,-132.79" icon2offset="" spriteName="脑壳2(粉色),脑壳2+下(粉色)另一种发型" spriteAlpha="" armatureName="脑壳2B(粉色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="14" jump_frequency="" type="1" index="12" bodypart="1" level="30" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头发4(粉色)" spriteAlpha="" armatureName="头发4(粉色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="15" jump_frequency="" type="1" index="13" bodypart="1" level="30" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头发4(蓝色)" spriteAlpha="" armatureName="头发4(蓝色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="16" jump_frequency="" type="1" index="14" bodypart="1" level="30" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头发4(绿色)" spriteAlpha="" armatureName="头发4(绿色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="17" jump_frequency="" type="1" index="15" bodypart="1" level="40" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发5(棕色)" spriteAlpha="" armatureName="头发5(棕色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="18" jump_frequency="" type="1" index="16" bodypart="1" level="40" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发5(红色)" spriteAlpha="" armatureName="头发5(红色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="19" jump_frequency="" type="1" index="17" bodypart="1" level="40" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发5(黄色)" spriteAlpha="" armatureName="头发5(黄色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="20" jump_frequency="" type="1" index="18" bodypart="1" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="15" icon1offset="109.42,-91.88" icon2offset="" spriteName="头发6+上(棕),头发6+下(棕)" spriteAlpha="" armatureName="头发6(棕)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="21" jump_frequency="" type="1" index="19" bodypart="1" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="15" icon1offset="109.42,-91.88" icon2offset="" spriteName="头发6+上(粉),头发6+下(粉)" spriteAlpha="" armatureName="头发6(粉)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="22" jump_frequency="" type="1" index="20" bodypart="1" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="15" icon1offset="109.42,-91.88" icon2offset="" spriteName="头发6+上(绿),头发6+下(绿)" spriteAlpha="" armatureName="头发6(绿)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="23" jump_frequency="" type="1" index="21" bodypart="1" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="15" icon1offset="109.42,-91.88" icon2offset="" spriteName="头发6+上(黄),头发6+下(黄)" spriteAlpha="" armatureName="头发6(黄)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="24" jump_frequency="" type="1" index="22" bodypart="1" level="50" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发7(橙)" spriteAlpha="" armatureName="头发7(橙)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="25" jump_frequency="" type="1" index="23" bodypart="1" level="50" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发7(米白)" spriteAlpha="" armatureName="头发7(米白)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="26" jump_frequency="" type="1" index="24" bodypart="1" level="50" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发7(蓝色)" spriteAlpha="" armatureName="头发7(蓝色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="27" jump_frequency="" type="1" index="25" bodypart="1" level="50" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="115" iconOffset="" icon1offset="" icon2offset="" spriteName="头发8(粉)" spriteAlpha="" armatureName="头发8(粉)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="28" jump_frequency="" type="1" index="26" bodypart="1" level="50" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="115" iconOffset="" icon1offset="" icon2offset="" spriteName="头发8(紫)" spriteAlpha="" armatureName="头发8(紫)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="29" jump_frequency="" type="1" index="27" bodypart="1" level="50" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="115" iconOffset="" icon1offset="" icon2offset="" spriteName="头发8(绿)" spriteAlpha="" armatureName="头发8(绿)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="30" jump_frequency="" type="1" index="28" bodypart="1" level="50" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="115" iconOffset="" icon1offset="" icon2offset="" spriteName="头发8(黑)" spriteAlpha="" armatureName="头发8(黑)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="31" jump_frequency="" type="1" index="29" bodypart="1" level="30" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="头发14(粉色)" spriteAlpha="" armatureName="头发14(粉色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="32" jump_frequency="" type="1" index="30" bodypart="1" level="23" buy_currency="2" buy_amt="38" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="头发9-蓝" spriteAlpha="" armatureName="头发9-蓝" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="33" jump_frequency="" type="1" index="31" bodypart="1" level="23" buy_currency="2" buy_amt="38" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="头发9(白)" spriteAlpha="" armatureName="头发9(白)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="34" jump_frequency="" type="1" index="32" bodypart="1" level="23" buy_currency="2" buy_amt="38" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="头发9-粉" spriteAlpha="" armatureName="头发9-粉" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="35" jump_frequency="" type="1" index="33" bodypart="1" level="23" buy_currency="2" buy_amt="38" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="头发9-黄" spriteAlpha="" armatureName="头发9-黄" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="36" jump_frequency="" type="1" index="34" bodypart="1" level="30" buy_currency="2" buy_amt="80" buy_advance_currency="" buy_advance_amt="" pixelSize="105" iconOffset="10" icon1offset="-6.67,-77.62" icon2offset="" spriteName="头发15(咖啡),头发15(咖啡)+下" spriteAlpha="" armatureName="头发15(咖啡)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="37" jump_frequency="" type="1" index="35" bodypart="1" level="70" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="95" iconOffset="" icon1offset="" icon2offset="" spriteName="头发10(紫)" spriteAlpha="" armatureName="头发10(紫)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="38" jump_frequency="" type="1" index="36" bodypart="1" level="70" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="95" iconOffset="" icon1offset="" icon2offset="" spriteName="头发10(棕)" spriteAlpha="" armatureName="头发10(棕)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="39" jump_frequency="" type="1" index="37" bodypart="1" level="70" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="95.34,-151.30" icon2offset="" spriteName="头发11(蓝),头发11(蓝)后" spriteAlpha="" armatureName="头发11(蓝)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="-70,100" desc="" />
-  <item id="40" jump_frequency="" type="1" index="38" bodypart="1" level="70" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="95.34,-151.30" icon2offset="" spriteName="头发11(棕),头发11(棕)后" spriteAlpha="" armatureName="头发11(棕)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="-70,100" desc="" />
-  <item id="41" jump_frequency="" type="1" index="39" bodypart="1" level="60" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="-40.1,-56.94" icon2offset="" spriteName="头发16,头发16后" spriteAlpha="" armatureName="头发16" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="42" jump_frequency="" type="1" index="40" bodypart="1" level="1" buy_currency="1" buy_amt="0" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳-缺失" spriteAlpha="" armatureName="脑壳-缺失" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
-  <item id="43" jump_frequency="" type="1" index="41" bodypart="1" level="40" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="25,-15" icon2offset="" spriteName="头发17-1_1,头发17-1后" spriteAlpha="" armatureName="头发17-1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
-  <item id="44" jump_frequency="" type="1" index="42" bodypart="1" level="40" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="25,-15" icon2offset="" spriteName="头发17-2,头发17-2后" spriteAlpha="" armatureName="头发17-2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
-  <item id="45" jump_frequency="" type="1" index="43" bodypart="1" level="40" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="25,-15" icon2offset="" spriteName="头发17-3,头发17-3后" spriteAlpha="" armatureName="头发17-3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
-  <item id="401" jump_frequency="" type="6" index="0" bodypart="3" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子1" spriteAlpha="" armatureName="鞋子1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="402" jump_frequency="" type="6" index="1" bodypart="3" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="2" spriteAlpha="" armatureName="鞋子4" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="403" jump_frequency="" type="6" index="2" bodypart="3" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="3" spriteAlpha="" armatureName="鞋子5" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="404" jump_frequency="" type="6" index="3" bodypart="3" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="4" spriteAlpha="" armatureName="鞋子6" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="405" jump_frequency="" type="6" index="4" bodypart="3" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子2" spriteAlpha="" armatureName="鞋子2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="406" jump_frequency="" type="6" index="5" bodypart="3" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="" icon1offset="" icon2offset="" spriteName="12" spriteAlpha="" armatureName="鞋子14" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="407" jump_frequency="" type="6" index="6" bodypart="3" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="13" spriteAlpha="" armatureName="鞋子15" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="408" jump_frequency="" type="6" index="7" bodypart="3" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子3" spriteAlpha="" armatureName="鞋子3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="409" jump_frequency="" type="6" index="8" bodypart="3" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="11" spriteAlpha="" armatureName="鞋子13" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="410" jump_frequency="" type="6" index="9" bodypart="3" level="30" buy_currency="2" buy_amt="80" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="6" spriteAlpha="" armatureName="鞋子8" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="411" jump_frequency="" type="6" index="10" bodypart="3" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="5" spriteAlpha="" armatureName="鞋子7" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="412" jump_frequency="" type="6" index="11" bodypart="3" level="40" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="7" spriteAlpha="" armatureName="鞋子9" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="413" jump_frequency="" type="6" index="12" bodypart="3" level="40" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="8" spriteAlpha="" armatureName="鞋子10" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="414" jump_frequency="" type="6" index="13" bodypart="3" level="50" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="9" spriteAlpha="" armatureName="鞋子11" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="415" jump_frequency="" type="6" index="14" bodypart="3" level="50" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="10" spriteAlpha="" armatureName="鞋子12" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="416" jump_frequency="" type="6" index="15" bodypart="3" level="30" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="0" icon1offset="-35,0" icon2offset="" spriteName="鞋子14-1,鞋子14-2" spriteAlpha="" armatureName="鞋子16" extraBodypart="" extraArmatureName="" ignore="" icon0offset="35,0" desc="DesignByKnife" />
-  <item id="417" jump_frequency="" type="6" index="16" bodypart="3" level="30" buy_currency="2" buy_amt="80" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="-35,0" icon2offset="" spriteName="鞋子15-1,鞋子15-2" spriteAlpha="" armatureName="鞋子17" extraBodypart="" extraArmatureName="" ignore="" icon0offset="35,0" desc="DesignByKnife" />
-  <item id="418" jump_frequency="" type="6" index="17" bodypart="3" level="50" buy_currency="2" buy_amt="350" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子14a" spriteAlpha="" armatureName="鞋子14a" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="419" jump_frequency="" type="6" index="18" bodypart="3" level="60" buy_currency="2" buy_amt="400" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子14b" spriteAlpha="" armatureName="鞋子14b" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="420" jump_frequency="" type="6" index="19" bodypart="3" level="60" buy_currency="2" buy_amt="400" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子14c" spriteAlpha="" armatureName="鞋子14c" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="421" jump_frequency="" type="6" index="20" bodypart="3" level="50" buy_currency="2" buy_amt="350" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="0" icon1offset="" icon2offset="" spriteName="新鞋子16" spriteAlpha="" armatureName="新鞋子16" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="423" jump_frequency="" type="6" index="22" bodypart="3" level="40" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="-8" icon1offset="" icon2offset="" spriteName="鞋子18" spriteAlpha="" armatureName="鞋子18" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
-  <item id="422" jump_frequency="" type="6" index="21" bodypart="3" level="1" buy_currency="1" buy_amt="1" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="" icon1offset="" icon2offset="" spriteName="鞋子-缺失" spriteAlpha="" armatureName="鞋子-缺失" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
-  <item id="201" jump_frequency="" type="3" index="0" bodypart="2" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子1" spriteAlpha="" armatureName="裙子1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="202" jump_frequency="" type="3" index="1" bodypart="2" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子2" spriteAlpha="" armatureName="裙子2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="203" jump_frequency="" type="3" index="2" bodypart="2" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子3" spriteAlpha="" armatureName="裙子3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="204" jump_frequency="" type="3" index="3" bodypart="2" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子4" spriteAlpha="" armatureName="裙子4" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="205" jump_frequency="" type="3" index="4" bodypart="2" level="" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="94" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子5" spriteAlpha="" armatureName="裙子5" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="206" jump_frequency="" type="3" index="5" bodypart="2" level="30" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="92" iconOffset="-3.75" icon1offset="" icon2offset="" spriteName="裙子6" spriteAlpha="" armatureName="裙子6" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="207" jump_frequency="" type="3" index="6" bodypart="2" level="30" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="-5.5" icon1offset="" icon2offset="" spriteName="裙子7" spriteAlpha="" armatureName="裙子7" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="208" jump_frequency="" type="3" index="7" bodypart="2" level="30" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="-5.5" icon1offset="" icon2offset="" spriteName="裙子7(粉)" spriteAlpha="" armatureName="裙子7(粉)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="209" jump_frequency="" type="3" index="8" bodypart="2" level="30" buy_currency="2" buy_amt="600" buy_advance_currency="" buy_advance_amt="" pixelSize="116" iconOffset="-8" icon1offset="" icon2offset="" spriteName="裙子8" spriteAlpha="" armatureName="裙子8" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="210" jump_frequency="" type="3" index="9" bodypart="2" level="40" buy_currency="2" buy_amt="700" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子9" spriteAlpha="" armatureName="裙子9" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="211" jump_frequency="" type="3" index="10" bodypart="2" level="40" buy_currency="2" buy_amt="700" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-2,-0.06" icon2offset="" spriteName="裙子10,衣服10" spriteAlpha="" armatureName="裙子10" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="212" jump_frequency="" type="3" index="11" bodypart="2" level="40" buy_currency="2" buy_amt="1000" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-2,-0.06" icon2offset="" spriteName="裙子10(黄),衣服10(黄)" spriteAlpha="" armatureName="裙子10(黄)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="213" jump_frequency="" type="3" index="12" bodypart="2" level="40" buy_currency="2" buy_amt="1000" buy_advance_currency="" buy_advance_amt="" pixelSize="85" iconOffset="" icon1offset="11.96,-14.87" icon2offset="" spriteName="裙子11,衣服11" spriteAlpha="" armatureName="裙子11" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="214" jump_frequency="" type="3" index="13" bodypart="2" level="50" buy_currency="2" buy_amt="1500" buy_advance_currency="" buy_advance_amt="" pixelSize="85" iconOffset="" icon1offset="11.96,-14.87" icon2offset="" spriteName="裙子11(粉),衣服11(粉)" spriteAlpha="" armatureName="裙子11(粉)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="215" jump_frequency="" type="3" index="14" bodypart="2" level="50" buy_currency="2" buy_amt="1500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子12" spriteAlpha="" armatureName="裙子12" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="216" jump_frequency="" type="3" index="15" bodypart="2" level="50" buy_currency="2" buy_amt="2000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子13" spriteAlpha="" armatureName="裙子13" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="217" jump_frequency="" type="3" index="16" bodypart="2" level="50" buy_currency="2" buy_amt="2000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子13(紫)" spriteAlpha="" armatureName="裙子13(紫)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="218" jump_frequency="" type="3" index="17" bodypart="2" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="下衣14" spriteAlpha="" armatureName="下衣14" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="219" jump_frequency="" type="3" index="18" bodypart="2" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="下衣15" spriteAlpha="" armatureName="裙子15" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="220" jump_frequency="" type="3" index="19" bodypart="2" level="60" buy_currency="2" buy_amt="2200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="下衣14a" spriteAlpha="" armatureName="下衣14a" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="221" jump_frequency="" type="3" index="20" bodypart="2" level="70" buy_currency="2" buy_amt="2500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="1.08,77.07" icon2offset="" spriteName="下衣14b,下衣14b蝴蝶结" spriteAlpha="" armatureName="下衣14b" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="222" jump_frequency="" type="3" index="21" bodypart="2" level="70" buy_currency="2" buy_amt="2500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="1.08,77.08" icon2offset="" spriteName="下衣14c,下衣14c蝴蝶结" spriteAlpha="" armatureName="下衣14c" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="223" jump_frequency="" type="3" index="22" bodypart="2" level="60" buy_currency="2" buy_amt="2200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子16" spriteAlpha="" armatureName="裙子16" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="224" jump_frequency="" type="3" index="23" bodypart="2" level="1" buy_currency="1" buy_amt="0" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子-缺失" spriteAlpha="" armatureName="裙子-缺失" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
-  <item id="225" jump_frequency="" type="3" index="24" bodypart="2" level="40" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子17_1" spriteAlpha="" armatureName="裙子17" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
-  <item id="601" jump_frequency="" type="4" index="0" bodypart="4" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰品1" spriteAlpha="" armatureName="头饰品1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="602" jump_frequency="" type="4" index="1" bodypart="4" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰品2" spriteAlpha="" armatureName="头饰品2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="603" jump_frequency="" type="4" index="2" bodypart="4" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰品3" spriteAlpha="" armatureName="头饰品3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="604" jump_frequency="" type="4" index="3" bodypart="4" level="" buy_currency="2" buy_amt="80" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰4" spriteAlpha="" armatureName="头饰4" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="605" jump_frequency="" type="4" index="4" bodypart="4" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰5" spriteAlpha="" armatureName="头饰5" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="606" jump_frequency="" type="4" index="5" bodypart="4" level="30" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰6" spriteAlpha="" armatureName="头饰6" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="607" jump_frequency="" type="4" index="6" bodypart="4" level="30" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰7" spriteAlpha="" armatureName="头饰7" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="608" jump_frequency="" type="4" index="7" bodypart="4" level="40" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰8" spriteAlpha="" armatureName="头饰8" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="609" jump_frequency="" type="4" index="8" bodypart="4" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰9" spriteAlpha="" armatureName="头饰9" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="610" jump_frequency="" type="4" index="9" bodypart="4" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰10" spriteAlpha="" armatureName="头饰10" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="611" jump_frequency="" type="4" index="10" bodypart="4" level="50" buy_currency="2" buy_amt="350" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰11" spriteAlpha="" armatureName="头饰11" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="612" jump_frequency="" type="4" index="11" bodypart="4" level="50" buy_currency="2" buy_amt="400" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰12" spriteAlpha="" armatureName="头饰12" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="613" jump_frequency="" type="4" index="12" bodypart="4" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="" icon2offset="" spriteName="装饰14" spriteAlpha="" armatureName="装饰14" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="614" jump_frequency="" type="4" index="13" bodypart="4" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰15" spriteAlpha="" armatureName="头饰15" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="615" jump_frequency="" type="4" index="14" bodypart="4" level="80" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰13-1" spriteAlpha="" armatureName="头饰13-1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="616" jump_frequency="" type="4" index="15" bodypart="4" level="80" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰13-2" spriteAlpha="" armatureName="头饰13-2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="618" jump_frequency="" type="4" index="16" bodypart="4" level="1" buy_currency="1" buy_amt="1" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰-缺失" spriteAlpha="" armatureName="头饰-缺失" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
-  <item id="619" jump_frequency="" type="4" index="17" bodypart="4" level="80" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="发饰17-1" spriteAlpha="" armatureName="发饰17-1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="620" jump_frequency="" type="4" index="18" bodypart="4" level="40" buy_currency="2" buy_amt="120" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="发饰17-2" spriteAlpha="" armatureName="发饰17-2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
-  <item id="617" jump_frequency="" type="4" index="15" bodypart="4" level="60" buy_currency="2" buy_amt="450" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="帽子16" spriteAlpha="" armatureName="帽子16" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="801" jump_frequency="" type="2" index="0" bodypart="5" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-55.32,19.11" icon2offset="53.41,16.68" spriteName="上衣1,上衣1袖子右,上衣1袖子左" spriteAlpha="" armatureName="上衣1" extraBodypart="10,9" extraArmatureName="短袖1右,短袖1左" ignore="" icon0offset="15,0" desc="" />
-  <item id="802" jump_frequency="" type="2" index="1" bodypart="5" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-55.26,18.83" icon2offset="52.58,17.45" spriteName="上衣2,上衣2袖子右,上衣2袖子左" spriteAlpha="" armatureName="上衣2" extraBodypart="10,9" extraArmatureName="短袖2右,短袖2左" ignore="" icon0offset="" desc="" />
-  <item id="803" jump_frequency="" type="2" index="2" bodypart="5" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-55.26,18.83" icon2offset="52.58,17.45" spriteName="上衣3,上衣2袖子右,上衣2袖子左" spriteAlpha="" armatureName="上衣3" extraBodypart="10,9" extraArmatureName="短袖2右,短袖2左" ignore="" icon0offset="" desc="" />
-  <item id="804" jump_frequency="" type="2" index="3" bodypart="5" level="" buy_currency="2" buy_amt="80" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="-16" icon1offset="" icon2offset="" spriteName="上衣4" spriteAlpha="" armatureName="上衣4" extraBodypart="8,7" extraArmatureName="长袖9右,长袖9左" ignore="" icon0offset="" desc="" />
-  <item id="805" jump_frequency="" type="2" index="4" bodypart="5" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-55.26,21.94" icon2offset="53.82,20.56" spriteName="上衣5,上衣2袖子右,上衣2袖子左" spriteAlpha="" armatureName="上衣5" extraBodypart="10,9" extraArmatureName="短袖2右,短袖2左" ignore="" icon0offset="" desc="" />
-  <item id="806" jump_frequency="" type="2" index="5" bodypart="5" level="30" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-59.82,15.89" icon2offset="57.33,13.39" spriteName="上衣6,上衣6袖子右,上衣6袖子左" spriteAlpha="" armatureName="上衣6" extraBodypart="10,9" extraArmatureName="短袖6右,短袖6左" ignore="" icon0offset="" desc="" />
-  <item id="807" jump_frequency="" type="2" index="6" bodypart="5" level="30" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-59.56,16.23" icon2offset="56.97,13.65" spriteName="上衣7,上衣7袖子右,上衣7袖子左" spriteAlpha="" armatureName="上衣7" extraBodypart="10,9" extraArmatureName="短袖7右,短袖7左" ignore="" icon0offset="" desc="" />
-  <item id="808" jump_frequency="" type="2" index="7" bodypart="5" level="30" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-59.56,16.23" icon2offset="56.97,13.65" spriteName="上衣7(粉),上衣7粉袖子右,上衣7粉袖子左" spriteAlpha="" armatureName="上衣7(粉)" extraBodypart="10,9" extraArmatureName="短袖7粉右,短袖7粉左" ignore="" icon0offset="" desc="" />
-  <item id="809" jump_frequency="" type="2" index="8" bodypart="5" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣8" spriteAlpha="" armatureName="上衣8" extraBodypart="8,7" extraArmatureName="长袖9右,长袖9左" ignore="" icon0offset="" desc="" />
-  <item id="810" jump_frequency="" type="2" index="9" bodypart="5" level="40" buy_currency="2" buy_amt="350" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣9" spriteAlpha="" armatureName="上衣9" extraBodypart="8,7" extraArmatureName="长袖9右,长袖10左" ignore="" icon0offset="" desc="" />
-  <item id="811" jump_frequency="" type="2" index="10" bodypart="5" level="40" buy_currency="2" buy_amt="400" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣10" spriteAlpha="" armatureName="上衣10" extraBodypart="8,7" extraArmatureName="长袖9右,长袖11左" ignore="" icon0offset="" desc="" />
-  <item id="812" jump_frequency="" type="2" index="11" bodypart="5" level="40" buy_currency="2" buy_amt="450" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣10(黄)" spriteAlpha="" armatureName="上衣10(黄)" extraBodypart="8,7" extraArmatureName="长袖9右,长袖12左" ignore="" icon0offset="" desc="" />
-  <item id="813" jump_frequency="" type="2" index="12" bodypart="5" level="50" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣11" spriteAlpha="" armatureName="上衣11" extraBodypart="8,7" extraArmatureName="长袖9右,长袖13左" ignore="" icon0offset="" desc="" />
-  <item id="814" jump_frequency="" type="2" index="13" bodypart="5" level="50" buy_currency="2" buy_amt="550" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣11(粉)" spriteAlpha="" armatureName="上衣11(粉)" extraBodypart="8,7" extraArmatureName="长袖9右,长袖14左" ignore="" icon0offset="" desc="" />
-  <item id="815" jump_frequency="" type="2" index="14" bodypart="5" level="50" buy_currency="2" buy_amt="600" buy_advance_currency="" buy_advance_amt="" pixelSize="85" iconOffset="" icon1offset="-59.77,16.52" icon2offset="56.81,13.58" spriteName="上衣12,上衣12袖子右,上衣12袖子左" spriteAlpha="" armatureName="上衣12" extraBodypart="10,9" extraArmatureName="短袖12右,短袖12左" ignore="" icon0offset="" desc="" />
-  <item id="816" jump_frequency="" type="2" index="15" bodypart="5" level="50" buy_currency="2" buy_amt="650" buy_advance_currency="" buy_advance_amt="" pixelSize="60" iconOffset="" icon1offset="-50,36.31" icon2offset="57.8,33.83" spriteName="上衣13,上衣13袖子右,上衣13袖子左" spriteAlpha="" armatureName="上衣13" extraBodypart="10,9" extraArmatureName="短袖13右,短袖13左" ignore="" icon0offset="" desc="" />
-  <item id="817" jump_frequency="" type="2" index="16" bodypart="5" level="50" buy_currency="2" buy_amt="700" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-59.77,36.31" icon2offset="57.8,33.83" spriteName="上衣13(紫),上衣13蓝袖子右,上衣13蓝袖子左" spriteAlpha="" armatureName="上衣13(紫)" extraBodypart="10,9" extraArmatureName="短袖13蓝右,短袖13蓝左" ignore="" icon0offset="" desc="" />
-  <item id="818" jump_frequency="" type="2" index="17" bodypart="5" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣14" spriteAlpha="" armatureName="上衣14" extraBodypart="10,9" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="819" jump_frequency="" type="2" index="18" bodypart="5" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="73" iconOffset="" icon1offset="71.85,2.89" icon2offset="-66.24,-0.4" spriteName="上衣15,上衣15(袖子)-1,上衣15(袖子)-2" spriteAlpha="" armatureName="上衣15" extraBodypart="10,9" extraArmatureName="上衣15(袖子)左,上衣15(袖子)右" ignore="" icon0offset="" desc="DesignByKnife" />
-  <item id="820" jump_frequency="" type="2" index="19" bodypart="5" level="50" buy_currency="2" buy_amt="700" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣14a" spriteAlpha="" armatureName="上衣14a" extraBodypart="10,9" extraArmatureName="上衣14a-袖子2,上衣14a-袖子1" ignore="" icon0offset="" desc="" />
-  <item id="821" jump_frequency="" type="2" index="20" bodypart="5" level="70" buy_currency="2" buy_amt="800" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="" icon1offset="-59.56,16.23" icon2offset="56.97,13.65" spriteName="上衣14b,上衣14b-袖子2,上衣14b-袖子1" spriteAlpha="" armatureName="上衣14b" extraBodypart="10,9" extraArmatureName="上衣14b-袖子2,上衣14b-袖子1" ignore="" icon0offset="" desc="" />
-  <item id="822" jump_frequency="" type="2" index="21" bodypart="5" level="70" buy_currency="2" buy_amt="800" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="" icon1offset="-59.56,16.23" icon2offset="56.97,13.65" spriteName="上衣14c,上衣14c-袖子2,上衣14c-袖子1" spriteAlpha="" armatureName="上衣14c" extraBodypart="10,9" extraArmatureName="上衣14c-袖子2,上衣14c-袖子1" ignore="" icon0offset="" desc="" />
-  <item id="823" jump_frequency="" type="2" index="22" bodypart="5" level="60" buy_currency="2" buy_amt="700" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="" icon1offset="-65,25" icon2offset="50,22" spriteName="上衣16,上衣16袖子2,上衣16袖子1_1" spriteAlpha="" armatureName="上衣16" extraBodypart="10,9" extraArmatureName="上衣16袖子2,上衣16袖子1" ignore="" icon0offset="" desc="" />
-  <item id="824" jump_frequency="" type="2" index="23" bodypart="5" level="1" buy_currency="1" buy_amt="1" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣-缺失" spriteAlpha="" armatureName="上衣-缺失" extraBodypart="10,9" extraArmatureName="Empty,Empty" ignore="1" icon0offset="" desc="" />
-  <item id="825" jump_frequency="" type="2" index="24" bodypart="5" level="40" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="衣服17" spriteAlpha="" armatureName="衣服17" extraBodypart="10,9" extraArmatureName="袖子17-2,袖子17-1" ignore="" icon0offset="" desc="DesignByMiracle" />
-  <item id="1001" jump_frequency="" type="5" index="0" bodypart="6" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="禁止标志" spriteAlpha="0.75" armatureName="Empty" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="1002" jump_frequency="" type="5" index="1" bodypart="6" level="50" buy_currency="2" buy_amt="1500" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀1" spriteAlpha="" armatureName="翅膀1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="1003" jump_frequency="" type="5" index="2" bodypart="6" level="80" buy_currency="2" buy_amt="2000" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀2" spriteAlpha="" armatureName="翅膀2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="1004" jump_frequency="" type="5" index="3" bodypart="6" level="90" buy_currency="2" buy_amt="2000" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀3" spriteAlpha="" armatureName="翅膀3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="1005" jump_frequency="" type="5" index="4" bodypart="6" level="100" buy_currency="2" buy_amt="2500" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀4" spriteAlpha="" armatureName="翅膀4" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="1006" jump_frequency="" type="5" index="5" bodypart="6" level="90" buy_currency="2" buy_amt="2000" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀5" spriteAlpha="" armatureName="翅膀5" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
-  <item id="1007" jump_frequency="" type="5" index="6" bodypart="6" level="1" buy_currency="1" buy_amt="0" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀-缺失" spriteAlpha="" armatureName="翅膀-缺失" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
-  <item id="1200" jump_frequency="" type="" index="" bodypart="11" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="眼睛1" spriteAlpha="" armatureName="眼睛1" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
-  <item id="1201" jump_frequency="" type="" index="" bodypart="11" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="眼睛2" spriteAlpha="" armatureName="眼睛2" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
-  <item id="1202" jump_frequency="" type="" index="" bodypart="11" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="眼睛3" spriteAlpha="" armatureName="眼睛3" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
-  <item id="1203" jump_frequency="" type="" index="" bodypart="12" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="嘴巴1" spriteAlpha="" armatureName="嘴巴1" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
-  <item id="1204" jump_frequency="" type="" index="" bodypart="12" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="嘴巴2" spriteAlpha="" armatureName="嘴巴2" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
-  <item id="1205" jump_frequency="" type="" index="" bodypart="12" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="嘴巴3" spriteAlpha="" armatureName="嘴巴3" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
-  <comment>
+<data>
+  <item id="1" jump_frequency="10" type="" index="" bodypart="" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="" spriteAlpha="" armatureName="" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="2" jump_frequency="" type="1" index="0" bodypart="1" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="120" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳1" spriteAlpha="" armatureName="脑壳1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="3" jump_frequency="" type="1" index="1" bodypart="1" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="120" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳1(棕色)" spriteAlpha="" armatureName="脑壳1(棕色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="4" jump_frequency="" type="1" index="2" bodypart="1" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="120" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳1(粉色)" spriteAlpha="" armatureName="脑壳1(粉色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="5" jump_frequency="" type="1" index="3" bodypart="1" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="105" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳2(黄色)" spriteAlpha="" armatureName="脑壳2(黄色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="6" jump_frequency="" type="1" index="4" bodypart="1" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="105" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳2" spriteAlpha="" armatureName="脑壳2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="7" jump_frequency="" type="1" index="5" bodypart="1" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="105" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳2(粉色)" spriteAlpha="" armatureName="脑壳2(粉色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="8" jump_frequency="" type="1" index="6" bodypart="1" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="17.5" icon1offset="25.38,-112.81" icon2offset="" spriteName="脑壳3+上(粉色),脑壳3+下(粉色)" spriteAlpha="" armatureName="脑壳3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="9" jump_frequency="" type="1" index="7" bodypart="1" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="17.5" icon1offset="25.38,-112.81" icon2offset="" spriteName="脑壳3+上(黄色),脑壳3+下(黄色)脑壳2——下" spriteAlpha="" armatureName="脑壳3(黄色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="10" jump_frequency="" type="1" index="8" bodypart="1" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="17.5" icon1offset="25.38,-112.81" icon2offset="" spriteName="脑壳3+上(紫色),脑壳3+下(紫色)" spriteAlpha="" armatureName="脑壳3(紫色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="11" jump_frequency="" type="1" index="9" bodypart="1" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="15" icon1offset="1.82,-132.79" icon2offset="" spriteName="脑壳2(黄色),脑壳3+下(黄色)脑壳2——下" spriteAlpha="" armatureName="脑壳2B(黄色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="12" jump_frequency="" type="1" index="10" bodypart="1" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="15" icon1offset="1.82,-132.79" icon2offset="" spriteName="脑壳2,脑壳2+下(棕色)另一种发型" spriteAlpha="" armatureName="脑壳2B(棕色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="13" jump_frequency="" type="1" index="11" bodypart="1" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="15" icon1offset="1.82,-132.79" icon2offset="" spriteName="脑壳2(粉色),脑壳2+下(粉色)另一种发型" spriteAlpha="" armatureName="脑壳2B(粉色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="14" jump_frequency="" type="1" index="12" bodypart="1" level="30" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头发4(粉色)" spriteAlpha="" armatureName="头发4(粉色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="15" jump_frequency="" type="1" index="13" bodypart="1" level="30" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头发4(蓝色)" spriteAlpha="" armatureName="头发4(蓝色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="16" jump_frequency="" type="1" index="14" bodypart="1" level="30" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头发4(绿色)" spriteAlpha="" armatureName="头发4(绿色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="17" jump_frequency="" type="1" index="15" bodypart="1" level="40" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发5(棕色)" spriteAlpha="" armatureName="头发5(棕色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="18" jump_frequency="" type="1" index="16" bodypart="1" level="40" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发5(红色)" spriteAlpha="" armatureName="头发5(红色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="19" jump_frequency="" type="1" index="17" bodypart="1" level="40" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发5(黄色)" spriteAlpha="" armatureName="头发5(黄色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="20" jump_frequency="" type="1" index="18" bodypart="1" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="15" icon1offset="109.42,-91.88" icon2offset="" spriteName="头发6+上(棕),头发6+下(棕)" spriteAlpha="" armatureName="头发6(棕)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="21" jump_frequency="" type="1" index="19" bodypart="1" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="15" icon1offset="109.42,-91.88" icon2offset="" spriteName="头发6+上(粉),头发6+下(粉)" spriteAlpha="" armatureName="头发6(粉)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="22" jump_frequency="" type="1" index="20" bodypart="1" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="15" icon1offset="109.42,-91.88" icon2offset="" spriteName="头发6+上(绿),头发6+下(绿)" spriteAlpha="" armatureName="头发6(绿)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="23" jump_frequency="" type="1" index="21" bodypart="1" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="15" icon1offset="109.42,-91.88" icon2offset="" spriteName="头发6+上(黄),头发6+下(黄)" spriteAlpha="" armatureName="头发6(黄)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="24" jump_frequency="" type="1" index="22" bodypart="1" level="50" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发7(橙)" spriteAlpha="" armatureName="头发7(橙)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="25" jump_frequency="" type="1" index="23" bodypart="1" level="50" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发7(米白)" spriteAlpha="" armatureName="头发7(米白)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="26" jump_frequency="" type="1" index="24" bodypart="1" level="50" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="头发7(蓝色)" spriteAlpha="" armatureName="头发7(蓝色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="27" jump_frequency="" type="1" index="25" bodypart="1" level="50" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="115" iconOffset="" icon1offset="" icon2offset="" spriteName="头发8(粉)" spriteAlpha="" armatureName="头发8(粉)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="28" jump_frequency="" type="1" index="26" bodypart="1" level="50" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="115" iconOffset="" icon1offset="" icon2offset="" spriteName="头发8(紫)" spriteAlpha="" armatureName="头发8(紫)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="29" jump_frequency="" type="1" index="27" bodypart="1" level="50" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="115" iconOffset="" icon1offset="" icon2offset="" spriteName="头发8(绿)" spriteAlpha="" armatureName="头发8(绿)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="30" jump_frequency="" type="1" index="28" bodypart="1" level="50" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="115" iconOffset="" icon1offset="" icon2offset="" spriteName="头发8(黑)" spriteAlpha="" armatureName="头发8(黑)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="31" jump_frequency="" type="1" index="29" bodypart="1" level="30" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="头发14(粉色)" spriteAlpha="" armatureName="头发14(粉色)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="32" jump_frequency="" type="1" index="30" bodypart="1" level="23" buy_currency="2" buy_amt="38" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="头发9-蓝" spriteAlpha="" armatureName="头发9-蓝" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="33" jump_frequency="" type="1" index="31" bodypart="1" level="23" buy_currency="2" buy_amt="38" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="头发9(白)" spriteAlpha="" armatureName="头发9(白)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="34" jump_frequency="" type="1" index="32" bodypart="1" level="23" buy_currency="2" buy_amt="38" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="头发9-粉" spriteAlpha="" armatureName="头发9-粉" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="35" jump_frequency="" type="1" index="33" bodypart="1" level="23" buy_currency="2" buy_amt="38" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="头发9-黄" spriteAlpha="" armatureName="头发9-黄" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="36" jump_frequency="" type="1" index="34" bodypart="1" level="30" buy_currency="2" buy_amt="80" buy_advance_currency="" buy_advance_amt="" pixelSize="105" iconOffset="10" icon1offset="-6.67,-77.62" icon2offset="" spriteName="头发15(咖啡),头发15(咖啡)+下" spriteAlpha="" armatureName="头发15(咖啡)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="37" jump_frequency="" type="1" index="35" bodypart="1" level="70" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="95" iconOffset="" icon1offset="" icon2offset="" spriteName="头发10(紫)" spriteAlpha="" armatureName="头发10(紫)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="38" jump_frequency="" type="1" index="36" bodypart="1" level="70" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="95" iconOffset="" icon1offset="" icon2offset="" spriteName="头发10(棕)" spriteAlpha="" armatureName="头发10(棕)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="39" jump_frequency="" type="1" index="37" bodypart="1" level="70" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="95.34,-151.30" icon2offset="" spriteName="头发11(蓝),头发11(蓝)后" spriteAlpha="" armatureName="头发11(蓝)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="-70,100" desc="" />
+  <item id="40" jump_frequency="" type="1" index="38" bodypart="1" level="70" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="95.34,-151.30" icon2offset="" spriteName="头发11(棕),头发11(棕)后" spriteAlpha="" armatureName="头发11(棕)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="-70,100" desc="" />
+  <item id="41" jump_frequency="" type="1" index="39" bodypart="1" level="60" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="-40.1,-56.94" icon2offset="" spriteName="头发16,头发16后" spriteAlpha="" armatureName="头发16" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="42" jump_frequency="" type="1" index="40" bodypart="1" level="1" buy_currency="1" buy_amt="0" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="脑壳-缺失" spriteAlpha="" armatureName="脑壳-缺失" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
+  <item id="43" jump_frequency="" type="1" index="41" bodypart="1" level="40" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="25,-15" icon2offset="" spriteName="头发17-1_1,头发17-1后" spriteAlpha="" armatureName="头发17-1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
+  <item id="44" jump_frequency="" type="1" index="42" bodypart="1" level="40" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="25,-15" icon2offset="" spriteName="头发17-2,头发17-2后" spriteAlpha="" armatureName="头发17-2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
+  <item id="45" jump_frequency="" type="1" index="43" bodypart="1" level="40" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="25,-15" icon2offset="" spriteName="头发17-3,头发17-3后" spriteAlpha="" armatureName="头发17-3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
+  <item id="401" jump_frequency="" type="6" index="0" bodypart="3" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子1" spriteAlpha="" armatureName="鞋子1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="402" jump_frequency="" type="6" index="1" bodypart="3" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="2" spriteAlpha="" armatureName="鞋子4" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="403" jump_frequency="" type="6" index="2" bodypart="3" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="3" spriteAlpha="" armatureName="鞋子5" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="404" jump_frequency="" type="6" index="3" bodypart="3" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="4" spriteAlpha="" armatureName="鞋子6" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="405" jump_frequency="" type="6" index="4" bodypart="3" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子2" spriteAlpha="" armatureName="鞋子2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="406" jump_frequency="" type="6" index="5" bodypart="3" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="" icon1offset="" icon2offset="" spriteName="12" spriteAlpha="" armatureName="鞋子14" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="407" jump_frequency="" type="6" index="6" bodypart="3" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="13" spriteAlpha="" armatureName="鞋子15" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="408" jump_frequency="" type="6" index="7" bodypart="3" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子3" spriteAlpha="" armatureName="鞋子3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="409" jump_frequency="" type="6" index="8" bodypart="3" level="" buy_currency="1" buy_amt="10000000" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="11" spriteAlpha="" armatureName="鞋子13" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="410" jump_frequency="" type="6" index="9" bodypart="3" level="30" buy_currency="2" buy_amt="80" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="6" spriteAlpha="" armatureName="鞋子8" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="411" jump_frequency="" type="6" index="10" bodypart="3" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="5" spriteAlpha="" armatureName="鞋子7" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="412" jump_frequency="" type="6" index="11" bodypart="3" level="40" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="7" spriteAlpha="" armatureName="鞋子9" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="413" jump_frequency="" type="6" index="12" bodypart="3" level="40" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="8" spriteAlpha="" armatureName="鞋子10" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="414" jump_frequency="" type="6" index="13" bodypart="3" level="50" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="9" spriteAlpha="" armatureName="鞋子11" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="415" jump_frequency="" type="6" index="14" bodypart="3" level="50" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="10" spriteAlpha="" armatureName="鞋子12" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="416" jump_frequency="" type="6" index="15" bodypart="3" level="30" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="0" icon1offset="-35,0" icon2offset="" spriteName="鞋子14-1,鞋子14-2" spriteAlpha="" armatureName="鞋子16" extraBodypart="" extraArmatureName="" ignore="" icon0offset="35,0" desc="DesignByKnife" />
+  <item id="417" jump_frequency="" type="6" index="16" bodypart="3" level="30" buy_currency="2" buy_amt="80" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="-35,0" icon2offset="" spriteName="鞋子15-1,鞋子15-2" spriteAlpha="" armatureName="鞋子17" extraBodypart="" extraArmatureName="" ignore="" icon0offset="35,0" desc="DesignByKnife" />
+  <item id="418" jump_frequency="" type="6" index="17" bodypart="3" level="50" buy_currency="2" buy_amt="350" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子14a" spriteAlpha="" armatureName="鞋子14a" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="419" jump_frequency="" type="6" index="18" bodypart="3" level="60" buy_currency="2" buy_amt="400" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子14b" spriteAlpha="" armatureName="鞋子14b" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="420" jump_frequency="" type="6" index="19" bodypart="3" level="60" buy_currency="2" buy_amt="400" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="15" icon1offset="" icon2offset="" spriteName="鞋子14c" spriteAlpha="" armatureName="鞋子14c" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="421" jump_frequency="" type="6" index="20" bodypart="3" level="50" buy_currency="2" buy_amt="350" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="0" icon1offset="" icon2offset="" spriteName="新鞋子16" spriteAlpha="" armatureName="新鞋子16" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="423" jump_frequency="" type="6" index="22" bodypart="3" level="40" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="-8" icon1offset="" icon2offset="" spriteName="鞋子18" spriteAlpha="" armatureName="鞋子18" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
+  <item id="422" jump_frequency="" type="6" index="21" bodypart="3" level="1" buy_currency="1" buy_amt="1" buy_advance_currency="" buy_advance_amt="" pixelSize="40" iconOffset="" icon1offset="" icon2offset="" spriteName="鞋子-缺失" spriteAlpha="" armatureName="鞋子-缺失" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
+  <item id="201" jump_frequency="" type="3" index="0" bodypart="2" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子1" spriteAlpha="" armatureName="裙子1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="202" jump_frequency="" type="3" index="1" bodypart="2" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子2" spriteAlpha="" armatureName="裙子2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="203" jump_frequency="" type="3" index="2" bodypart="2" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子3" spriteAlpha="" armatureName="裙子3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="204" jump_frequency="" type="3" index="3" bodypart="2" level="" buy_currency="2" buy_amt="50" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子4" spriteAlpha="" armatureName="裙子4" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="205" jump_frequency="" type="3" index="4" bodypart="2" level="" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="94" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子5" spriteAlpha="" armatureName="裙子5" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="206" jump_frequency="" type="3" index="5" bodypart="2" level="30" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="92" iconOffset="-3.75" icon1offset="" icon2offset="" spriteName="裙子6" spriteAlpha="" armatureName="裙子6" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="207" jump_frequency="" type="3" index="6" bodypart="2" level="30" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="-5.5" icon1offset="" icon2offset="" spriteName="裙子7" spriteAlpha="" armatureName="裙子7" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="208" jump_frequency="" type="3" index="7" bodypart="2" level="30" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="-5.5" icon1offset="" icon2offset="" spriteName="裙子7(粉)" spriteAlpha="" armatureName="裙子7(粉)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="209" jump_frequency="" type="3" index="8" bodypart="2" level="30" buy_currency="2" buy_amt="600" buy_advance_currency="" buy_advance_amt="" pixelSize="116" iconOffset="-8" icon1offset="" icon2offset="" spriteName="裙子8" spriteAlpha="" armatureName="裙子8" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="210" jump_frequency="" type="3" index="9" bodypart="2" level="40" buy_currency="2" buy_amt="700" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子9" spriteAlpha="" armatureName="裙子9" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="211" jump_frequency="" type="3" index="10" bodypart="2" level="40" buy_currency="2" buy_amt="700" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-2,-0.06" icon2offset="" spriteName="裙子10,衣服10" spriteAlpha="" armatureName="裙子10" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="212" jump_frequency="" type="3" index="11" bodypart="2" level="40" buy_currency="2" buy_amt="1000" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-2,-0.06" icon2offset="" spriteName="裙子10(黄),衣服10(黄)" spriteAlpha="" armatureName="裙子10(黄)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="213" jump_frequency="" type="3" index="12" bodypart="2" level="40" buy_currency="2" buy_amt="1000" buy_advance_currency="" buy_advance_amt="" pixelSize="85" iconOffset="" icon1offset="11.96,-14.87" icon2offset="" spriteName="裙子11,衣服11" spriteAlpha="" armatureName="裙子11" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="214" jump_frequency="" type="3" index="13" bodypart="2" level="50" buy_currency="2" buy_amt="1500" buy_advance_currency="" buy_advance_amt="" pixelSize="85" iconOffset="" icon1offset="11.96,-14.87" icon2offset="" spriteName="裙子11(粉),衣服11(粉)" spriteAlpha="" armatureName="裙子11(粉)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="215" jump_frequency="" type="3" index="14" bodypart="2" level="50" buy_currency="2" buy_amt="1500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子12" spriteAlpha="" armatureName="裙子12" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="216" jump_frequency="" type="3" index="15" bodypart="2" level="50" buy_currency="2" buy_amt="2000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子13" spriteAlpha="" armatureName="裙子13" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="217" jump_frequency="" type="3" index="16" bodypart="2" level="50" buy_currency="2" buy_amt="2000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子13(紫)" spriteAlpha="" armatureName="裙子13(紫)" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="218" jump_frequency="" type="3" index="17" bodypart="2" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="下衣14" spriteAlpha="" armatureName="下衣14" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="219" jump_frequency="" type="3" index="18" bodypart="2" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="下衣15" spriteAlpha="" armatureName="裙子15" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="220" jump_frequency="" type="3" index="19" bodypart="2" level="60" buy_currency="2" buy_amt="2200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="下衣14a" spriteAlpha="" armatureName="下衣14a" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="221" jump_frequency="" type="3" index="20" bodypart="2" level="70" buy_currency="2" buy_amt="2500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="1.08,77.07" icon2offset="" spriteName="下衣14b,下衣14b蝴蝶结" spriteAlpha="" armatureName="下衣14b" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="222" jump_frequency="" type="3" index="21" bodypart="2" level="70" buy_currency="2" buy_amt="2500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="1.08,77.08" icon2offset="" spriteName="下衣14c,下衣14c蝴蝶结" spriteAlpha="" armatureName="下衣14c" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="223" jump_frequency="" type="3" index="22" bodypart="2" level="60" buy_currency="2" buy_amt="2200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子16" spriteAlpha="" armatureName="裙子16" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="224" jump_frequency="" type="3" index="23" bodypart="2" level="1" buy_currency="1" buy_amt="0" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子-缺失" spriteAlpha="" armatureName="裙子-缺失" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
+  <item id="225" jump_frequency="" type="3" index="24" bodypart="2" level="40" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="裙子17_1" spriteAlpha="" armatureName="裙子17" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
+  <item id="601" jump_frequency="" type="4" index="0" bodypart="4" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰品1" spriteAlpha="" armatureName="头饰品1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="602" jump_frequency="" type="4" index="1" bodypart="4" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰品2" spriteAlpha="" armatureName="头饰品2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="603" jump_frequency="" type="4" index="2" bodypart="4" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰品3" spriteAlpha="" armatureName="头饰品3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="604" jump_frequency="" type="4" index="3" bodypart="4" level="" buy_currency="2" buy_amt="80" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰4" spriteAlpha="" armatureName="头饰4" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="605" jump_frequency="" type="4" index="4" bodypart="4" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰5" spriteAlpha="" armatureName="头饰5" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="606" jump_frequency="" type="4" index="5" bodypart="4" level="30" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰6" spriteAlpha="" armatureName="头饰6" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="607" jump_frequency="" type="4" index="6" bodypart="4" level="30" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰7" spriteAlpha="" armatureName="头饰7" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="608" jump_frequency="" type="4" index="7" bodypart="4" level="40" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰8" spriteAlpha="" armatureName="头饰8" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="609" jump_frequency="" type="4" index="8" bodypart="4" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰9" spriteAlpha="" armatureName="头饰9" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="610" jump_frequency="" type="4" index="9" bodypart="4" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰10" spriteAlpha="" armatureName="头饰10" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="611" jump_frequency="" type="4" index="10" bodypart="4" level="50" buy_currency="2" buy_amt="350" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰11" spriteAlpha="" armatureName="头饰11" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="612" jump_frequency="" type="4" index="11" bodypart="4" level="50" buy_currency="2" buy_amt="400" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰12" spriteAlpha="" armatureName="头饰12" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="613" jump_frequency="" type="4" index="12" bodypart="4" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="" icon2offset="" spriteName="装饰14" spriteAlpha="" armatureName="装饰14" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="614" jump_frequency="" type="4" index="13" bodypart="4" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰15" spriteAlpha="" armatureName="头饰15" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="615" jump_frequency="" type="4" index="14" bodypart="4" level="80" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰13-1" spriteAlpha="" armatureName="头饰13-1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="616" jump_frequency="" type="4" index="15" bodypart="4" level="80" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰13-2" spriteAlpha="" armatureName="头饰13-2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="618" jump_frequency="" type="4" index="16" bodypart="4" level="1" buy_currency="1" buy_amt="1" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="头饰-缺失" spriteAlpha="" armatureName="头饰-缺失" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
+  <item id="619" jump_frequency="" type="4" index="17" bodypart="4" level="80" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="发饰17-1" spriteAlpha="" armatureName="发饰17-1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="620" jump_frequency="" type="4" index="18" bodypart="4" level="40" buy_currency="2" buy_amt="120" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="发饰17-2" spriteAlpha="" armatureName="发饰17-2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="DesignByMiracle" />
+  <item id="617" jump_frequency="" type="4" index="15" bodypart="4" level="60" buy_currency="2" buy_amt="450" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="帽子16" spriteAlpha="" armatureName="帽子16" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="801" jump_frequency="" type="2" index="0" bodypart="5" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-55.32,19.11" icon2offset="53.41,16.68" spriteName="上衣1,上衣1袖子右,上衣1袖子左" spriteAlpha="" armatureName="上衣1" extraBodypart="10,9" extraArmatureName="短袖1右,短袖1左" ignore="" icon0offset="15,0" desc="" />
+  <item id="802" jump_frequency="" type="2" index="1" bodypart="5" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-55.26,18.83" icon2offset="52.58,17.45" spriteName="上衣2,上衣2袖子右,上衣2袖子左" spriteAlpha="" armatureName="上衣2" extraBodypart="10,9" extraArmatureName="短袖2右,短袖2左" ignore="" icon0offset="" desc="" />
+  <item id="803" jump_frequency="" type="2" index="2" bodypart="5" level="" buy_currency="1" buy_amt="50000" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-55.26,18.83" icon2offset="52.58,17.45" spriteName="上衣3,上衣2袖子右,上衣2袖子左" spriteAlpha="" armatureName="上衣3" extraBodypart="10,9" extraArmatureName="短袖2右,短袖2左" ignore="" icon0offset="" desc="" />
+  <item id="804" jump_frequency="" type="2" index="3" bodypart="5" level="" buy_currency="2" buy_amt="80" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="-16" icon1offset="" icon2offset="" spriteName="上衣4" spriteAlpha="" armatureName="上衣4" extraBodypart="8,7" extraArmatureName="长袖9右,长袖9左" ignore="" icon0offset="" desc="" />
+  <item id="805" jump_frequency="" type="2" index="4" bodypart="5" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-55.26,21.94" icon2offset="53.82,20.56" spriteName="上衣5,上衣2袖子右,上衣2袖子左" spriteAlpha="" armatureName="上衣5" extraBodypart="10,9" extraArmatureName="短袖2右,短袖2左" ignore="" icon0offset="" desc="" />
+  <item id="806" jump_frequency="" type="2" index="5" bodypart="5" level="30" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-59.82,15.89" icon2offset="57.33,13.39" spriteName="上衣6,上衣6袖子右,上衣6袖子左" spriteAlpha="" armatureName="上衣6" extraBodypart="10,9" extraArmatureName="短袖6右,短袖6左" ignore="" icon0offset="" desc="" />
+  <item id="807" jump_frequency="" type="2" index="6" bodypart="5" level="30" buy_currency="2" buy_amt="200" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-59.56,16.23" icon2offset="56.97,13.65" spriteName="上衣7,上衣7袖子右,上衣7袖子左" spriteAlpha="" armatureName="上衣7" extraBodypart="10,9" extraArmatureName="短袖7右,短袖7左" ignore="" icon0offset="" desc="" />
+  <item id="808" jump_frequency="" type="2" index="7" bodypart="5" level="30" buy_currency="2" buy_amt="250" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-59.56,16.23" icon2offset="56.97,13.65" spriteName="上衣7(粉),上衣7粉袖子右,上衣7粉袖子左" spriteAlpha="" armatureName="上衣7(粉)" extraBodypart="10,9" extraArmatureName="短袖7粉右,短袖7粉左" ignore="" icon0offset="" desc="" />
+  <item id="809" jump_frequency="" type="2" index="8" bodypart="5" level="40" buy_currency="2" buy_amt="300" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣8" spriteAlpha="" armatureName="上衣8" extraBodypart="8,7" extraArmatureName="长袖9右,长袖9左" ignore="" icon0offset="" desc="" />
+  <item id="810" jump_frequency="" type="2" index="9" bodypart="5" level="40" buy_currency="2" buy_amt="350" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣9" spriteAlpha="" armatureName="上衣9" extraBodypart="8,7" extraArmatureName="长袖9右,长袖10左" ignore="" icon0offset="" desc="" />
+  <item id="811" jump_frequency="" type="2" index="10" bodypart="5" level="40" buy_currency="2" buy_amt="400" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣10" spriteAlpha="" armatureName="上衣10" extraBodypart="8,7" extraArmatureName="长袖9右,长袖11左" ignore="" icon0offset="" desc="" />
+  <item id="812" jump_frequency="" type="2" index="11" bodypart="5" level="40" buy_currency="2" buy_amt="450" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣10(黄)" spriteAlpha="" armatureName="上衣10(黄)" extraBodypart="8,7" extraArmatureName="长袖9右,长袖12左" ignore="" icon0offset="" desc="" />
+  <item id="813" jump_frequency="" type="2" index="12" bodypart="5" level="50" buy_currency="2" buy_amt="500" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣11" spriteAlpha="" armatureName="上衣11" extraBodypart="8,7" extraArmatureName="长袖9右,长袖13左" ignore="" icon0offset="" desc="" />
+  <item id="814" jump_frequency="" type="2" index="13" bodypart="5" level="50" buy_currency="2" buy_amt="550" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣11(粉)" spriteAlpha="" armatureName="上衣11(粉)" extraBodypart="8,7" extraArmatureName="长袖9右,长袖14左" ignore="" icon0offset="" desc="" />
+  <item id="815" jump_frequency="" type="2" index="14" bodypart="5" level="50" buy_currency="2" buy_amt="600" buy_advance_currency="" buy_advance_amt="" pixelSize="85" iconOffset="" icon1offset="-59.77,16.52" icon2offset="56.81,13.58" spriteName="上衣12,上衣12袖子右,上衣12袖子左" spriteAlpha="" armatureName="上衣12" extraBodypart="10,9" extraArmatureName="短袖12右,短袖12左" ignore="" icon0offset="" desc="" />
+  <item id="816" jump_frequency="" type="2" index="15" bodypart="5" level="50" buy_currency="2" buy_amt="650" buy_advance_currency="" buy_advance_amt="" pixelSize="60" iconOffset="" icon1offset="-50,36.31" icon2offset="57.8,33.83" spriteName="上衣13,上衣13袖子右,上衣13袖子左" spriteAlpha="" armatureName="上衣13" extraBodypart="10,9" extraArmatureName="短袖13右,短袖13左" ignore="" icon0offset="" desc="" />
+  <item id="817" jump_frequency="" type="2" index="16" bodypart="5" level="50" buy_currency="2" buy_amt="700" buy_advance_currency="" buy_advance_amt="" pixelSize="80" iconOffset="" icon1offset="-59.77,36.31" icon2offset="57.8,33.83" spriteName="上衣13(紫),上衣13蓝袖子右,上衣13蓝袖子左" spriteAlpha="" armatureName="上衣13(紫)" extraBodypart="10,9" extraArmatureName="短袖13蓝右,短袖13蓝左" ignore="" icon0offset="" desc="" />
+  <item id="818" jump_frequency="" type="2" index="17" bodypart="5" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣14" spriteAlpha="" armatureName="上衣14" extraBodypart="10,9" extraArmatureName="" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="819" jump_frequency="" type="2" index="18" bodypart="5" level="30" buy_currency="2" buy_amt="100" buy_advance_currency="" buy_advance_amt="" pixelSize="73" iconOffset="" icon1offset="71.85,2.89" icon2offset="-66.24,-0.4" spriteName="上衣15,上衣15(袖子)-1,上衣15(袖子)-2" spriteAlpha="" armatureName="上衣15" extraBodypart="10,9" extraArmatureName="上衣15(袖子)左,上衣15(袖子)右" ignore="" icon0offset="" desc="DesignByKnife" />
+  <item id="820" jump_frequency="" type="2" index="19" bodypart="5" level="50" buy_currency="2" buy_amt="700" buy_advance_currency="" buy_advance_amt="" pixelSize="90" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣14a" spriteAlpha="" armatureName="上衣14a" extraBodypart="10,9" extraArmatureName="上衣14a-袖子2,上衣14a-袖子1" ignore="" icon0offset="" desc="" />
+  <item id="821" jump_frequency="" type="2" index="20" bodypart="5" level="70" buy_currency="2" buy_amt="800" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="" icon1offset="-59.56,16.23" icon2offset="56.97,13.65" spriteName="上衣14b,上衣14b-袖子2,上衣14b-袖子1" spriteAlpha="" armatureName="上衣14b" extraBodypart="10,9" extraArmatureName="上衣14b-袖子2,上衣14b-袖子1" ignore="" icon0offset="" desc="" />
+  <item id="822" jump_frequency="" type="2" index="21" bodypart="5" level="70" buy_currency="2" buy_amt="800" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="" icon1offset="-59.56,16.23" icon2offset="56.97,13.65" spriteName="上衣14c,上衣14c-袖子2,上衣14c-袖子1" spriteAlpha="" armatureName="上衣14c" extraBodypart="10,9" extraArmatureName="上衣14c-袖子2,上衣14c-袖子1" ignore="" icon0offset="" desc="" />
+  <item id="823" jump_frequency="" type="2" index="22" bodypart="5" level="60" buy_currency="2" buy_amt="700" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="" icon1offset="-65,25" icon2offset="50,22" spriteName="上衣16,上衣16袖子2,上衣16袖子1_1" spriteAlpha="" armatureName="上衣16" extraBodypart="10,9" extraArmatureName="上衣16袖子2,上衣16袖子1" ignore="" icon0offset="" desc="" />
+  <item id="824" jump_frequency="" type="2" index="23" bodypart="5" level="1" buy_currency="1" buy_amt="1" buy_advance_currency="" buy_advance_amt="" pixelSize="70" iconOffset="" icon1offset="" icon2offset="" spriteName="上衣-缺失" spriteAlpha="" armatureName="上衣-缺失" extraBodypart="10,9" extraArmatureName="Empty,Empty" ignore="1" icon0offset="" desc="" />
+  <item id="825" jump_frequency="" type="2" index="24" bodypart="5" level="40" buy_currency="2" buy_amt="150" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="衣服17" spriteAlpha="" armatureName="衣服17" extraBodypart="10,9" extraArmatureName="袖子17-2,袖子17-1" ignore="" icon0offset="" desc="DesignByMiracle" />
+  <item id="1001" jump_frequency="" type="5" index="0" bodypart="6" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="100" iconOffset="" icon1offset="" icon2offset="" spriteName="禁止标志" spriteAlpha="0.75" armatureName="Empty" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="1002" jump_frequency="" type="5" index="1" bodypart="6" level="50" buy_currency="2" buy_amt="1500" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀1" spriteAlpha="" armatureName="翅膀1" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="1003" jump_frequency="" type="5" index="2" bodypart="6" level="80" buy_currency="2" buy_amt="2000" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀2" spriteAlpha="" armatureName="翅膀2" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="1004" jump_frequency="" type="5" index="3" bodypart="6" level="90" buy_currency="2" buy_amt="2000" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀3" spriteAlpha="" armatureName="翅膀3" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="1005" jump_frequency="" type="5" index="4" bodypart="6" level="100" buy_currency="2" buy_amt="2500" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀4" spriteAlpha="" armatureName="翅膀4" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="1006" jump_frequency="" type="5" index="5" bodypart="6" level="90" buy_currency="2" buy_amt="2000" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀5" spriteAlpha="" armatureName="翅膀5" extraBodypart="" extraArmatureName="" ignore="" icon0offset="" desc="" />
+  <item id="1007" jump_frequency="" type="5" index="6" bodypart="6" level="1" buy_currency="1" buy_amt="0" buy_advance_currency="" buy_advance_amt="" pixelSize="110" iconOffset="" icon1offset="" icon2offset="" spriteName="翅膀-缺失" spriteAlpha="" armatureName="翅膀-缺失" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
+  <item id="1200" jump_frequency="" type="" index="" bodypart="11" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="眼睛1" spriteAlpha="" armatureName="眼睛1" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
+  <item id="1201" jump_frequency="" type="" index="" bodypart="11" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="眼睛2" spriteAlpha="" armatureName="眼睛2" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
+  <item id="1202" jump_frequency="" type="" index="" bodypart="11" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="眼睛3" spriteAlpha="" armatureName="眼睛3" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
+  <item id="1203" jump_frequency="" type="" index="" bodypart="12" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="嘴巴1" spriteAlpha="" armatureName="嘴巴1" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
+  <item id="1204" jump_frequency="" type="" index="" bodypart="12" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="嘴巴2" spriteAlpha="" armatureName="嘴巴2" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
+  <item id="1205" jump_frequency="" type="" index="" bodypart="12" level="" buy_currency="" buy_amt="" buy_advance_currency="" buy_advance_amt="" pixelSize="" iconOffset="" icon1offset="" icon2offset="" spriteName="嘴巴3" spriteAlpha="" armatureName="嘴巴3" extraBodypart="" extraArmatureName="" ignore="1" icon0offset="" desc="" />
+  <comment>
     <id>
 id
-</id>
+</id>
     <jump_frequency>
 每过多久必然跳且只跳一次
-</jump_frequency>
+</jump_frequency>
     <type>
 类型
-</type>
+</type>
     <index>
 位置
-</index>
+</index>
     <bodypart>
 换装部位
-</bodypart>
+</bodypart>
     <level>
 可以购买等级
-</level>
+</level>
     <buy_currency>
 购买货币类型
-</buy_currency>
+</buy_currency>
     <buy_amt>
 购买消耗值
-</buy_amt>
+</buy_amt>
     <buy_advance_currency>
 提前购买货币类型
-</buy_advance_currency>
+</buy_advance_currency>
     <buy_advance_amt>
 提前购买消耗值
-</buy_advance_amt>
+</buy_advance_amt>
     <pixelSize>
 Sprite大小
-</pixelSize>
+</pixelSize>
     <iconOffset>
 三个sprite的偏移
-</iconOffset>
+</iconOffset>
     <icon1offset>
 第二个Sprite的额外偏移
-</icon1offset>
+</icon1offset>
     <icon2offset>
 第三个Sprite的额外偏移
-</icon2offset>
+</icon2offset>
     <spriteName>
 sprite名字
-</spriteName>
+</spriteName>
     <spriteAlpha>
 sprite透明度
-</spriteAlpha>
+</spriteAlpha>
     <armatureName>
 骨骼名字
-</armatureName>
+</armatureName>
     <extraBodypart>
 
-</extraBodypart>
+</extraBodypart>
     <extraArmatureName>
 
-</extraArmatureName>
+</extraArmatureName>
     <ignore>
 暂时不使用
-</ignore>
+</ignore>
     <icon0offset>
 第一个Sprite的额外偏移
-</icon0offset>
+</icon0offset>
     <desc>
 添加描述
-</desc>
-  </comment>
+</desc>
+  </comment>
 </data>

+ 66 - 66
Assets/Resource/XML/Config/flower_config.xml

@@ -1,92 +1,92 @@
-<data>
-  <item id="1" name="粉色小花" desc="粉色小花的描述" unlock_ahead_cur="1" unlock_ahead="50000" icon="Flower1" anim="" flower_coin_buff="0.5" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="0" name="缺失小花" desc="" unlock_ahead_cur="1" unlock_ahead="0" icon="Flower0" anim="" flower_coin_buff="0" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="0" />
-  <item id="2" name="紫色小花" desc="紫色小花的描述" unlock_ahead_cur="1" unlock_ahead="50000" icon="Flower2" anim="" flower_coin_buff="0.51" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="3" name="波斯菊(粉)" desc="波斯菊(粉)的描述" unlock_ahead_cur="1" unlock_ahead="100000" icon="Flower3" anim="" flower_coin_buff="0.52" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="4" name="康乃馨(红)" desc="康乃馨(红)的描述" unlock_ahead_cur="1" unlock_ahead="500000" icon="Flower4" anim="" flower_coin_buff="0.53" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="5" name="铃兰(白)" desc="铃兰(白)的描述" unlock_ahead_cur="1" unlock_ahead="1000000" icon="Flower5" anim="" flower_coin_buff="0.54" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="6" name="马蹄莲(白)" desc="马蹄莲(白)的描述" unlock_ahead_cur="1" unlock_ahead="5000000" icon="Flower6" anim="" flower_coin_buff="0.55" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="7" name="蒲公英" desc="蒲公英的描述" unlock_ahead_cur="2" unlock_ahead="100" icon="Flower7" anim="" flower_coin_buff="0.56" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="8" name="牵牛花(蓝)" desc="牵牛花(蓝)的描述" unlock_ahead_cur="2" unlock_ahead="100" icon="Flower8" anim="" flower_coin_buff="0.57" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="9" name="三色堇(紫)" desc="三色堇(紫)的描述" unlock_ahead_cur="2" unlock_ahead="150" icon="Flower9" anim="" flower_coin_buff="0.58" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="10" name="三叶草(粉)" desc="三叶草(粉)的描述" unlock_ahead_cur="2" unlock_ahead="150" icon="Flower10" anim="" flower_coin_buff="0.59" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="11" name="向日葵" desc="向日葵的描述" unlock_ahead_cur="2" unlock_ahead="200" icon="Flower11" anim="" flower_coin_buff="0.6" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="12" name="郁金香(粉)" desc="郁金香(粉)的描述" unlock_ahead_cur="2" unlock_ahead="200" icon="Flower12" anim="" flower_coin_buff="0.61" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="13" name="百合花(白)" desc="" unlock_ahead_cur="2" unlock_ahead="200" icon="Flower13" anim="" flower_coin_buff="0.62" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="14" name="非洲菊(粉)" desc="" unlock_ahead_cur="2" unlock_ahead="200" icon="Flower14" anim="" flower_coin_buff="0.63" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="15" name="红掌" desc="" unlock_ahead_cur="2" unlock_ahead="300" icon="Flower15" anim="" flower_coin_buff="0.64" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="16" name="桔梗花" desc="" unlock_ahead_cur="2" unlock_ahead="300" icon="Flower16" anim="" flower_coin_buff="0.65" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="17" name="康乃馨(白)" desc="" unlock_ahead_cur="2" unlock_ahead="300" icon="Flower17" anim="" flower_coin_buff="0.66" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="18" name="铃兰(粉)" desc="" unlock_ahead_cur="2" unlock_ahead="400" icon="Flower18" anim="" flower_coin_buff="0.67" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="19" name="曼陀罗(橘)" desc="" unlock_ahead_cur="2" unlock_ahead="400" icon="Flower19" anim="" flower_coin_buff="0.68" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="20" name="曼陀罗(粉)" desc="" unlock_ahead_cur="2" unlock_ahead="400" icon="Flower20" anim="" flower_coin_buff="0.69" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="21" name="玫瑰花(红)" desc="" unlock_ahead_cur="2" unlock_ahead="400" icon="Flower21" anim="" flower_coin_buff="0.7" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="22" name="玫瑰花(黄)" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower22" anim="" flower_coin_buff="0.71" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="23" name="茑萝" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower23" anim="" flower_coin_buff="0.72" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="24" name="牵牛花(紫)" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower24" anim="" flower_coin_buff="0.73" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="25" name="虞美人(红)" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower25" anim="" flower_coin_buff="0.74" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="26" name="郁金香(黄)" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower26" anim="" flower_coin_buff="0.75" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="27" name="鸢尾(紫)" desc="" unlock_ahead_cur="2" unlock_ahead="600" icon="Flower27" anim="" flower_coin_buff="0.76" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="28" name="朱槿(粉)" desc="" unlock_ahead_cur="2" unlock_ahead="600" icon="Flower28" anim="" flower_coin_buff="0.77" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="29" name="朱槿(黄)" desc="" unlock_ahead_cur="2" unlock_ahead="600" icon="Flower29" anim="" flower_coin_buff="0.78" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="30" name="满天星(白)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower30" anim="" flower_coin_buff="0.79" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="31" name="满天星(粉)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower31" anim="" flower_coin_buff="0.8" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="32" name="紫罗兰(白)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower32" anim="" flower_coin_buff="0.81" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="33" name="紫罗兰(紫)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower33" anim="" flower_coin_buff="0.82" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="34" name="紫罗兰(蓝)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower34" anim="" flower_coin_buff="0.83" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="35" name="鸡冠花(红)" desc="" unlock_ahead_cur="2" unlock_ahead="1000" icon="Flower35" anim="" flower_coin_buff="0.84" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="36" name="鸡冠花(黄)" desc="" unlock_ahead_cur="2" unlock_ahead="1000" icon="Flower36" anim="" flower_coin_buff="0.85" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="37" name="风信子(白色) " desc="" unlock_ahead_cur="1" unlock_ahead="5000000" icon="Flower37" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
-  <item id="38" name="风信子(粉色)" desc="" unlock_ahead_cur="1" unlock_ahead="10000000" icon="Flower38" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
-  <item id="39" name="风信子(黄色)" desc="" unlock_ahead_cur="2" unlock_ahead="100" icon="Flower39" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
-  <item id="40" name="风信子(紫色)" desc="" unlock_ahead_cur="2" unlock_ahead="150" icon="Flower40" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
-  <item id="41" name="虎刺梅(红色)" desc="" unlock_ahead_cur="2" unlock_ahead="300" icon="Flower41" anim="" flower_coin_buff="0.85" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="42" name="虎刺梅(黄色)" desc="" unlock_ahead_cur="2" unlock_ahead="300" icon="Flower42" anim="" flower_coin_buff="0.85" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
-  <item id="43" name="茉莉花(黄色)" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower43" anim="" flower_coin_buff="0.85" itemSize="0.3" flowerCardSize="0.8" minigameSize="1.2625" show="" />
-  <item id="44" name="茉莉花(紫色)" desc="" unlock_ahead_cur="2" unlock_ahead="600" icon="Flower44" anim="" flower_coin_buff="0.85" itemSize="0.3" flowerCardSize="0.8" minigameSize="1.2625" show="" />
-  <item id="45" name="勿忘我(黄色)" desc="" unlock_ahead_cur="2" unlock_ahead="600" icon="Flower45" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
-  <item id="46" name="勿忘我(蓝色)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower46" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
-  <item id="47" name="勿忘我(紫色)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower47" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
-  <item id="48" name="花烟草(白色)" desc="" unlock_ahead_cur="2" unlock_ahead="800" icon="Flower48" anim="" flower_coin_buff="0.85" itemSize="0.3" flowerCardSize="0.8" minigameSize="1.2625" show="" />
-  <item id="49" name="花烟草(粉色)" desc="" unlock_ahead_cur="2" unlock_ahead="800" icon="Flower49" anim="" flower_coin_buff="0.85" itemSize="0.3" flowerCardSize="0.8" minigameSize="1.2625" show="" />
-  <item id="50" name="花烟草(红色)" desc="" unlock_ahead_cur="2" unlock_ahead="800" icon="Flower50" anim="" flower_coin_buff="0.85" itemSize="0.3" flowerCardSize="0.8" minigameSize="1.2625" show="" />
-  <comment>
+<data>
+  <item id="1" name="粉色小花" desc="粉色小花的描述" unlock_ahead_cur="1" unlock_ahead="50000" icon="Flower1" anim="" flower_coin_buff="0.5" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="0" name="缺失小花" desc="" unlock_ahead_cur="1" unlock_ahead="0" icon="Flower0" anim="" flower_coin_buff="0" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="0" />
+  <item id="2" name="紫色小花" desc="紫色小花的描述" unlock_ahead_cur="1" unlock_ahead="50000" icon="Flower2" anim="" flower_coin_buff="0.51" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="3" name="波斯菊(粉)" desc="波斯菊(粉)的描述" unlock_ahead_cur="1" unlock_ahead="100000" icon="Flower3" anim="" flower_coin_buff="0.52" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="4" name="康乃馨(红)" desc="康乃馨(红)的描述" unlock_ahead_cur="1" unlock_ahead="500000" icon="Flower4" anim="" flower_coin_buff="0.53" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="5" name="铃兰(白)" desc="铃兰(白)的描述" unlock_ahead_cur="1" unlock_ahead="1000000" icon="Flower5" anim="" flower_coin_buff="0.54" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="6" name="马蹄莲(白)" desc="马蹄莲(白)的描述" unlock_ahead_cur="1" unlock_ahead="5000000" icon="Flower6" anim="" flower_coin_buff="0.55" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="7" name="蒲公英" desc="蒲公英的描述" unlock_ahead_cur="2" unlock_ahead="100" icon="Flower7" anim="" flower_coin_buff="0.56" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="8" name="牵牛花(蓝)" desc="牵牛花(蓝)的描述" unlock_ahead_cur="2" unlock_ahead="100" icon="Flower8" anim="" flower_coin_buff="0.57" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="9" name="三色堇(紫)" desc="三色堇(紫)的描述" unlock_ahead_cur="2" unlock_ahead="150" icon="Flower9" anim="" flower_coin_buff="0.58" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="10" name="三叶草(粉)" desc="三叶草(粉)的描述" unlock_ahead_cur="2" unlock_ahead="150" icon="Flower10" anim="" flower_coin_buff="0.59" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="11" name="向日葵" desc="向日葵的描述" unlock_ahead_cur="2" unlock_ahead="200" icon="Flower11" anim="" flower_coin_buff="0.6" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="12" name="郁金香(粉)" desc="郁金香(粉)的描述" unlock_ahead_cur="2" unlock_ahead="200" icon="Flower12" anim="" flower_coin_buff="0.61" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="13" name="百合花(白)" desc="" unlock_ahead_cur="2" unlock_ahead="200" icon="Flower13" anim="" flower_coin_buff="0.62" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="14" name="非洲菊(粉)" desc="" unlock_ahead_cur="2" unlock_ahead="200" icon="Flower14" anim="" flower_coin_buff="0.63" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="15" name="红掌" desc="" unlock_ahead_cur="2" unlock_ahead="300" icon="Flower15" anim="" flower_coin_buff="0.64" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="16" name="桔梗花" desc="" unlock_ahead_cur="2" unlock_ahead="300" icon="Flower16" anim="" flower_coin_buff="0.65" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="17" name="康乃馨(白)" desc="" unlock_ahead_cur="2" unlock_ahead="300" icon="Flower17" anim="" flower_coin_buff="0.66" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="18" name="铃兰(粉)" desc="" unlock_ahead_cur="2" unlock_ahead="400" icon="Flower18" anim="" flower_coin_buff="0.67" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="19" name="曼陀罗(橘)" desc="" unlock_ahead_cur="2" unlock_ahead="400" icon="Flower19" anim="" flower_coin_buff="0.68" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="20" name="曼陀罗(粉)" desc="" unlock_ahead_cur="2" unlock_ahead="400" icon="Flower20" anim="" flower_coin_buff="0.69" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="21" name="玫瑰花(红)" desc="" unlock_ahead_cur="2" unlock_ahead="400" icon="Flower21" anim="" flower_coin_buff="0.7" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="22" name="玫瑰花(黄)" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower22" anim="" flower_coin_buff="0.71" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="23" name="茑萝" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower23" anim="" flower_coin_buff="0.72" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="24" name="牵牛花(紫)" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower24" anim="" flower_coin_buff="0.73" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="25" name="虞美人(红)" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower25" anim="" flower_coin_buff="0.74" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="26" name="郁金香(黄)" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower26" anim="" flower_coin_buff="0.75" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="27" name="鸢尾(紫)" desc="" unlock_ahead_cur="2" unlock_ahead="600" icon="Flower27" anim="" flower_coin_buff="0.76" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="28" name="朱槿(粉)" desc="" unlock_ahead_cur="2" unlock_ahead="600" icon="Flower28" anim="" flower_coin_buff="0.77" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="29" name="朱槿(黄)" desc="" unlock_ahead_cur="2" unlock_ahead="600" icon="Flower29" anim="" flower_coin_buff="0.78" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="30" name="满天星(白)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower30" anim="" flower_coin_buff="0.79" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="31" name="满天星(粉)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower31" anim="" flower_coin_buff="0.8" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="32" name="紫罗兰(白)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower32" anim="" flower_coin_buff="0.81" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="33" name="紫罗兰(紫)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower33" anim="" flower_coin_buff="0.82" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="34" name="紫罗兰(蓝)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower34" anim="" flower_coin_buff="0.83" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="35" name="鸡冠花(红)" desc="" unlock_ahead_cur="2" unlock_ahead="1000" icon="Flower35" anim="" flower_coin_buff="0.84" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="36" name="鸡冠花(黄)" desc="" unlock_ahead_cur="2" unlock_ahead="1000" icon="Flower36" anim="" flower_coin_buff="0.85" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="37" name="风信子(白色) " desc="" unlock_ahead_cur="1" unlock_ahead="5000000" icon="Flower37" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
+  <item id="38" name="风信子(粉色)" desc="" unlock_ahead_cur="1" unlock_ahead="10000000" icon="Flower38" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
+  <item id="39" name="风信子(黄色)" desc="" unlock_ahead_cur="2" unlock_ahead="100" icon="Flower39" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
+  <item id="40" name="风信子(紫色)" desc="" unlock_ahead_cur="2" unlock_ahead="150" icon="Flower40" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
+  <item id="41" name="虎刺梅(红色)" desc="" unlock_ahead_cur="2" unlock_ahead="300" icon="Flower41" anim="" flower_coin_buff="0.85" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="42" name="虎刺梅(黄色)" desc="" unlock_ahead_cur="2" unlock_ahead="300" icon="Flower42" anim="" flower_coin_buff="0.85" itemSize="0.25" flowerCardSize="0.6125" minigameSize="1.0625" show="" />
+  <item id="43" name="茉莉花(黄色)" desc="" unlock_ahead_cur="2" unlock_ahead="500" icon="Flower43" anim="" flower_coin_buff="0.85" itemSize="0.3" flowerCardSize="0.8" minigameSize="1.2625" show="" />
+  <item id="44" name="茉莉花(紫色)" desc="" unlock_ahead_cur="2" unlock_ahead="600" icon="Flower44" anim="" flower_coin_buff="0.85" itemSize="0.3" flowerCardSize="0.8" minigameSize="1.2625" show="" />
+  <item id="45" name="勿忘我(黄色)" desc="" unlock_ahead_cur="2" unlock_ahead="600" icon="Flower45" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
+  <item id="46" name="勿忘我(蓝色)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower46" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
+  <item id="47" name="勿忘我(紫色)" desc="" unlock_ahead_cur="2" unlock_ahead="700" icon="Flower47" anim="" flower_coin_buff="0.85" itemSize="0.2" flowerCardSize="0.5" minigameSize="0.9" show="" />
+  <item id="48" name="花烟草(白色)" desc="" unlock_ahead_cur="2" unlock_ahead="800" icon="Flower48" anim="" flower_coin_buff="0.85" itemSize="0.3" flowerCardSize="0.8" minigameSize="1.2625" show="" />
+  <item id="49" name="花烟草(粉色)" desc="" unlock_ahead_cur="2" unlock_ahead="800" icon="Flower49" anim="" flower_coin_buff="0.85" itemSize="0.3" flowerCardSize="0.8" minigameSize="1.2625" show="" />
+  <item id="50" name="花烟草(红色)" desc="" unlock_ahead_cur="2" unlock_ahead="800" icon="Flower50" anim="" flower_coin_buff="0.85" itemSize="0.3" flowerCardSize="0.8" minigameSize="1.2625" show="" />
+  <comment>
     <id>
 id
-</id>
+</id>
     <name>
 名称
-</name>
+</name>
     <desc>
 描述
-</desc>
+</desc>
     <unlock_ahead_cur>
 提前解锁
 消耗货币
-</unlock_ahead_cur>
+</unlock_ahead_cur>
     <unlock_ahead>
 提前解锁消耗的货币
-</unlock_ahead>
+</unlock_ahead>
     <icon>
 图标
-</icon>
+</icon>
     <anim>
 场景物件
-</anim>
+</anim>
     <flower_coin_buff>
 种花金币加成
-</flower_coin_buff>
+</flower_coin_buff>
     <itemSize>
 
-</itemSize>
+</itemSize>
     <flowerCardSize>
 
-</flowerCardSize>
+</flowerCardSize>
     <minigameSize>
 
-</minigameSize>
+</minigameSize>
     <show>
 显示在花朵管理界面
-</show>
-  </comment>
+</show>
+  </comment>
 </data>

+ 18 - 18
Assets/Resource/XML/Config/iap_config.xml

@@ -1,31 +1,31 @@
-<data>
-  <item id="1" item_id="com.dashgame.garden.packfresh" price="6" reward="pack,4" desc="新手礼包" skill_id="Pack4" />
-  <item id="2" item_id="com.dashgame.garden.packjunior" price="30" reward="pack,5" desc="中级礼包" skill_id="Pack5" />
-  <item id="3" item_id="com.dashgame.garden.packsenior" price="68" reward="pack,6" desc="高级礼包" skill_id="Pack6" />
-  <item id="4" item_id="com.dashgame.garden.diamond100" price="6" reward="pack,7" desc="钻石100" skill_id="Pack7" />
-  <item id="5" item_id="com.dashgame.garden.diamond500" price="30" reward="pack,8" desc="钻石500 赠送50" skill_id="Pack8" />
-  <item id="6" item_id="com.dashgame.garden.diamond2000" price="68" reward="pack,9" desc="钻石2000 赠送500" skill_id="Pack9" />
-  <item id="7" item_id="com.dashgame.garden.diamond6000" price="128" reward="pack,10" desc="钻石6000 赠送600" skill_id="Pack10" />
-  <item id="8" item_id="com.dashgame.garden.diamond10000" price="328" reward="pack,11" desc="钻石10000 赠送2000" skill_id="Pack11" />
-  <item id="9" item_id="com.dashgame.garden.packone" price="1" reward="pack,12" desc="一元畅玩包" skill_id="Pack12" />
-  <comment>
+<data>
+  <item id="1" item_id="com.dashgame.garden.packfresh" price="6" reward="pack,4" desc="新手礼包" skill_id="Pack4" />
+  <item id="2" item_id="com.dashgame.garden.packjunior" price="30" reward="pack,5" desc="中级礼包" skill_id="Pack5" />
+  <item id="3" item_id="com.dashgame.garden.packsenior" price="68" reward="pack,6" desc="高级礼包" skill_id="Pack6" />
+  <item id="4" item_id="com.dashgame.garden.diamond100" price="6" reward="pack,7" desc="钻石100" skill_id="Pack7" />
+  <item id="5" item_id="com.dashgame.garden.diamond500" price="30" reward="pack,8" desc="钻石500 赠送50" skill_id="Pack8" />
+  <item id="6" item_id="com.dashgame.garden.diamond2000" price="68" reward="pack,9" desc="钻石2000 赠送500" skill_id="Pack9" />
+  <item id="7" item_id="com.dashgame.garden.diamond6000" price="128" reward="pack,10" desc="钻石6000 赠送600" skill_id="Pack10" />
+  <item id="8" item_id="com.dashgame.garden.diamond10000" price="328" reward="pack,11" desc="钻石10000 赠送2000" skill_id="Pack11" />
+  <item id="9" item_id="com.dashgame.garden.packone" price="1" reward="pack,12" desc="一元畅玩包" skill_id="Pack12" />
+  <comment>
     <id>
 编号
-</id>
+</id>
     <item_id>
 商品id
-</item_id>
+</item_id>
     <price>
 价格
-</price>
+</price>
     <reward>
 奖励字符串
-</reward>
+</reward>
     <desc>
 描述
-</desc>
+</desc>
     <skill_id>
 技能id
-</skill_id>
-  </comment>
+</skill_id>
+  </comment>
 </data>

+ 12 - 12
Assets/Resource/XML/Config/lottery_config.xml

@@ -1,23 +1,23 @@
-<data>
-  <item id="1" type="1" rate="0.69" left_border="200*l" right_border="1000*l" />
-  <item id="2" type="2" rate="0.25" left_border="10" right_border="60" />
-  <item id="3" type="3" rate="0.05" left_border="1" right_border="20" />
-  <item id="4" type="4" rate="0.01" left_border="2,201,401,601,801" right_border="13,207,411,605,805" />
-  <comment>
+<data>
+  <item id="1" type="1" rate="0.69" left_border="200*l" right_border="1000*l" />
+  <item id="2" type="2" rate="0.25" left_border="10" right_border="60" />
+  <item id="3" type="3" rate="0.05" left_border="1" right_border="20" />
+  <item id="4" type="4" rate="0.01" left_border="2,201,401,601,801" right_border="13,207,411,605,805" />
+  <comment>
     <id>
 id
-</id>
+</id>
     <type>
 奖励种类
-</type>
+</type>
     <rate>
 出现该奖励的概率
-</rate>
+</rate>
     <left_border>
 奖励区间左
-</left_border>
+</left_border>
     <right_border>
 奖励区间右
-</right_border>
-  </comment>
+</right_border>
+  </comment>
 </data>

+ 9 - 9
Assets/Resource/XML/Config/minigame_config.xml

@@ -1,20 +1,20 @@
-<data>
-  <item id="1" switch_minigame_cost_fml="i*30" coin_cd_minigame_time="30" coin_cd_minigame_cost_fml="i" diamond_cd_minigame_cost_fml="s*0.5" />
-  <comment>
+<data>
+  <item id="1" switch_minigame_cost_fml="i*30" coin_cd_minigame_time="30" coin_cd_minigame_cost_fml="i" diamond_cd_minigame_cost_fml="s*0.5" />
+  <comment>
     <id>
 
-</id>
+</id>
     <switch_minigame_cost_fml>
 切换游戏花费公式 i-每十秒收益
-</switch_minigame_cost_fml>
+</switch_minigame_cost_fml>
     <coin_cd_minigame_time>
 金币减少小游戏冷却时间
-</coin_cd_minigame_time>
+</coin_cd_minigame_time>
     <coin_cd_minigame_cost_fml>
 金币减少小游戏冷却时间花费公式 i-每十秒收益
-</coin_cd_minigame_cost_fml>
+</coin_cd_minigame_cost_fml>
     <diamond_cd_minigame_cost_fml>
 钻石减少小游戏冷却时间花费公式 s-剩余秒数
-</diamond_cd_minigame_cost_fml>
-  </comment>
+</diamond_cd_minigame_cost_fml>
+  </comment>
 </data>

+ 8 - 8
Assets/Resource/XML/Config/offline_config.xml

@@ -1,17 +1,17 @@
-<data>
-  <item id="1" addtion_fml="c*0.5" coin_lmt="" time_lmt="14400" />
-  <comment>
+<data>
+  <item id="1" addtion_fml="c*0.5" coin_lmt="" time_lmt="14400" />
+  <comment>
     <id>
 id
-</id>
+</id>
     <addtion_fml>
 加成公式
-</addtion_fml>
+</addtion_fml>
     <coin_lmt>
 金币上限
-</coin_lmt>
+</coin_lmt>
     <time_lmt>
 时间上限
-</time_lmt>
-  </comment>
+</time_lmt>
+  </comment>
 </data>

+ 33 - 33
Assets/Resource/XML/Config/pack_config.xml

@@ -1,75 +1,75 @@
-<data>
-  <item id="1" name="金币大礼包" class="3" class_id="2" coin_person="" person="" skill_cd="" coin="9000*c" diamond="" flower="" use_lv="" use_cur="2" use_amnt="200" desc="立即获得金币 [&amp;coin&amp;]" icon="绿-金币包1" anim="" label="" lock="" />
-  <item id="2" name="天赐大礼包" class="3" class_id="3" coin_person="" person="" skill_cd="" coin="36000*c" diamond="" flower="" use_lv="" use_cur="2" use_amnt="400" desc="立即获得金币 [&amp;coin&amp;]" icon="绿-金币包2" anim="" label="" lock="" />
-  <item id="3" name="花神大礼包" class="3" class_id="4" coin_person="" person="" skill_cd="" coin="90000*c" diamond="" flower="" use_lv="" use_cur="2" use_amnt="800" desc="立即获得金币 [&amp;coin&amp;]" icon="绿-金币包3" anim="" label="" lock="" />
-  <item id="4" name="新手礼包" class="4" class_id="3" coin_person="5%" person="" skill_cd="" coin="" diamond="150" flower="25" use_lv="" use_cur="3" use_amnt="6" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-初级包" anim="" label="" lock="1" />
-  <item id="5" name="中级礼包" class="4" class_id="4" coin_person="5%" person="" skill_cd="" coin="" diamond="500" flower="26" use_lv="" use_cur="3" use_amnt="30" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-中级包" anim="" label="" lock="1" />
-  <item id="6" name="高级礼包" class="4" class_id="5" coin_person="5%" person="" skill_cd="" coin="" diamond="2000" flower="27" use_lv="" use_cur="3" use_amnt="68" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-高级包" anim="" label="" lock="1" />
-  <item id="7" name="钻石100" class="4" class_id="6" coin_person="" person="" skill_cd="" coin="" diamond="100" flower="" use_lv="" use_cur="3" use_amnt="6" desc="购买 [&amp;diamond&amp;]钻石" icon="蓝-免费钻" anim="" label="" lock="" />
-  <item id="8" name="钻石500 赠送50" class="4" class_id="7" coin_person="" person="" skill_cd="" coin="" diamond="550" flower="" use_lv="" use_cur="3" use_amnt="30" desc="共计 [&amp;diamond&amp;]钻石" icon="蓝-免费钻" anim="" label="MostPopular" lock="" />
-  <item id="9" name="钻石2000 赠送500" class="4" class_id="8" coin_person="" person="" skill_cd="" coin="" diamond="2500" flower="" use_lv="" use_cur="3" use_amnt="68" desc="共计 [&amp;diamond&amp;]钻石" icon="蓝-小量钻石" anim="" label="HighestValue" lock="" />
-  <item id="10" name="钻石6000 赠送600" class="4" class_id="9" coin_person="" person="" skill_cd="" coin="" diamond="6600" flower="" use_lv="" use_cur="3" use_amnt="128" desc="共计 [&amp;diamond&amp;]钻石" icon="蓝-中量钻石" anim="" label="" lock="" />
-  <item id="11" name="钻石10000 赠送2000" class="4" class_id="10" coin_person="" person="" skill_cd="" coin="" diamond="12000" flower="" use_lv="" use_cur="3" use_amnt="328" desc="共计 [&amp;diamond&amp;]钻石" icon="蓝-大量钻石" anim="" label="" lock="" />
-  <item id="12" name="一元畅玩包" class="4" class_id="2" coin_person="1%" person="" skill_cd="" coin="" diamond="100" flower="" use_lv="" use_cur="3" use_amnt="1" desc="获得[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-一元包" anim="" label="HighestValue" lock="1" />
-  <comment>
+<data>
+  <item id="1" name="金币大礼包" class="3" class_id="2" coin_person="" person="" skill_cd="" coin="9000*c" diamond="" flower="" use_lv="" use_cur="2" use_amnt="200" desc="立即获得金币 [&amp;coin&amp;]" icon="绿-金币包1" anim="" label="" lock="" />
+  <item id="2" name="天赐大礼包" class="3" class_id="3" coin_person="" person="" skill_cd="" coin="36000*c" diamond="" flower="" use_lv="" use_cur="2" use_amnt="400" desc="立即获得金币 [&amp;coin&amp;]" icon="绿-金币包2" anim="" label="" lock="" />
+  <item id="3" name="花神大礼包" class="3" class_id="4" coin_person="" person="" skill_cd="" coin="90000*c" diamond="" flower="" use_lv="" use_cur="2" use_amnt="800" desc="立即获得金币 [&amp;coin&amp;]" icon="绿-金币包3" anim="" label="" lock="" />
+  <item id="4" name="新手礼包" class="4" class_id="3" coin_person="5%" person="" skill_cd="" coin="" diamond="150" flower="25" use_lv="" use_cur="3" use_amnt="6" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-初级包" anim="" label="" lock="1" />
+  <item id="5" name="中级礼包" class="4" class_id="4" coin_person="5%" person="" skill_cd="" coin="" diamond="500" flower="26" use_lv="" use_cur="3" use_amnt="30" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-中级包" anim="" label="" lock="1" />
+  <item id="6" name="高级礼包" class="4" class_id="5" coin_person="5%" person="" skill_cd="" coin="" diamond="2000" flower="27" use_lv="" use_cur="3" use_amnt="68" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-高级包" anim="" label="" lock="1" />
+  <item id="7" name="钻石100" class="4" class_id="6" coin_person="" person="" skill_cd="" coin="" diamond="100" flower="" use_lv="" use_cur="3" use_amnt="6" desc="购买 [&amp;diamond&amp;]钻石" icon="蓝-免费钻" anim="" label="" lock="" />
+  <item id="8" name="钻石500 赠送50" class="4" class_id="7" coin_person="" person="" skill_cd="" coin="" diamond="550" flower="" use_lv="" use_cur="3" use_amnt="30" desc="共计 [&amp;diamond&amp;]钻石" icon="蓝-免费钻" anim="" label="MostPopular" lock="" />
+  <item id="9" name="钻石2000 赠送500" class="4" class_id="8" coin_person="" person="" skill_cd="" coin="" diamond="2500" flower="" use_lv="" use_cur="3" use_amnt="68" desc="共计 [&amp;diamond&amp;]钻石" icon="蓝-小量钻石" anim="" label="HighestValue" lock="" />
+  <item id="10" name="钻石6000 赠送600" class="4" class_id="9" coin_person="" person="" skill_cd="" coin="" diamond="6600" flower="" use_lv="" use_cur="3" use_amnt="128" desc="共计 [&amp;diamond&amp;]钻石" icon="蓝-中量钻石" anim="" label="" lock="" />
+  <item id="11" name="钻石10000 赠送2000" class="4" class_id="10" coin_person="" person="" skill_cd="" coin="" diamond="12000" flower="" use_lv="" use_cur="3" use_amnt="328" desc="共计 [&amp;diamond&amp;]钻石" icon="蓝-大量钻石" anim="" label="" lock="" />
+  <item id="12" name="一元畅玩包" class="4" class_id="2" coin_person="1%" person="" skill_cd="" coin="" diamond="100" flower="" use_lv="" use_cur="3" use_amnt="1" desc="获得[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-一元包" anim="" label="HighestValue" lock="1" />
+  <comment>
     <id>
 id
-</id>
+</id>
     <name>
 名称
-</name>
+</name>
     <class>
 所属类别
-</class>
+</class>
     <class_id>
 所属
 类别序号
-</class_id>
+</class_id>
     <coin_person>
 每人次收入
 基础值
-</coin_person>
+</coin_person>
     <person>
 每秒参观数
 基础值
-</person>
+</person>
     <skill_cd>
 技能冷却
-</skill_cd>
+</skill_cd>
     <coin>
 获得金币
-</coin>
+</coin>
     <diamond>
 获得钻石
-</diamond>
+</diamond>
     <flower>
 获得花朵
-</flower>
+</flower>
     <use_lv>
 使用等级
-</use_lv>
+</use_lv>
     <use_cur>
 使用
 消耗货币
-</use_cur>
+</use_cur>
     <use_amnt>
 使用
 消耗数值
-</use_amnt>
+</use_amnt>
     <desc>
 描述
-</desc>
+</desc>
     <icon>
 图标
-</icon>
+</icon>
     <anim>
 场景物件
-</anim>
+</anim>
     <label>
 标签
-</label>
+</label>
     <lock>
 是否可用
-</lock>
-  </comment>
+</lock>
+  </comment>
 </data>

+ 7 - 7
Assets/Resource/XML/Config/plaza_room_config.xml

@@ -1,14 +1,14 @@
-<data>
-  <item id="1" create_cost_fml="h*50+p*10" cost_value_fml="c*0.8" />
-  <comment>
+<data>
+  <item id="1" create_cost_fml="h*50+p*10" cost_value_fml="c*0.8" />
+  <comment>
     <id>
 id
-</id>
+</id>
     <create_cost_fml>
 创建房间花费公式
-</create_cost_fml>
+</create_cost_fml>
     <cost_value_fml>
 房间花费转换为默认宝箱价值
-</cost_value_fml>
-  </comment>
+</cost_value_fml>
+  </comment>
 </data>

+ 12 - 12
Assets/Resource/XML/Config/robot_config.xml

@@ -1,29 +1,29 @@
-<data>
-  <item id="1" amt_fml="2" digit_chest_rate="0.5" color_chest_rate="0.6" move_frequency="3,20" create_chest_rate="0.005" chest_value="20,40" lifetime="30,90" />
-  <comment>
+<data>
+  <item id="1" amt_fml="2" digit_chest_rate="0.5" color_chest_rate="0.6" move_frequency="3,20" create_chest_rate="0.005" chest_value="20,40" lifetime="30,90" />
+  <comment>
     <id>
 id
-</id>
+</id>
     <amt_fml>
 计算房间内最大机器人个数
-</amt_fml>
+</amt_fml>
     <digit_chest_rate>
 机器人抢到猜数字宝箱的概率
-</digit_chest_rate>
+</digit_chest_rate>
     <color_chest_rate>
 机器人抢到猜颜色宝箱的概率
-</color_chest_rate>
+</color_chest_rate>
     <move_frequency>
 机器人移动频率
-</move_frequency>
+</move_frequency>
     <create_chest_rate>
 机器人创建宝箱概率
-</create_chest_rate>
+</create_chest_rate>
     <chest_value>
 机器人创建宝箱的价值
-</chest_value>
+</chest_value>
     <lifetime>
 机器人存活时间
-</lifetime>
-  </comment>
+</lifetime>
+  </comment>
 </data>

+ 30 - 30
Assets/Resource/XML/Config/signin_config.xml

@@ -1,44 +1,44 @@
-<data>
-  <item id="1" lottery="" flower="" diamond="5" coin="" rate="" />
-  <item id="2" lottery="" flower="" diamond="10" coin="" rate="" />
-  <item id="3" lottery="" flower="" diamond="15" coin="" rate="" />
-  <item id="4" lottery="" flower="" diamond="20" coin="" rate="" />
-  <item id="5" lottery="" flower="" diamond="25" coin="" rate="" />
-  <item id="6" lottery="" flower="" diamond="30" coin="" rate="" />
-  <item id="7" lottery="1" flower="" diamond="50" coin="" rate="" />
-  <item id="8" lottery="" flower="" diamond="15" coin="" rate="" />
-  <item id="9" lottery="" flower="" diamond="20" coin="" rate="" />
-  <item id="10" lottery="" flower="" diamond="25" coin="" rate="" />
-  <item id="11" lottery="" flower="" diamond="30" coin="" rate="" />
-  <item id="12" lottery="" flower="" diamond="35" coin="" rate="" />
-  <item id="13" lottery="" flower="" diamond="40" coin="" rate="" />
-  <item id="14" lottery="1" flower="" diamond="70" coin="" rate="" />
-  <item id="15" lottery="" flower="" diamond="25" coin="" rate="" />
-  <item id="16" lottery="" flower="" diamond="30" coin="" rate="" />
-  <item id="17" lottery="" flower="" diamond="35" coin="" rate="" />
-  <item id="18" lottery="" flower="" diamond="40" coin="" rate="" />
-  <item id="19" lottery="" flower="" diamond="45" coin="" rate="" />
-  <item id="20" lottery="" flower="" diamond="50" coin="" rate="" />
-  <item id="21" lottery="" flower="19,20,21,22,23,24" diamond="100" coin="" rate="" />
-  <comment>
+<data>
+  <item id="1" lottery="" flower="" diamond="5" coin="" rate="" />
+  <item id="2" lottery="" flower="" diamond="10" coin="" rate="" />
+  <item id="3" lottery="" flower="" diamond="15" coin="" rate="" />
+  <item id="4" lottery="" flower="" diamond="20" coin="" rate="" />
+  <item id="5" lottery="" flower="" diamond="25" coin="" rate="" />
+  <item id="6" lottery="" flower="" diamond="30" coin="" rate="" />
+  <item id="7" lottery="1" flower="" diamond="50" coin="" rate="" />
+  <item id="8" lottery="" flower="" diamond="15" coin="" rate="" />
+  <item id="9" lottery="" flower="" diamond="20" coin="" rate="" />
+  <item id="10" lottery="" flower="" diamond="25" coin="" rate="" />
+  <item id="11" lottery="" flower="" diamond="30" coin="" rate="" />
+  <item id="12" lottery="" flower="" diamond="35" coin="" rate="" />
+  <item id="13" lottery="" flower="" diamond="40" coin="" rate="" />
+  <item id="14" lottery="1" flower="" diamond="70" coin="" rate="" />
+  <item id="15" lottery="" flower="" diamond="25" coin="" rate="" />
+  <item id="16" lottery="" flower="" diamond="30" coin="" rate="" />
+  <item id="17" lottery="" flower="" diamond="35" coin="" rate="" />
+  <item id="18" lottery="" flower="" diamond="40" coin="" rate="" />
+  <item id="19" lottery="" flower="" diamond="45" coin="" rate="" />
+  <item id="20" lottery="" flower="" diamond="50" coin="" rate="" />
+  <item id="21" lottery="" flower="19,20,21,22,23,24" diamond="100" coin="" rate="" />
+  <comment>
     <id>
 id
-</id>
+</id>
     <lottery>
 是否为抽奖
-</lottery>
+</lottery>
     <flower>
 升级
 冷却加成
-</flower>
+</flower>
     <diamond>
 钻石
-</diamond>
+</diamond>
     <coin>
 金币
-</coin>
+</coin>
     <rate>
 增长比例
-</rate>
-  </comment>
+</rate>
+  </comment>
 </data>

+ 44 - 44
Assets/Resource/XML/Config/skill_config.xml

@@ -1,133 +1,133 @@
-<data>
-  <item id="1" name="人潮涌动" class="1" class_id="2" skill_index="1" reduce_cd="1" coin_person="" person="1" coin_once="" diamond_once="" skill_cd="" duration="300" cd="1800" unlock_lv="" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="5" unlock_pos="" use__cur="" use_amnt="" upgrade_cur="2" upgrade_amnt="200" upgrade_fml="a" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="60" upgrade_cd="" desc="每分钟增加[&amp;person&amp;*60],持续[&amp;duration&amp;/60][lv]分钟" icon="4大技能1" anim="" label="" />
-  <item id="2" name="大亨光临" class="1" class_id="3" skill_index="2" reduce_cd="1" coin_person="" person="" coin_once="50000%" diamond_once="" skill_cd="" duration="" cd="3600" unlock_lv="25" unlock_ahead_cur="2" unlock_ahead_delta="5" unlock_ahead_minimun="200" unlock_cur="1" unlock_amnt="100" unlock_pos="" use__cur="" use_amnt="" upgrade_cur="2" upgrade_amnt="300" upgrade_fml="a" upgrade_plus="" upgrade_person="" upgrade_coin_once="5000%" upgrade_duration="" upgrade_cd="" desc="立即获得每人次收入的[&amp;coin_once&amp;][lv]倍" icon="4大技能2" anim="" label="" />
-  <item id="3" name="花之祝福" class="1" class_id="4" skill_index="3" reduce_cd="1" coin_person="200%" person="" coin_once="" diamond_once="" skill_cd="" duration="300" cd="3600" unlock_lv="75" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="300" unlock_cur="" unlock_amnt="" unlock_pos="" use__cur="" use_amnt="" upgrade_cur="2" upgrade_amnt="300" upgrade_fml="a" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="60" upgrade_cd="" desc="所有收入提升[&amp;coin_person&amp;],持续[&amp;duration&amp;/60][lv]" icon="4大技能3" anim="" label="" />
-  <item id="4" name="繁花似锦" class="4" class_id="1" skill_index="" reduce_cd="" coin_person="200%" person="" coin_once="" diamond_once="" skill_cd="" duration="900" cd="900" unlock_lv="40" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="" unlock_amnt="" unlock_pos="" use__cur="2" use_amnt="150" upgrade_cur="" upgrade_amnt="" upgrade_fml="" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="" upgrade_cd="" desc="所有金币产出提升[&amp;coin_person&amp;],持续[&amp;duration&amp;]分钟" icon="绿-繁花似锦" anim="" label="" />
-  <item id="5" name="免费获取金币" class="3" class_id="0" skill_index="" reduce_cd="" coin_person="" person="" coin_once="15000%" diamond_once="" skill_cd="" duration="" cd="300" unlock_lv="" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="" unlock_amnt="" unlock_pos="" use__cur="5" use_amnt="" upgrade_cur="" upgrade_amnt="" upgrade_fml="" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="" upgrade_cd="" desc="免费获取金币[&amp;coin_once&amp;]" icon="绿-免费金币" anim="" label="" />
-  <item id="6" name="免费获取钻石" class="4" class_id="0" skill_index="" reduce_cd="" coin_person="" person="" coin_once="" diamond_once="5" skill_cd="" duration="" cd="300" unlock_lv="" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="" unlock_amnt="" unlock_pos="" use__cur="5" use_amnt="" upgrade_cur="" upgrade_amnt="" upgrade_fml="" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="" upgrade_cd="" desc="免费获取金币[&amp;diamond_once&amp;]" icon="蓝-免费钻" anim="" label="" />
-  <item id="7" name="技能冷却" class="" class_id="" skill_index="4" reduce_cd="" coin_person="" person="" coin_once="" diamond_once="" skill_cd="100%" duration="" cd="900" unlock_lv="15" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="" unlock_amnt="" unlock_pos="" use__cur="5" use_amnt="" upgrade_cur="" upgrade_amnt="" upgrade_fml="" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="" upgrade_cd="" desc="" icon="4大技能4" anim="" label="" />
-  <comment>
+<data>
+  <item id="1" name="人潮涌动" class="1" class_id="2" skill_index="1" reduce_cd="1" coin_person="" person="1" coin_once="" diamond_once="" skill_cd="" duration="300" cd="1800" unlock_lv="" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="1" unlock_amnt="5" unlock_pos="" use__cur="" use_amnt="" upgrade_cur="2" upgrade_amnt="200" upgrade_fml="a" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="60" upgrade_cd="" desc="每分钟增加[&amp;person&amp;*60],持续[&amp;duration&amp;/60][lv]分钟" icon="4大技能1" anim="" label="" />
+  <item id="2" name="大亨光临" class="1" class_id="3" skill_index="2" reduce_cd="1" coin_person="" person="" coin_once="50000%" diamond_once="" skill_cd="" duration="" cd="3600" unlock_lv="25" unlock_ahead_cur="2" unlock_ahead_delta="5" unlock_ahead_minimun="200" unlock_cur="1" unlock_amnt="100" unlock_pos="" use__cur="" use_amnt="" upgrade_cur="2" upgrade_amnt="300" upgrade_fml="a" upgrade_plus="" upgrade_person="" upgrade_coin_once="5000%" upgrade_duration="" upgrade_cd="" desc="立即获得每人次收入的[&amp;coin_once&amp;][lv]倍" icon="4大技能2" anim="" label="" />
+  <item id="3" name="花之祝福" class="1" class_id="4" skill_index="3" reduce_cd="1" coin_person="200%" person="" coin_once="" diamond_once="" skill_cd="" duration="300" cd="3600" unlock_lv="75" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="300" unlock_cur="" unlock_amnt="" unlock_pos="" use__cur="" use_amnt="" upgrade_cur="2" upgrade_amnt="300" upgrade_fml="a" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="60" upgrade_cd="" desc="所有收入提升[&amp;coin_person&amp;],持续[&amp;duration&amp;/60][lv]" icon="4大技能3" anim="" label="" />
+  <item id="4" name="繁花似锦" class="4" class_id="1" skill_index="" reduce_cd="" coin_person="200%" person="" coin_once="" diamond_once="" skill_cd="" duration="900" cd="900" unlock_lv="40" unlock_ahead_cur="2" unlock_ahead_delta="10" unlock_ahead_minimun="100" unlock_cur="" unlock_amnt="" unlock_pos="" use__cur="2" use_amnt="150" upgrade_cur="" upgrade_amnt="" upgrade_fml="" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="" upgrade_cd="" desc="所有金币产出提升[&amp;coin_person&amp;],持续[&amp;duration&amp;]分钟" icon="绿-繁花似锦" anim="" label="" />
+  <item id="5" name="免费获取金币" class="3" class_id="0" skill_index="" reduce_cd="" coin_person="" person="" coin_once="15000%" diamond_once="" skill_cd="" duration="" cd="300" unlock_lv="" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="" unlock_amnt="" unlock_pos="" use__cur="5" use_amnt="" upgrade_cur="" upgrade_amnt="" upgrade_fml="" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="" upgrade_cd="" desc="免费获取金币[&amp;coin_once&amp;]" icon="绿-免费金币" anim="" label="" />
+  <item id="6" name="免费获取钻石" class="4" class_id="0" skill_index="" reduce_cd="" coin_person="" person="" coin_once="" diamond_once="5" skill_cd="" duration="" cd="300" unlock_lv="" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="" unlock_amnt="" unlock_pos="" use__cur="5" use_amnt="" upgrade_cur="" upgrade_amnt="" upgrade_fml="" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="" upgrade_cd="" desc="免费获取金币[&amp;diamond_once&amp;]" icon="蓝-免费钻" anim="" label="" />
+  <item id="7" name="技能冷却" class="" class_id="" skill_index="4" reduce_cd="" coin_person="" person="" coin_once="" diamond_once="" skill_cd="100%" duration="" cd="900" unlock_lv="15" unlock_ahead_cur="" unlock_ahead_delta="" unlock_ahead_minimun="" unlock_cur="" unlock_amnt="" unlock_pos="" use__cur="5" use_amnt="" upgrade_cur="" upgrade_amnt="" upgrade_fml="" upgrade_plus="" upgrade_person="" upgrade_coin_once="" upgrade_duration="" upgrade_cd="" desc="" icon="4大技能4" anim="" label="" />
+  <comment>
     <id>
 id
-</id>
+</id>
     <name>
 名称
-</name>
+</name>
     <class>
 所属类别
-</class>
+</class>
     <class_id>
 所属
 类别序号
-</class_id>
+</class_id>
     <skill_index>
 技能栏
 
-</skill_index>
+</skill_index>
     <reduce_cd>
 是否可以减少冷却时间
-</reduce_cd>
+</reduce_cd>
     <coin_person>
 每人次收入
 基础值
-</coin_person>
+</coin_person>
     <person>
 每秒参观数
 基础值
-</person>
+</person>
     <coin_once>
 一次获得金币
-</coin_once>
+</coin_once>
     <diamond_once>
 一次获得钻石
-</diamond_once>
+</diamond_once>
     <skill_cd>
 技能冷却
 时间减少
-</skill_cd>
+</skill_cd>
     <duration>
 持续时间
-</duration>
+</duration>
     <cd>
 冷却时间
-</cd>
+</cd>
     <unlock_lv>
 解锁等级
-</unlock_lv>
+</unlock_lv>
     <unlock_ahead_cur>
 提前解锁
 消耗货币
-</unlock_ahead_cur>
+</unlock_ahead_cur>
     <unlock_ahead_delta>
 提前解锁每一级增加值
-</unlock_ahead_delta>
+</unlock_ahead_delta>
     <unlock_ahead_minimun>
 提前解锁
 消耗最小值
-</unlock_ahead_minimun>
+</unlock_ahead_minimun>
     <unlock_cur>
 解锁
 消耗货币
-</unlock_cur>
+</unlock_cur>
     <unlock_amnt>
 解锁
 消耗数值
-</unlock_amnt>
+</unlock_amnt>
     <unlock_pos>
 解锁
 开启位置数
-</unlock_pos>
+</unlock_pos>
     <use__cur>
 使用
 消耗货币
-</use__cur>
+</use__cur>
     <use_amnt>
 使用
 消耗数值
-</use_amnt>
+</use_amnt>
     <upgrade_cur>
 升级
 消耗货币
-</upgrade_cur>
+</upgrade_cur>
     <upgrade_amnt>
 升级
 消耗基础值
-</upgrade_amnt>
+</upgrade_amnt>
     <upgrade_fml>
 升级
 消耗公式
-</upgrade_fml>
+</upgrade_fml>
     <upgrade_plus>
 升级
 收入加成
-</upgrade_plus>
+</upgrade_plus>
     <upgrade_person>
 升级
 参观数加成
-</upgrade_person>
+</upgrade_person>
     <upgrade_coin_once>
 升级
 一次获得金币
-</upgrade_coin_once>
+</upgrade_coin_once>
     <upgrade_duration>
 升级
 持续时间加成
-</upgrade_duration>
+</upgrade_duration>
     <upgrade_cd>
 升级
 冷却加成
-</upgrade_cd>
+</upgrade_cd>
     <desc>
 描述
-</desc>
+</desc>
     <icon>
 图标
-</icon>
+</icon>
     <anim>
 场景物件
-</anim>
+</anim>
     <label>
 标签
-</label>
-  </comment>
+</label>
+  </comment>
 </data>

+ 12 - 12
Assets/Resource/XML/Config/visit_config.xml

@@ -1,29 +1,29 @@
-<data>
-  <item id="1" award_rate="0.75" award_min="l*0.8-1" award_max="l*1.8" cool_time="5" cost="l*0.8" create="0.75" fancy="0.25" />
-  <comment>
+<data>
+  <item id="1" award_rate="0.75" award_min="l*0.8-1" award_max="l*1.8" cool_time="5" cost="l*0.8" create="0.75" fancy="0.25" />
+  <comment>
     <id>
 id
-</id>
+</id>
     <award_rate>
 出现金币的概率
-</award_rate>
+</award_rate>
     <award_min>
 最低奖励值
-</award_min>
+</award_min>
     <award_max>
 最大奖励值
-</award_max>
+</award_max>
     <cool_time>
 冷却时间
-</cool_time>
+</cool_time>
     <cost>
 访问消耗值
-</cost>
+</cost>
     <create>
 用代码生成花园的概率
-</create>
+</create>
     <fancy>
 生成漂亮花园的概率
-</fancy>
-  </comment>
+</fancy>
+  </comment>
 </data>

+ 105 - 105
Assets/Resource/XML/PlayerConfig.xml

@@ -1,106 +1,106 @@
-<PlayerConfig>
-  <Version value="36" />
-  <ReplayVersion value="1" />
-  
-  <ID value="Default" />
-  <SerialNumber value="Default" />
-  
-  <TutorialA value="1" />
-  <TutorialB value="1" />
-  <TutorialC value="1" />
-  <TutorialD value="1" />
-  <TutorialE value="1" />
-  <TutorialPlazaRoom value="1" />
-  <FindMissingMinigameTutorial value="1" />
-  <FashionShowTutorial value="1" />
-  <TutorialIndexA value="1" />
-  <TutorialIndexB value="1" />
-  <TutorialIndexC value="1" />
-  <TutorialIndexD value="1" />
-  <TutorialIndexE value="1" />
-  <TutorialIndexPlazaRoom value="1" />
-  <FindMissingMinigameTutorialIndex value="1" />
-  <FashionShowTutorialIndex value="1" />
-
-  <QuitFlag value="0" />
-  <QuitTime value="4/23/2017 09:30:00 AM" />
-  <SignTime value="4/23/2017 09:30:00 AM" />
-  <Language value="Default" />
-  <CurrentMinigameType value="0" />
-  
-  <Coin value="0" />
-  <ExtraSlot value="0" />
-  <PackLock value="0" />
-  <Diamond value="0" />
-  <SignIndex value="1" />
-  <MiniTimer value="0" />
-  <SignRound value="1" />
-  <CircleTimer value="0" />
-  <ADPlayTime value="4/23/2017 09:30:00 AM" />
-  <NewFlowerFlag value="0" />
-  <MiniGameIndex value="0" />
-  <NotificationIndex value="-1" />
-  <MinigameCoolFlag value="0" />
-  <OneTimeReward value="" />
-  
-  <Player value="PlayerBlond" />
-  <NickName value="" />
-  <PlantList value =""/>
-  <DressList value =""/>
-  <FlowerList value="1" />
-  <FlowerAmtList value="1" />
-  <AchieveList value="" />
-  <DressData Head="" Dress="" Shoe="" HeadWear="" Top="" Eye="" Mouse="" Wing="Empty" LeftLongSleeveSlot="Empty" LeftShortSleeveSlot="Empty" RightLongSleeveSlot="Empty" RightShortSleeveSlot="Empty"/>
-  <AchieveData AD="0" Skill="0" Sign="0" Share="0" ElfLevel="0" MiniGame="0" FlowerCoin="0" TotalPerson="0" CostDiamond="0" CreateRoomAmt="0" CreateChestAmt="0" CreateLuckyChestAmt="0" CreateGuessColorChestAmt="0" CreateGuessNumberChestAmt="0" GetChestAwardAmt="0"/>
-
-  <SkillList>
-    <Skill ID="Skill4" SkillType="Skill" ItemStatus="Lock" Level="0" CoolTimer="0" UseTimer="0" />
-    <Skill ID="Skill5" SkillType="Skill" ItemStatus="Lock" Level="0" CoolTimer="0" UseTimer="0" />
-    <Skill ID="Skill6" SkillType="Skill" ItemStatus="Lock" Level="0" CoolTimer="0" UseTimer="0" />
-    <Skill ID="Skill1" SkillType="BigSkill" ItemStatus="Lock" BarStatus="UnLock" Level="0" CoolTimer="0" UseTimer="0" />
-    <Skill ID="Skill2" SkillType="BigSkill" ItemStatus="Lock" BarStatus="UnLock" Level="0" CoolTimer="0" UseTimer="0" />
-    <Skill ID="Skill3" SkillType="BigSkill" ItemStatus="Lock" BarStatus="UnLock" Level="0" CoolTimer="0" UseTimer="0" />
-    <Skill ID="Skill7" SkillType="BigSkill" ItemStatus="Lock" BarStatus="UnLock" Level="0" CoolTimer="0" UseTimer="0" />
-
-    <Skill ID="Pack1" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    <Skill ID="Pack2" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    <Skill ID="Pack3" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    <Skill ID="Pack4" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    <Skill ID="Pack5" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    <Skill ID="Pack6" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    <Skill ID="Pack7" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    <Skill ID="Pack8" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    <Skill ID="Pack9" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    <Skill ID="Pack10" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    <Skill ID="Pack11" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    <Skill ID="Pack12" SkillType="Pack" ItemStatus="Lock" Level="0" />
-    
-    <Skill ID="Ability1" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability2" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability3" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability4" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability5" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability6" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability7" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability8" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability9" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability10" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability11" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability12" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability13" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability14" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability15" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability16" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability17" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability18" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability19" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability20" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability21" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability22" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability23" SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill ID="Ability24" SkillType="Ability" ItemStatus="Lock" Level="0" />
-  </SkillList>
-  <LastApplicantSerialNumber value=""/>
-  <LastPrivateMessageDate>
-  </LastPrivateMessageDate>
+<PlayerConfig>
+  <Version value="37" />
+  <ReplayVersion value="1" />
+  
+  <ID value="Default" />
+  <SerialNumber value="Default" />
+  
+  <TutorialA value="1" />
+  <TutorialB value="1" />
+  <TutorialC value="1" />
+  <TutorialD value="1" />
+  <TutorialE value="1" />
+  <TutorialPlazaRoom value="1" />
+  <FindMissingMinigameTutorial value="1" />
+  <FashionShowTutorial value="1" />
+  <TutorialIndexA value="1" />
+  <TutorialIndexB value="1" />
+  <TutorialIndexC value="1" />
+  <TutorialIndexD value="1" />
+  <TutorialIndexE value="1" />
+  <TutorialIndexPlazaRoom value="1" />
+  <FindMissingMinigameTutorialIndex value="1" />
+  <FashionShowTutorialIndex value="1" />
+
+  <QuitFlag value="0" />
+  <QuitTime value="4/23/2017 09:30:00 AM" />
+  <SignTime value="4/23/2017 09:30:00 AM" />
+  <Language value="Default" />
+  <CurrentMinigameType value="0" />
+  
+  <Coin value="0" />
+  <ExtraSlot value="0" />
+  <PackLock value="0" />
+  <Diamond value="0" />
+  <SignIndex value="1" />
+  <MiniTimer value="0" />
+  <SignRound value="1" />
+  <CircleTimer value="0" />
+  <ADPlayTime value="4/23/2017 09:30:00 AM" />
+  <NewFlowerFlag value="0" />
+  <MiniGameIndex value="0" />
+  <NotificationIndex value="-1" />
+  <MinigameCoolFlag value="0" />
+  <OneTimeReward value="" />
+  
+  <Player value="PlayerBlond" />
+  <NickName value="" />
+  <PlantList value =""/>
+  <DressList value =""/>
+  <FlowerList value="1" />
+  <FlowerAmtList value="1" />
+  <AchieveList value="" />
+  <DressData Head="" Dress="" Shoe="" HeadWear="" Top="" Eye="" Mouse="" Wing="Empty" LeftLongSleeveSlot="Empty" LeftShortSleeveSlot="Empty" RightLongSleeveSlot="Empty" RightShortSleeveSlot="Empty"/>
+  <AchieveData AD="0" Skill="0" Sign="0" Share="0" ElfLevel="0" MiniGame="0" FlowerCoin="0" TotalPerson="0" CostDiamond="0" CreateRoomAmt="0" CreateChestAmt="0" CreateLuckyChestAmt="0" CreateGuessColorChestAmt="0" CreateGuessNumberChestAmt="0" GetChestAwardAmt="0"/>
+
+  <SkillList>
+    <Skill ID="Skill4" SkillType="Skill" ItemStatus="Lock" Level="0" CoolTimer="0" UseTimer="0" />
+    <Skill ID="Skill5" SkillType="Skill" ItemStatus="Lock" Level="0" CoolTimer="0" UseTimer="0" />
+    <Skill ID="Skill6" SkillType="Skill" ItemStatus="Lock" Level="0" CoolTimer="0" UseTimer="0" />
+    <Skill ID="Skill1" SkillType="BigSkill" ItemStatus="Lock" BarStatus="UnLock" Level="0" CoolTimer="0" UseTimer="0" />
+    <Skill ID="Skill2" SkillType="BigSkill" ItemStatus="Lock" BarStatus="UnLock" Level="0" CoolTimer="0" UseTimer="0" />
+    <Skill ID="Skill3" SkillType="BigSkill" ItemStatus="Lock" BarStatus="UnLock" Level="0" CoolTimer="0" UseTimer="0" />
+    <Skill ID="Skill7" SkillType="BigSkill" ItemStatus="Lock" BarStatus="UnLock" Level="0" CoolTimer="0" UseTimer="0" />
+
+    <Skill ID="Pack1" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack2" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack3" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack4" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack5" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack6" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack7" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack8" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack9" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack10" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack11" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack12" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    
+    <Skill ID="Ability1" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability2" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability3" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability4" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability5" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability6" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability7" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability8" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability9" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability10" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability11" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability12" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability13" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability14" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability15" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability16" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability17" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability18" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability19" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability20" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability21" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability22" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability23" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability24" SkillType="Ability" ItemStatus="Lock" Level="0" />
+  </SkillList>
+  <LastApplicantSerialNumber value=""/>
+  <LastPrivateMessageDate>
+  </LastPrivateMessageDate>
 </PlayerConfig>

+ 1 - 1
Assets/Resource/XML/lan/ChineseSimplified.xml

@@ -20,7 +20,7 @@
     <F_IncreaseSource desc=""><![CDATA[加成来源 [&value&]]]></F_IncreaseSource>
     <F_LinkButton desc=""><![CDATA[显示所有]]></F_LinkButton>
     <F_Tip desc=""><![CDATA[这是一款健康游戏,不在线也可以持续获得金币。如果觉得暂时没什么可做的,可以过一段时间再来玩]]></F_Tip>
-    <Fe_Toast desc=""><![CDATA[冷却所有技能]]></Fe_Toast>
+    <Fe_Toast desc=""><![CDATA[冷却所有技能]]></Fe_Toast>
     <Fe_BtnLab0 desc=""><![CDATA[提前解锁]]></Fe_BtnLab0>
     <Fe_BtnLab1 desc=""><![CDATA[解锁]]></Fe_BtnLab1>
     <Fe_BtnLab2 desc=""><![CDATA[升级]]></Fe_BtnLab2>

+ 1 - 1
Assets/Resource/XML/lan/ChineseTraditional.xml

@@ -20,7 +20,7 @@
     <F_IncreaseSource desc=""><![CDATA[加成來源 [&value&]]]></F_IncreaseSource>
     <F_LinkButton desc=""><![CDATA[顯示所有]]></F_LinkButton>
     <F_Tip desc=""><![CDATA[這是一款健康遊戲,不在線上也可以持續獲得金幣。如果覺得暫時沒什麼可做的,可以過一段時間再來玩。]]></F_Tip>
-    <Fe_Toast desc=""><![CDATA[冷卻所有技能]]></Fe_Toast>
+    <Fe_Toast desc=""><![CDATA[冷卻所有技能]]></Fe_Toast>
     <Fe_BtnLab0 desc=""><![CDATA[提前解鎖]]></Fe_BtnLab0>
     <Fe_BtnLab1 desc=""><![CDATA[解鎖]]></Fe_BtnLab1>
     <Fe_BtnLab2 desc=""><![CDATA[升級]]></Fe_BtnLab2>

+ 1 - 1
Assets/Resource/XML/lan/English.xml

@@ -20,7 +20,7 @@
     <F_IncreaseSource desc=""><![CDATA[From [&value&]]]></F_IncreaseSource>
     <F_LinkButton desc=""><![CDATA[Show all]]></F_LinkButton>
     <F_Tip desc=""><![CDATA[This is a healthy game, that means you can get coins when you are offline. If you feel tired, come to play after a rest.]]></F_Tip>
-    <Fe_Toast desc=""><![CDATA[Cool all skill]]></Fe_Toast>
+    <Fe_Toast desc=""><![CDATA[All skills have been cooled down.]]></Fe_Toast>
     <Fe_BtnLab0 desc=""><![CDATA[Unlock Now]]></Fe_BtnLab0>
     <Fe_BtnLab1 desc=""><![CDATA[Unlock]]></Fe_BtnLab1>
     <Fe_BtnLab2 desc=""><![CDATA[Upgrade]]></Fe_BtnLab2>

+ 10 - 10
Assets/Script/AssetBundleUtility/AssetBundleUtility.prefab

@@ -56,13 +56,13 @@ MonoBehaviour:
     MD5DictionaryFileName: AndroidMD5Dictionary#VERSION.txt
     OutputPath: Assets\HotUpdate\Android
     AssetBundleSets:
-    - Object: {fileID: 102900000, guid: 04a7f1bd57fb5ca418ced2344883fc52, type: 3}
+    - Object: {fileID: 102900000, guid: 8322d2dbc03eda649a17970bba68e0b8, type: 3}
       URL: null
-    - Object: {fileID: 102900000, guid: 87e6a9d80ecd6a346a04c51b88667aab, type: 3}
+    - Object: {fileID: 102900000, guid: 93a0a12dc45393e4a9602aefadb055fb, type: 3}
       URL: null
-    - Object: {fileID: 102900000, guid: 4705785e6e314f0479e474830132724c, type: 3}
+    - Object: {fileID: 102900000, guid: cda53ff6778b1054e87a5610411f1f71, type: 3}
       URL: null
-    - Object: {fileID: 102900000, guid: 6220b0c1709c5dd48bf622263434363a, type: 3}
+    - Object: {fileID: 102900000, guid: c9d179985526e764fb30975544663ca8, type: 3}
       URL: null
   - MD5FileName: IOSMD5.txt
     MD5DictionaryFileName: IOSMD5Dictionary.txt
@@ -76,15 +76,15 @@ MonoBehaviour:
       URL: null
     - Object: {fileID: 102900000, guid: 2322ebf659ac53340bfdc21c831c6f31, type: 3}
       URL: null
-  - MD5FileName: WindowsMD51_3_2.txt
-    MD5DictionaryFileName: WindowsMD5Dictionary1_3_2.txt
+  - MD5FileName: WindowsMD5#VERSION.txt
+    MD5DictionaryFileName: WindowsMD5Dictionary#VERSION.txt
     OutputPath: Assets\HotUpdate\Windows
     AssetBundleSets:
-    - Object: {fileID: 102900000, guid: 2f17c5920d57b8d489896683f7c5c072, type: 3}
+    - Object: {fileID: 102900000, guid: 62664e6c14d6aa044826edf1d6808f1f, type: 3}
       URL: null
-    - Object: {fileID: 102900000, guid: 858117daae6c5a1438728fe558f31270, type: 3}
+    - Object: {fileID: 102900000, guid: 1cd34e0da763f6843998307b64542333, type: 3}
       URL: null
-    - Object: {fileID: 102900000, guid: ac87496114f78414f95aa73a332d896b, type: 3}
+    - Object: {fileID: 102900000, guid: e90c99efc8cedec45b9a57189b703203, type: 3}
       URL: null
-    - Object: {fileID: 102900000, guid: 29a4af5c2399bb64ea7f0b746b1beb9a, type: 3}
+    - Object: {fileID: 102900000, guid: c90608050bb902749bf293b85d455a0c, type: 3}
       URL: null

+ 2084 - 2064
Assets/Script/Manage/ConfigManager.cs

@@ -1,2065 +1,2085 @@
-using LitJson;
-
-using UnityEngine;
-
-using System;
-using System.IO;
-using System.Xml;
-using System.Text;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using System.Security.Cryptography;
-using Sfs2X.Entities;
-using Sfs2X.Entities.Data;
-using UnityEngine.UI;
-using Random = UnityEngine.Random;
-
-public class ConfigManager : Regist
-{
-    #region Config
-
-    public static XmlNode ConfigRootNode
-    {
-        get
-        {
-            if (configRootNode == null)
-            {
-                configRootNode = ConfigDocument.SelectSingleNode(PlayerConfigLabel.RootNode);
-            }
-
-            return configRootNode;
-        }
-        set { configRootNode = value; }
-    }
-    public static XmlNode configRootNode;
-    public static XmlDocument ConfigDocument
-    {
-        get
-        {
-            if (configDocument == null)
-            {
-                LoadConfigDocument();
-            }
-
-            return configDocument;
-        }
-        set { configDocument = value; }
-    }
-    public static XmlDocument configDocument;
-
-    public static float UrlTimer;
-    public static bool PlayerDocumentDamageFlag;
-    public static bool IDRequestFlag;
-    public static bool SerialNumberRequestFlag = true;
-    public static XmlDocument DefaultConfigDocument = new XmlDocument();
-
-    public static int ConfigReplayVersion = -1000;
-    public static string ConfigPath
-    {
-        get
-        {
-            if (string.IsNullOrEmpty(configPath))
-            {
-                configPath = string.Format("{0}/{1}", Application.persistentDataPath, ResourceLabel.PlayerConfigXml);
-            }
-
-            return configPath;
-        }
-    }
-    public static string configPath;
-
-    #endregion
-
-    private static string UnvalidConfigMD5 = "";
-    private static void LoadConfigDocument()
-    {
-        //if (!PlayerPrefManager.GetBool(PlayerPrefManager.INTERACT_CONFIG, false))
-        //{
-        //    Debug.LogWarning("Download Archive : did not interact");
-
-        //    PlayerDocumentDamageFlag = true;
-        //    SerialNumberRequestFlag = false;
-
-        //    return;
-        //}
-
-        int defaultVersion;
-        int nativeVersion;
-
-        XmlNode node;
-        XmlDocument nativeDoc = new XmlDocument();
-
-        if (File.Exists(ConfigPath))
-        {
-            try
-            {
-                StreamReader sr = new StreamReader(ConfigPath);
-
-                nativeDoc.LoadXml(sr.ReadToEnd());
-
-                sr.Close();
-
-                Auxiliary.DecryptXml(nativeDoc);
-            }
-            catch (Exception)
-            {
-                Debug.LogWarning("Download Archive : MD5 doesn't match");
-                //ManaDebug.Log("Download Archive");
-
-                PlayerDocumentDamageFlag = true;
-                SerialNumberRequestFlag = false;
-
-                return;
-            }
-
-
-            TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PlayerConfig, Folder.Default);
-
-            DefaultConfigDocument.LoadXml(textAsset.text);
-
-            defaultVersion = int.Parse(DefaultConfigDocument.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value);
-
-            node = nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version);
-
-            if (node == null)
-            {
-                StreamWriter sw = new StreamWriter(ConfigPath);
-
-                sw.Write(DefaultConfigDocument.OuterXml);
-
-                sw.Close();
-
-                configDocument = DefaultConfigDocument;
-            }
-            else
-            {
-                nativeVersion = int.Parse(node.Attributes[0].Value);
-
-                if (nativeVersion == ConfigReplayVersion)
-                {
-                    configDocument = DefaultConfigDocument;
-                    int currentReplayVersion = int.Parse(nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.ReplayVersion).Attributes[0].Value);
-                    SaveIntToConfig(PlayerConfigLabel.ReplayVersion, currentReplayVersion + 1);
-                    //Debug.Log(currentReplayVersion);
-                }
-                else if (nativeVersion < defaultVersion)
-                {
-                    byte[] bytes;
-
-                    MD5 md5 = new MD5CryptoServiceProvider();
-
-                    if (nativeVersion <= 4)
-                    {
-                        bytes = Encoding.UTF8.GetBytes(nativeDoc.OuterXml);
-                    }
-                    else
-                    {
-                        bytes = File.ReadAllBytes(ConfigPath);
-                    }
-
-                    if (PlayerPrefs.GetString(Lib.ConfigPrefs) != UnvalidConfigMD5 && PlayerPrefs.GetString(Lib.ConfigPrefs) != Auxiliary.ToString(md5.ComputeHash(bytes)))
-                    {
-                        Debug.LogWarning("Download Archive : MD5 doesn't match");
-                        //ManaDebug.Log("Download Archive");
-
-                        PlayerDocumentDamageFlag = true;
-                        SerialNumberRequestFlag = false;
-
-                        return;
-                    }
-                    else
-                    {
-                        configDocument = UpdateConfigDocument(nativeVersion, nativeDoc, DefaultConfigDocument);
-
-                        //HttpManager.UploadConfig();
-                    }
-                }
-                else if (nativeVersion > defaultVersion)
-                {
-                    //configDocument = DefaultConfigDocument;
-                }
-                else
-                {
-                    byte[] bytes = File.ReadAllBytes(ConfigPath);
-
-                    MD5 md5 = new MD5CryptoServiceProvider();
-
-                    if (PlayerPrefs.GetString(Lib.ConfigPrefs) != UnvalidConfigMD5 && PlayerPrefs.GetString(Lib.ConfigPrefs) != Auxiliary.ToString(md5.ComputeHash(bytes)))
-                    {
-                        Debug.LogWarning("Download Archive : MD5 doesn't match");
-                        //ManaDebug.Log("Download Archive");
-
-                        PlayerDocumentDamageFlag = true;
-                        SerialNumberRequestFlag = false;
-
-                        return;
-                    }
-
-                    configDocument = nativeDoc;
-                }
-            }
-        }
-        else
-        {
-            TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PlayerConfig, Folder.Default);
-
-            DefaultConfigDocument.LoadXml(textAsset.text);
-
-            Debug.LogWarning("Download Archive");
-            //ManaDebug.Log("Download Archive");
-
-            PlayerDocumentDamageFlag = true;
-            SerialNumberRequestFlag = false;
-
-            return;
-        }
-    }
-
-
-    private float MaxUrlWaitTime = 10;
-    public void Update()
-    {
-        if (PlayerDocumentDamageFlag)
-        {
-            UrlTimer += Time.deltaTime;
-
-            if (UrlTimer >= MaxUrlWaitTime)
-            {
-                PlayerDocumentDamageFlag = false;
-
-                TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PlayerConfig, Folder.Default);
-
-                configDocument = new XmlDocument();
-
-                configDocument.LoadXml(textAsset.text);
-
-                return;
-            }
-        }
-
-        if (!SerialNumberRequestFlag)
-        {   
-            if (HttpManager.SerialNumber != PlayerConfigLabel.DefaultSerialNumber)
-            {
-                SerialNumberRequestFlag = true;
-
-                HttpManager.GetConfigBySerialNumber(HttpManager.SerialNumber, RecoveConfigDocument);
-            }
-        }
-    }
-
-    public override bool InitAtOnce()
-    {
-        if (base.InitAtOnce())
-        {
-            return true;
-        }
-
-        enabled = true;
-
-        return false;
-    }
-
-
-    public static void RecoveConfigDocument(JsonData jsonData)
-    {
-        if (!PlayerDocumentDamageFlag)
-        {
-            return;
-        }
-
-        TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PlayerConfig, Folder.Default);
-
-        DefaultConfigDocument.LoadXml(textAsset.text);
-        //Debug.Log(jsonData.ToJson());
-        if (jsonData.Inst_Object.Keys.Contains("l"))
-        {
-            XmlDocument recoverdDocument = new XmlDocument();
-
-            recoverdDocument.LoadXml(jsonData["l"].ToString());
-
-            int RecoverdVersion = int.Parse(recoverdDocument.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value);
-            int DefaultVersion = int.Parse(DefaultConfigDocument.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value);
-
-            PlayerDocumentDamageFlag = false;
-            if (RecoverdVersion <= DefaultVersion)
-            {
-                UpdateConfigDocument(RecoverdVersion, recoverdDocument, DefaultConfigDocument);
-                configDocument = recoverdDocument;
-                PlayerPrefManager.SaveBool(PlayerPrefManager.INTERACT_CONFIG, true);
-            }
-            else if (RecoverdVersion > DefaultVersion)
-            {
-                //configDocument = DefaultConfigDocument;
-            }
-        }
-        else
-        {
-            if (!IDRequestFlag)
-            {
-                if (HttpManager.ID != PlayerConfigLabel.DefaultID)
-                {
-                    IDRequestFlag = true;
-                    Debug.LogWarning("DownloadByID");
-
-                    HttpManager.GetConfigByID(HttpManager.ID, RecoveConfigDocument);
-                }
-                else
-                {
-                    Debug.LogWarning("Use Default");
-                    configDocument = DefaultConfigDocument;
-                    PlayerDocumentDamageFlag = false;
-                }
-            }
-            else
-            {
-                Debug.LogWarning("Use Default");
-                configDocument = DefaultConfigDocument;
-                PlayerDocumentDamageFlag = false;
-            }
-        }
-    }
-
-
-    public static void SaveSkillList()
-    {
-        if (TutorialManager.NewplayerTutorial || !Manager.Inited)
-        {
-            return;
-        }
-        
-        XmlNode xmlNode;
-        XmlAttribute xmlAttribute;
-
-        xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList);
-        xmlNode.RemoveAll();
-
-        for (int i = 0; i < Manager.SkillList.Count; i++)
-        {
-            if (Manager.SkillList[i].SkillType == SkillType.Skill)
-            {
-                #region Skill
-
-                Skill skill = (Skill)Manager.SkillList[i];
-
-                xmlNode = xmlNode.AppendChild(ConfigDocument.CreateNode(XmlNodeType.Element, PlayerConfigLabel.Skill, ""));
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ID));
-                xmlAttribute.Value = skill.FullID;
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.SkillType));
-                xmlAttribute.Value = skill.SkillType.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ItemStatus));
-                xmlAttribute.Value = skill.ItemStatus.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.Level));
-                xmlAttribute.Value = skill.Level.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.CoolTimer));
-                xmlAttribute.Value = skill.CoolTimer.ToString("0");
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.UseTimer));
-                xmlAttribute.Value = skill.UseTimer.ToString("0");
-
-                xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList);
-
-                #endregion
-            }
-            else if (Manager.SkillList[i].SkillType == SkillType.Pack)
-            {
-                #region Pack
-
-                Pack pack = (Pack)Manager.SkillList[i];
-
-                xmlNode = xmlNode.AppendChild(ConfigDocument.CreateNode(XmlNodeType.Element, PlayerConfigLabel.Skill, ""));
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ID));
-                xmlAttribute.Value = pack.FullID;
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.SkillType));
-                xmlAttribute.Value = pack.SkillType.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ItemStatus));
-                xmlAttribute.Value = pack.ItemStatus.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.Level));
-                xmlAttribute.Value = pack.Level.ToString();
-
-                xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList);
-
-                #endregion
-            }
-            else if (Manager.SkillList[i].SkillType == SkillType.Ability)
-            {
-                #region Ability
-
-                Ability ability = (Ability)Manager.SkillList[i];
-
-                xmlNode = xmlNode.AppendChild(ConfigDocument.CreateNode(XmlNodeType.Element, PlayerConfigLabel.Skill, ""));
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ID));
-                xmlAttribute.Value = ability.FullID;
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.SkillType));
-                xmlAttribute.Value = ability.SkillType.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ItemStatus));
-                xmlAttribute.Value = ability.ItemStatus.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.Level));
-                xmlAttribute.Value = ability.Level.ToString();
-
-                xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList);
-
-                #endregion
-            }
-            else if (Manager.SkillList[i].SkillType == SkillType.BigSkill)
-            {
-                #region BigSkill
-
-                BigSkill bigSkill = (BigSkill)Manager.SkillList[i];
-
-                xmlNode = xmlNode.AppendChild(ConfigDocument.CreateNode(XmlNodeType.Element, PlayerConfigLabel.Skill, ""));
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ID));
-                xmlAttribute.Value = bigSkill.FullID;
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.SkillType));
-                xmlAttribute.Value = bigSkill.SkillType.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ItemStatus));
-                xmlAttribute.Value = bigSkill.ItemStatus.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.BarStatus));
-                xmlAttribute.Value = bigSkill.BarStatus.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.Level));
-                xmlAttribute.Value = bigSkill.Level.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.CoolTimer));
-                xmlAttribute.Value = bigSkill.CoolTimer.ToString("0");
-
-                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.UseTimer));
-                xmlAttribute.Value = bigSkill.UseTimer.ToString("0");
-
-                xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList);
-
-                #endregion
-            }
-        }
-    }
-
-    public static void SaveDress()
-    {
-        XmlNode xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressList);
-        xmlNode.Attributes[0].Value = "";
-
-        for (int i = 0; i < PlayerManager.BoughtCloseIDs.Count; i++)
-        {
-            xmlNode.Attributes[0].Value += PlayerManager.BoughtCloseIDs[i] + " ";
-        }
-
-        xmlNode.Attributes[0].Value = xmlNode.Attributes[0].Value.TrimEnd(' ');
-
-
-        xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressData);
-
-        for (int i = 0; i < PlayerManager.DressDatas.Count; i++)
-        {
-            xmlNode.Attributes[i].Value = PlayerManager.DressDatas[i];
-        }
-    }
-
-    public static void SaveAchieve()
-    {
-        XmlNode xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveList);
-        xmlNode.Attributes[0].Value = "";
-
-        foreach (var kv in AchieveManager.AchieveItemDictionary)
-        {
-            if (!kv.Value.Lock)
-            {
-                xmlNode.Attributes[0].Value += kv.Value.ID + " ";
-            }
-        }
-
-        xmlNode.Attributes[0].Value = xmlNode.Attributes[0].Value.TrimEnd(' ');
-
-
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[0].Value = Manager.PlayADsAmt.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[1].Value = Manager.UseSkillAmt.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[2].Value = Manager.SignAmt.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[3].Value = Manager.ShareAmt.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[4].Value = Manager.AllElfLevel.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[5].Value = Manager.PlayMinigameAmt.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[6].Value = Manager.TotalFlowerAwardCoin.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[7].Value = Manager.TotalVisitPerson.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[8].Value = Manager.TotalSpendDiamond.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[9].Value = Manager.CreateRoomAmt.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[10].Value = Manager.CreateChestAmt.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[11].Value = Manager.CreateLuckyChestAmt.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[12].Value = Manager.CreateGuessColorChestAmt.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[13].Value = Manager.CreateGuessNumberChestAmt.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[14].Value = Manager.GetChestAwardAmt.ToString("0");
-    }
-
-    public static void SavePlantList()
-    {
-        if (VisitManager.InVisit || TutorialManager.NewplayerTutorial)
-        {
-            return;
-        }
-        
-        XmlAttributeCollection attribute = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.PlantList).Attributes;
-
-        attribute[0].Value = "";
-
-        for (int i = 0; i < GardenManager.PlantSlotList.Count; i++)
-        {
-            Slot slot = GardenManager.PlantSlotList[i];
-            
-            attribute[0].Value += slot.ID + "," + slot.Index + " ";
-        }
-
-        attribute[0].Value = attribute[0].Value.TrimEnd(' ');
-    }
-
-    public static void SaveDatas()
-    {
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.Coin).Attributes[0].Value = Manager.Coin.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.Diamond).Attributes[0].Value = Manager.Diamond.ToString("0");
-        
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SignTime).Attributes[0].Value = SignManager.LastSignTime.ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SignIndex).Attributes[0].Value = SignManager.SignIndex.ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SignRound).Attributes[0].Value = SignManager.SignRound.ToString();
-        
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.QuitFlag).Attributes[0].Value = HttpManager.IsConnect.ToInt().ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.QuitTime).Attributes[0].Value = HttpManager.CurrentDateTime.ToString();
-
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.MiniTimer).Attributes[0].Value = Manager.MinigameCDTimer.ToString("0");
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.CircleTimer).Attributes[0].Value = Manager.IncomeCircleTimer.ToString("0");
-
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.ID).Attributes[0].Value = HttpManager.ID;
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SerialNumber).Attributes[0].Value = HttpManager.SerialNumber;
-
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.Language).Attributes[0].Value = LanguageManager.CurrentLanguage.ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.MiniGameIndex).Attributes[0].Value = MiniGameManager.MiniGameIndex.ToString();
-
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.NewplayerTutorial).Attributes[0].Value = TutorialManager.NewplayerTutorial.ToInt().ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.MemoryMinigameTutorial).Attributes[0].Value = TutorialManager.memoryMinigameTutorial.ToInt().ToString();
-
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.VisitTutorial).Attributes[0].Value = TutorialManager.visitTutorial.ToInt().ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressroomTutorial).Attributes[0].Value = TutorialManager.dressroomTutorial.ToInt().ToString();
-
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FashionShowTutorial).Attributes[0].Value = TutorialManager.fashionShowTutorial.ToInt().ToString();
-
-        if (TutorialManager.findSoloMinigameTutorial || TutorialManager.FindSoloMinigameTutorial)
-        {
-            ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindSoloMinigameTutorial).Attributes[0].Value = "1";
-        }
-        else
-        {
-            ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindSoloMinigameTutorial).Attributes[0].Value = "0";
-        }
-        if (TutorialManager.findMissingMinigameTutorial || TutorialManager.FindMissingMinigameTutorial)
-        {
-            ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorial).Attributes[0].Value = "1";
-        }
-        else
-        {
-            ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorial).Attributes[0].Value = "0";
-        }
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.TutorialPlazaRoom).Attributes[0].Value = TutorialManager.plazaRoomTutorial.ToInt().ToString();
-
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.NewplayerTutorialIndex).Attributes[0].Value = TutorialManager.NewplayerTutorialIndex.ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.MemoryMinigameTutorialIndex).Attributes[0].Value = TutorialManager.MemoryMinigameTutorialIndex.ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.VisitTutorialIndex).Attributes[0].Value = TutorialManager.VisitTutorialIndex.ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressroomIndex).Attributes[0].Value = TutorialManager.DressroomTutorialIndex.ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindSoloMinigameTutorialIndex).Attributes[0].Value = TutorialManager.FindSoloMinigameTutorialIndex.ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorialIndex).Attributes[0].Value = TutorialManager.FindMissingMinigameTutorialIndex.ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.TutorialIndexPlazaRoom).Attributes[0].Value = TutorialManager.PlazaRoomTutorialIndex.ToString();
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FashionShowTutorialIndex).Attributes[0].Value = TutorialManager.FashionShowTutorialIndex.ToString();
-    }
-
-    public static void SaveFlowers()
-    {
-        XmlAttribute attribute = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FlowerList).Attributes[0];
-        XmlAttribute attribute1 = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FlowerAmtList).Attributes[0];
-
-        attribute.Value = "";
-        attribute1.Value = "";
-
-        foreach (var kv in GardenManager.GetFlowerInfoDict())
-        {
-            if (kv.Value.Unlock)
-            {
-                attribute.Value += kv.Value.ID + " ";
-                attribute1.Value += kv.Value.Amount + " ";
-            }
-        }
-
-        attribute.Value = attribute.Value.Trim(' ');
-        attribute1.Value = attribute1.Value.Trim(' ');
-    }
-
-    public static void SaveConfigDocument()
-    {
-        if (Initializer.Inited)
-        {
-            SaveSkillList();
-            SaveAchieve();
-            SaveDress();
-            SavePlantList();
-            SaveDatas();
-            SaveFlowers();
-            ChestManager.SaveToConfig();
-        }
-    }
-
-    public static void SaveConfigDocumentToDisk()
-    {
-        if (Initializer.Inited)
-        {
-            XmlDocument doc = new XmlDocument();
-
-            doc.LoadXml(ConfigDocument.OuterXml);
-
-            Auxiliary.EncryptXml(doc);
-
-            StreamWriter sw = new StreamWriter(ConfigPath);
-
-            sw.Write(doc.OuterXml);
-
-            sw.Close();
-
-            byte[] bytes = File.ReadAllBytes(ConfigPath);
-            //byte[] bytes = Encoding.UTF8.GetBytes(PlayerDoc.OuterXml);
-
-            MD5 md5 = new MD5CryptoServiceProvider();
-
-            PlayerPrefs.SetString(Lib.ConfigPrefs, Auxiliary.ToString(md5.ComputeHash(bytes)));
-        }
-    }
-
-
-    public static void ResetConfigDocument()
-    {
-        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = ConfigReplayVersion.ToString();
-
-        SaveConfigDocument();
-
-        Manager.UploadConfigFlag = true;
-        Manager.DownloadConfigFlag = true;
-
-        SaveConfigDocumentToDisk();
-
-        DelayCall.Call
-        (
-            1,
-            () =>
-            {
-                Bubble.Show(null, Language.GetStr(LanguageLabel.UI__La_Lab0), null, null, () => { Application.Quit(); }, null, false);
-            }
-        );
-    }
-
-
-    public static int GetIntFormConfig(string node)
-    {
-        return int.Parse(ConfigRootNode.SelectSingleNode(node).Attributes[0].Value);
-    }
-
-    public static bool GetBoolFormConfig(string node)
-    {
-        return int.Parse(ConfigRootNode.SelectSingleNode(node).Attributes[0].Value).ToBool();
-    }
-
-    public static float GetFloatFormConfig(string node)
-    {
-        return float.Parse(ConfigRootNode.SelectSingleNode(node).Attributes[0].Value);
-    }
-
-    public static string GetStringFormConfig(string node)
-    {
-        return ConfigRootNode.SelectSingleNode(node).Attributes[0].Value;
-    }
-
-    public static double GetDoubleFormConfig(string node)
-    {
-        return double.Parse(ConfigRootNode.SelectSingleNode(node).Attributes[0].Value);
-    }
-
-
-    public static void SaveIntToConfig(string node, int value)
-    {
-        ConfigRootNode.SelectSingleNode(node).Attributes[0].Value = value.ToString();
-    }
-
-    public static void SaveBoolToConfig(string node, bool value)
-    {
-        ConfigRootNode.SelectSingleNode(node).Attributes[0].Value = value.ToInt().ToString();
-    }
-
-    public static void SaveFloatToConfig(string node, float value)
-    {
-        ConfigRootNode.SelectSingleNode(node).Attributes[0].Value = value.ToString();
-    }
-
-    public static void SaveStringToConfig(string node, string value)
-    {
-        ConfigRootNode.SelectSingleNode(node).Attributes[0].Value = value;
-    }
-
-    public static void SaveDoubleToConfig(string node, double value)
-    {
-        ConfigRootNode.SelectSingleNode(node).Attributes[0].Value = value.ToString();
-    }
-
-
-    public static List<int> GetIntList(char splitChar, string nodeName, List<int> defaultList)
-    {
-        return Auxiliary.StringToInts(splitChar, ConfigRootNode.SelectSingleNode(nodeName).Attributes[0].Value, defaultList);
-    }
-
-    public static List<string> GetStringList(char splitChar, string nodeName, List<string> defaultList)
-    {
-        return Auxiliary.StringToStrings(splitChar, ConfigRootNode.SelectSingleNode(nodeName).Attributes[0].Value, defaultList);
-    }
-
-
-    public static List<int> GetDressList()
-    {
-        List<int> list = new List<int>();
-
-        XmlAttributeCollection attribute = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressList).Attributes;
-
-        return Auxiliary.StringToInts(' ', attribute[0].Value, list);
-    }
-
-    public static List<int> GetDressDataIDs(Player player)
-    {
-        //foreach (var VARIABLE in ManaPlayer.CloseIDDic)
-        //{
-        //    Debug.LogWarning(VARIABLE.Key);
-        //}
-
-        List<int> dressDataIDs = new List<int>();
-
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Head]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Dress]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Shoe]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.HeadWear]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Top]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Eye]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Mouse]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Wing]);
-
-        return dressDataIDs;
-    }
-
-    public static List<int> GetDressDataIDs(List<string> dressdataNames)
-    {
-        //foreach (var VARIABLE in ManaPlayer.CloseIDDic)
-        //{
-        //    Debug.LogWarning(VARIABLE.Key);
-        //}
-
-        List<int> dressDataIDs = new List<int>();
-
-        int index = 0;
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
-        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
-
-        return dressDataIDs;
-    }
-
-    public static List<int> GetDressDataIDs(ISFSObject parameter)
-    {
-        List<int> ids = parameter.GetIntArray(InfoLabel.Close.GetHashString()).ToList();
-
-        return ids;
-    }
-
-    public static List<string> GetDressData(SFSObject parameter)
-    {
-        List<int> ids = GetDressDataIDs(parameter);
-
-        List<string> dressData = new List<string>();
-
-        foreach (var id in ids)
-        {
-            dressData.Add(PlayerManager.CloseItemDictionary[id].ArmatureName);
-        }
-
-        return dressData;
-    }
-
-    public static List<string> GetDressData(XmlNode node = null)
-    {
-        XmlNode xmlNode;
-
-        if (node == null)
-        {
-            xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressData);
-        }
-        else
-        {
-            xmlNode = node.SelectSingleNode(PlayerConfigLabel.DressData);
-        }
-
-
-        List<string> dataList = new List<string>();
-
-        if (xmlNode != null && xmlNode.Attributes.Count == 12)
-        {
-            dataList.Add(xmlNode.Attributes[0].Value);
-            dataList.Add(xmlNode.Attributes[1].Value);
-            dataList.Add(xmlNode.Attributes[2].Value);
-            dataList.Add(xmlNode.Attributes[3].Value);
-            dataList.Add(xmlNode.Attributes[4].Value);
-            dataList.Add(xmlNode.Attributes[5].Value);
-            dataList.Add(xmlNode.Attributes[6].Value);
-            dataList.Add(xmlNode.Attributes[7].Value);
-			dataList.Add(xmlNode.Attributes[8].Value);
-			dataList.Add(xmlNode.Attributes[9].Value);
-			dataList.Add(xmlNode.Attributes[10].Value);
-			dataList.Add(xmlNode.Attributes[11].Value);
-
-            //dataList[8] = "长袖9左";
-            //dataList[9] = "Empty";
-            //dataList[10] = "长袖9右";
-            //dataList[11] = "Empty";
-        }
-		else if(xmlNode != null && xmlNode.Attributes.Count == 8)
-		{
-			dataList.Add(xmlNode.Attributes[0].Value);
-			dataList.Add(xmlNode.Attributes[1].Value);
-			dataList.Add(xmlNode.Attributes[2].Value);
-			dataList.Add(xmlNode.Attributes[3].Value);
-			dataList.Add(xmlNode.Attributes[4].Value);
-			dataList.Add(xmlNode.Attributes[5].Value);
-			dataList.Add(xmlNode.Attributes[6].Value);
-			dataList.Add(xmlNode.Attributes[7].Value);
-			dataList.AddRange (GetSleeveListByTop(xmlNode.Attributes[4].Value));
-		}
-        else
-        {
-            float rate = Random.Range(0f, 1f);
-
-            if (rate < 0.33f)
-            {
-                dataList.Add("脑壳1");
-                dataList.Add("裙子1");
-                dataList.Add("鞋子1");
-                dataList.Add("头饰品1");
-                dataList.Add("上衣1");
-                dataList.Add("眼睛1");
-                dataList.Add("嘴巴1");
-                dataList.Add("Empty");
-				dataList.Add("Empty");
-				dataList.Add("短袖1左");
-				dataList.Add("Empty");
-				dataList.Add("短袖1右");
-            }
-            else if (rate < 0.66f)
-            {
-                dataList.Add("脑壳2");
-                dataList.Add("裙子2");
-                dataList.Add("鞋子2");
-                dataList.Add("头饰品2");
-                dataList.Add("上衣2");
-                dataList.Add("眼睛2");
-                dataList.Add("嘴巴2");
-                dataList.Add("Empty");
-				dataList.Add("Empty");
-				dataList.Add("短袖2左");
-				dataList.Add("Empty");
-				dataList.Add("短袖2右");
-            }
-            else
-            {
-                dataList.Add("脑壳3");
-                dataList.Add("裙子3");
-                dataList.Add("鞋子3");
-                dataList.Add("头饰品3");
-                dataList.Add("上衣3");
-                dataList.Add("眼睛3");
-                dataList.Add("嘴巴3");
-                dataList.Add("Empty");
-				dataList.Add("Empty");
-				dataList.Add("短袖2左");
-				dataList.Add("Empty");
-				dataList.Add("短袖2右");
-            }
-        }
-
-        return dataList;
-    }
-
-    public static List<int> GetFlowerList()
-    {
-        List<int> list = new List<int>();
-
-        XmlAttributeCollection attribute = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FlowerList).Attributes;
-
-        return Auxiliary.StringToInts(' ', attribute[0].Value, list);
-    }
-
-    public static List<int> GetLockAchieveIDs()
-    {
-        return Auxiliary.StringToInts(' ', GetStringFormConfig(PlayerConfigLabel.AchieveList), new List<int>());
-    }
-
-    public static List<double> GetAchieveValues()
-    {
-        List<double> dataList = new List<double>();
-
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[0].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[1].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[2].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[3].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[4].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[5].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[6].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[7].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[8].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[9].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[10].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[11].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[12].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[13].Value));
-        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[14].Value));
-
-        return dataList;
-    }
-
-    public static List<KV<int, int>> GetPlantList(XmlNode node = null)
-    {
-        List<KV<int, int>> list = new List<KV<int, int>>();
-
-        XmlNode xmlNode;
-
-        if (node == null)
-        {
-            xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.PlantList);
-        }
-        else
-        {
-            xmlNode = node.SelectSingleNode(PlayerConfigLabel.PlantList);
-        }
-
-        if (!string.IsNullOrEmpty(xmlNode.Attributes[0].Value))
-        {
-            string[] strings = xmlNode.Attributes[0].Value.Split(' ');
-
-            for (int i = 0; i < strings.Length; i++)
-            {
-                list.Add(new KV<int, int>(int.Parse(strings[i].Split(',')[0]), int.Parse(strings[i].Split(',')[1])));
-            }
-        }
-
-        return list;
-    }
-
-    public static List<XmlAttributeCollection> GetSkillList(XmlNode node = null)
-    {
-        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
-
-        XmlNodeList xmlNodeList;
-
-        if (node == null)
-        {
-            xmlNodeList = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList).ChildNodes;
-        }
-        else
-        {
-            xmlNodeList = node.SelectSingleNode(PlayerConfigLabel.SkillList).ChildNodes;
-        }
-
-        for (int i = 0; i < xmlNodeList.Count; i++)
-        {
-            attributeList.Add(xmlNodeList[i].Attributes);
-        }
-
-        return attributeList;
-    }
-
-
-    public static List<string> GetOfflineConfig()
-    {
-        TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.OfflineConfig, Folder.Config);
-
-        XmlDocument xmlDoc = new XmlDocument();
-
-        xmlDoc.LoadXml(textAsset.text);
-
-        XmlNode xmlNode = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectSingleNode(ConfigLabel.ChildNode);
-
-        List<string> strList = new List<string>()
-        {
-            xmlNode.Attributes[1].Value,
-            xmlNode.Attributes[2].Value,
-            xmlNode.Attributes[3].Value,
-        };
-
-        return strList;
-    }
-
-    public static XmlAttributeCollection GetVisitConfig()
-    {
-        TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.VisitConfig, Folder.Config);
-
-        XmlDocument xmlDoc = new XmlDocument();
-
-        xmlDoc.LoadXml(textAsset.text);
-
-        XmlNode xmlNode = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectSingleNode(ConfigLabel.ChildNode);
-
-        return xmlNode.Attributes;
-    }
-
-    public static XmlAttributeCollection GetPlazaRoomConfig()
-    {
-        TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PlazaroomConfig, Folder.Config);
-
-        XmlDocument xmlDoc = new XmlDocument();
-
-        xmlDoc.LoadXml(textAsset.text);
-
-        XmlNode xmlNode = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectSingleNode(ConfigLabel.ChildNode);
-
-        return xmlNode.Attributes;
-    }
-
-    public static XmlAttributeCollection GetAwardConfig()
-    {
-        TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.AwardConfig, Folder.Config);
-
-        XmlDocument xmlDoc = new XmlDocument();
-
-        xmlDoc.LoadXml(textAsset.text);
-
-        XmlNode xmlNode = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectSingleNode(ConfigLabel.ChildNode);
-
-        return xmlNode.Attributes;
-    }
-
-    public static List<XmlAttributeCollection> GetIAPConfig()
-    {
-        TextAsset textAsset;
-        XmlNodeList xmlNodeList;
-
-        XmlDocument xmlDoc = new XmlDocument();
-        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
-
-
-        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.IAPConfig, Folder.Config);
-
-        xmlDoc.LoadXml(textAsset.text);
-
-        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
-
-        for (int i = 0; i < xmlNodeList.Count; i++)
-        {
-            attributeList.Add(xmlNodeList[i].Attributes);
-        }
-
-        return attributeList;
-    }
-
-    public static List<XmlAttributeCollection> GetSkillConfig()
-    {
-        TextAsset textAsset;
-        XmlDocument xmlDoc = new XmlDocument();
-        List<XmlNodeList> xmlNodeList = new List<XmlNodeList>();
-        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
-        
-        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PackConfig, Folder.Config);
-        xmlDoc.LoadXml(textAsset.text);
-        xmlNodeList.Add(xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode));
-        
-        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.SkillConfig, Folder.Config);
-        xmlDoc.LoadXml(textAsset.text);
-        xmlNodeList.Add(xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode));
-        
-        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.AbilityConfig, Folder.Config);
-        xmlDoc.LoadXml(textAsset.text);
-        xmlNodeList.Add(xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode));
-
-        for (int i = 0; i < xmlNodeList.Count; i++)
-        {
-            for (int j = 0; j < xmlNodeList[i].Count; j++)
-            {
-                attributeList.Add(xmlNodeList[i][j].Attributes);
-            }
-        }
-
-        return attributeList;
-    }
-
-    public static List<XmlAttributeCollection> GetSignConfig()
-    {
-        TextAsset textAsset;
-        XmlNodeList xmlNodeList;
-
-        XmlDocument xmlDoc = new XmlDocument();
-        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
-        
-
-        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.SigninConfig, Folder.Config);
-
-        xmlDoc.LoadXml(textAsset.text);
-
-        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
-        
-        for (int i = 0; i < xmlNodeList.Count; i++)
-        {
-            attributeList.Add(xmlNodeList[i].Attributes);
-        }
-
-        return attributeList;
-    }
-
-    public static List<XmlAttributeCollection> GetFlowerConfig(TextAsset textAsset = null)
-    {
-        XmlNodeList xmlNodeList;
-
-        XmlDocument xmlDoc = new XmlDocument();
-        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
-
-        if (textAsset == null)
-        {
-            textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.FlowerConfig, Folder.Config);
-        }
-
-        xmlDoc.LoadXml(textAsset.text);
-
-        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
-
-        for (int i = 0; i < xmlNodeList.Count; i++)
-        {
-            attributeList.Add(xmlNodeList[i].Attributes);
-        }
-
-        return attributeList;
-    }
-
-    public static List<XmlAttributeCollection> GetLotteryConfig()
-    {
-        TextAsset textAsset;
-        XmlNodeList xmlNodeList;
-
-        XmlDocument xmlDoc = new XmlDocument();
-        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
-
-
-        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.LotteryConfig, Folder.Config);
-
-        xmlDoc.LoadXml(textAsset.text);
-
-        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
-
-        for (int i = 0; i < xmlNodeList.Count; i++)
-        {
-            attributeList.Add(xmlNodeList[i].Attributes);
-        }
-
-        return attributeList;
-    }
-
-    public static List<XmlAttributeCollection> GetAchieveConfig()
-    {
-        TextAsset textAsset;
-        XmlNodeList xmlNodeList;
-
-        XmlDocument xmlDoc = new XmlDocument();
-        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
-
-
-        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.AchieveConfig, Folder.Config);
-
-        xmlDoc.LoadXml(textAsset.text);
-
-        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
-
-        for (int i = 0; i < xmlNodeList.Count; i++)
-        {
-            attributeList.Add(xmlNodeList[i].Attributes);
-        }
-
-        return attributeList;
-    }
-
-    public static List<XmlAttributeCollection> GetDressRoomConfig(TextAsset textAsset = null)
-    {
-        XmlNodeList xmlNodeList;
-
-        XmlDocument xmlDoc = new XmlDocument();
-        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
-
-        if (textAsset == null)
-        {
-            textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.DressroomConfig, Folder.Config);
-        }
-
-        xmlDoc.LoadXml(textAsset.text);
-
-        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
-
-        for (int i = 0; i < xmlNodeList.Count; i++)
-        {
-            attributeList.Add(xmlNodeList[i].Attributes);
-        }
-
-        return attributeList;
-    }
-
-
-    public static int GetGardenLevel(XmlDocument xmlDocument)
-    {
-        XmlNodeList nodeList = xmlDocument.SelectNodes(PlayerConfigLabel.RootNode + "/" + PlayerConfigLabel.SkillList + "/" + PlayerConfigLabel.Skill);
-        for (int i = 0; i < nodeList.Count; i++)
-        {
-            if (nodeList[i].Attributes[0].Value == "Ability1")
-            {
-                return int.Parse(nodeList[i].Attributes[3].Value);
-            }
-        }
-        return -1;
-    }
-
-    public static int GetConfigVersion(XmlDocument xmlDocument)
-    {
-        return int.Parse(xmlDocument.SelectSingleNode(PlayerConfigLabel.RootNode + "/" + PlayerConfigLabel.Version).Attributes[0].Value);
-    }
-
-    public static List<string> GetDefaultDressDatas()
-    {
-        List<string> defaultDressDatas = new List<string>();
-        defaultDressDatas.Add("脑壳-缺失");
-        defaultDressDatas.Add("裙子-缺失");
-        defaultDressDatas.Add("鞋子-缺失");
-        defaultDressDatas.Add("头饰-缺失");
-        defaultDressDatas.Add("上衣-缺失");
-        defaultDressDatas.Add("眼睛1");
-        defaultDressDatas.Add("嘴巴1");
-        defaultDressDatas.Add("翅膀-缺失");
-        defaultDressDatas.Add("Empty");
-        defaultDressDatas.Add("Empty");
-        defaultDressDatas.Add("Empty");
-        defaultDressDatas.Add("Empty");
-
-        //defaultDressDatas.Add("脑壳1");
-        //defaultDressDatas.Add("裙子1");
-        //defaultDressDatas.Add("鞋子1");
-        //defaultDressDatas.Add("头饰品1");
-        //defaultDressDatas.Add("上衣1");
-        //defaultDressDatas.Add("眼睛1");
-        //defaultDressDatas.Add("嘴巴1");
-        //defaultDressDatas.Add("Empty");
-        //defaultDressDatas.Add("Empty");
-        //defaultDressDatas.Add("短袖2左");
-        //defaultDressDatas.Add("Empty");
-        //defaultDressDatas.Add("短袖2右");
-
-        return defaultDressDatas;
-    }
-
-
-    public static XmlDocument GetXmlDocument(string ConfigName)
-    {
-        TextAsset textAsset = ResourceManager.Load<TextAsset>(ConfigName, Folder.Config);
-        XmlDocument xmlDocument = new XmlDocument();
-        xmlDocument.LoadXml(textAsset.text);
-        return xmlDocument;
-    }
-
-
-    //玩家存档版本大于默认存档版本时需要清空
-    //玩家存档版本小于默认存档版本时需要更新
-    //玩家存档版本等于ReplayVersion时需要标记为重玩
-    public static XmlDocument UpdateConfigDocument(int nativeVersion, XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        if (nativeVersion < 0)
-        {
-            Debug.LogWarning("UpdateArchive to 0");
-
-            ToVersion0(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 1)
-        {
-            Debug.LogWarning("UpdateArchive to 1");
-
-            ToVersion1(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 2)
-        {
-            Debug.LogWarning("UpdateArchive to 2");
-
-            ToVersion2(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 3)
-        {
-            Debug.LogWarning("UpdateArchive to 3");
-
-            ToVersion3(nativeDoc, defaultDoc);
-        }
-
-		if (nativeVersion < 4)
-		{
-			Debug.LogWarning("UpdateArchive to 4");
-
-			ToVersion4(nativeDoc, defaultDoc);
-		}
-
-        if (nativeVersion < 5)
-        {
-            Debug.LogWarning("UpdateArchive to 5");
-
-            ToVersion5(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 6)
-        {
-            Debug.LogWarning("UpdateArchive to 6");
-
-            ToVersion6(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 7)
-        {
-            Debug.LogWarning("UpdateArchive to 7");
-
-            ToVersion7(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 8)
-        {
-            Debug.LogWarning("UpdateArchive to 8");
-
-            ToVersion8(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 9)
-        {
-            Debug.LogWarning("UpdateArchive to 9");
-
-            ToVersion9(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 10)
-        {
-            Debug.LogWarning("UpdateArchive to 10");
-
-            ToVersion10(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 11)
-        {
-            Debug.LogWarning("UpdateArchive to 11");
-
-            ToVersion11(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 12)
-        {
-            Debug.LogWarning("UpdateArchive to 12");
-
-            ToVersion12(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 13)
-        {
-            Debug.LogWarning("UpdateArchive to 13");
-
-            ToVersion13(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 14)
-        {
-            Debug.LogWarning("UpdateArchive to 14");
-
-            ToVersion14(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 15)
-        {
-            Debug.LogWarning("UpdateArchive to 15");
-
-            ToVersion15(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 16)
-        {
-            Debug.LogWarning("UpdateArchive to 16");
-
-            ToVersion16(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 17)
-        {
-            Debug.LogWarning("UpdateArchive to 17");
-
-            ToVersion17(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 18)
-        {
-            Debug.LogWarning("UpdateArchive to 18");
-
-            ToVersion18(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 19)
-        {
-            Debug.LogWarning("UpdateArchive to 19");
-
-            ToVersion19(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 20)
-        {
-            Debug.LogWarning("UpdateArchive to 20");
-
-            ToVersion20(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 21)
-        {
-            Debug.LogWarning("UpdateArchive to 21");
-
-            ToVersion21(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 22)
-        {
-            Debug.LogWarning("UpdateArchive to 22");
-
-            ToVersion22(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 23)
-        {
-            Debug.LogWarning("UpdateArchive to 23");
-
-            ToVersion23(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 24)
-        {
-            Debug.LogWarning("UpdateArchive to 24");
-
-            ToVersion24(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 25)
-        {
-            Debug.LogWarning("UpdateArchive to 25");
-
-            ToVersion25(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 26)
-        {
-            Debug.LogWarning("UpdateArchive to 26");
-
-            ToVersion26(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 28)
-        {
-            Debug.LogWarning("UpdateArchive to 28");
-
-            ToVersion28(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 29)
-        {
-            Debug.LogWarning("UpdateArchive to 29");
-
-            ToVersion29(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 30)
-        {
-            Debug.LogWarning("UpdateArchive to 30");
-
-            ToVersion30(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 31)
-        {
-            Debug.LogWarning("UpdateArchive to 31");
-
-            ToVersion31(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 32)
-        {
-            Debug.LogWarning("UpdateArchive to 32");
-
-            ToVersion32(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 33)
-        {
-            Debug.LogWarning("UpdateArchive to 33");
-
-            ToVersion33(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 34)
-        {
-            Debug.LogWarning("UpdateArchive to 34");
-
-            ToVersion34(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 35)
-        {
-            Debug.LogWarning("UpdateArchive to 35");
-
-            ToVersion35(nativeDoc, defaultDoc);
-        }
-
-        if (nativeVersion < 36)
-        {
-            Debug.LogWarning("UpdateArchive to 36");
-
-            ToVersion36(nativeDoc, defaultDoc);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion0(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 0.ToString();
-
-        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.ADPlayTime);
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion1(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 1.ToString();
-
-        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.SerialNumber);
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion2(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 2.ToString();
-
-        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.NotificationIndex);
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion3(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 3.ToString();
-
-        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.NickName);
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
-
-        return nativeDoc;
-    }
-
-	public static XmlDocument ToVersion4(XmlDocument nativeDoc, XmlDocument defaultDoc)
-	{
-		nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 4.ToString();
-
-		XmlNode xmlNode = nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.DressData);
-
-		XmlAttribute attribute = xmlNode.Attributes.Append (nativeDoc.CreateAttribute (PlayerConfigLabel.LeftLongSleeveSlot));
-		attribute.Value="Empty";
-
-		attribute = xmlNode.Attributes.Append (nativeDoc.CreateAttribute (PlayerConfigLabel.LeftShortSleeveSlot));
-		attribute.Value="Empty";
-
-		attribute = xmlNode.Attributes.Append (nativeDoc.CreateAttribute (PlayerConfigLabel.RightLongSleeveSlot));
-		attribute.Value="Empty";
-
-		attribute = xmlNode.Attributes.Append (nativeDoc.CreateAttribute (PlayerConfigLabel.RightShortSleeveSlot));
-		attribute.Value="Empty";
-
-		List<string> sleeveList = GetSleeveListByTop (xmlNode.Attributes [4].Value);
-
-		xmlNode.Attributes [8].Value = sleeveList[0];
-		xmlNode.Attributes [9].Value = sleeveList[1];
-		xmlNode.Attributes [10].Value = sleeveList[2];
-		xmlNode.Attributes [11].Value = sleeveList[3];
-
-		return nativeDoc;
-	}
-
-    public static List<string> GetSleeveListByTop(string topName)
-    {
-        List<string> sleeveList = new List<string>() {"Empty", "Empty", "Empty", "Empty"};
-
-        if (topName == "上衣1")
-        {
-            sleeveList[1] = "短袖1左";
-            sleeveList[3] = "短袖1右";
-        }
-        else if (topName == "上衣2")
-        {
-            sleeveList[1] = "短袖2左";
-            sleeveList[3] = "短袖2右";
-        }
-        else if (topName == "上衣3")
-        {
-            sleeveList[1] = "短袖2左";
-            sleeveList[3] = "短袖2右";
-        }
-        else if (topName == "上衣5")
-        {
-            sleeveList[1] = "短袖2左";
-            sleeveList[3] = "短袖2右";
-        }
-        else if (topName == "上衣6")
-        {
-            sleeveList[1] = "短袖6左";
-            sleeveList[3] = "短袖6右";
-        }
-        else if (topName == "上衣7")
-        {
-            sleeveList[1] = "短袖7左";
-            sleeveList[3] = "短袖7右";
-        }
-        else if (topName == "上衣7(粉)")
-        {
-            sleeveList[1] = "短袖7粉左";
-            sleeveList[3] = "短袖7粉右";
-        }
-        else if (topName == "上衣12")
-        {
-            sleeveList[1] = "短袖12左";
-            sleeveList[3] = "短袖12右";
-        }
-        else if (topName == "上衣13")
-        {
-            sleeveList[1] = "短袖13左";
-            sleeveList[3] = "短袖13右";
-        }
-        else if (topName == "上衣13(紫)")
-        {
-            sleeveList[1] = "短袖13蓝左";
-            sleeveList[3] = "短袖13蓝右";
-        }
-        else
-        {
-            sleeveList[0] = "长袖9左";
-            sleeveList[2] = "长袖9右";
-        }
-
-        return sleeveList;
-    }
-
-    public static XmlDocument ToVersion5(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 5.ToString();
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion6(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 6.ToString();
-
-        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.NewFlowerFlag);
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
-
-        return nativeDoc;
-    }
-
-    private static int DefaultFlowerAmt = 1;
-    public static XmlDocument ToVersion7(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 7.ToString();
-
-        XmlNode xmlNode1 = nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FlowerList);
-        string[] flowerIDs= xmlNode1.Attributes[0].Value.Split(' ');
-
-        xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FlowerAmtList);
-        xmlNode1.Attributes[0].Value = "";
-        foreach (var flowerID in flowerIDs)
-        {
-            xmlNode1.Attributes[0].Value += " " + DefaultFlowerAmt;
-        }
-        xmlNode1.Attributes[0].Value = xmlNode1.Attributes[0].Value.TrimStart();
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion8(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 8.ToString();
-
-        XmlNode xmlNode0 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.TutorialPlazaRoom);
-        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.TutorialIndexPlazaRoom);
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode0, true));
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
-
-        return nativeDoc;
-    }
-
-    private static int DefaultAchieveValue = 0;
-    public static XmlDocument ToVersion9(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 9.ToString();
-        XmlNode xmlNode = nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.AchieveData);
-        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.CreateRoomAmt));
-        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.CreateChestAmt));
-        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.CreateLuckyChestAmt));
-        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.CreateGuessColorChestAmt));
-        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.CreateGuessNumberChestAmt));
-        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.GetChestAwardAmt));
-        xmlNode.Attributes[9].Value = DefaultAchieveValue.ToString();
-        xmlNode.Attributes[10].Value = DefaultAchieveValue.ToString();
-        xmlNode.Attributes[11].Value = DefaultAchieveValue.ToString();
-        xmlNode.Attributes[12].Value = DefaultAchieveValue.ToString();
-        xmlNode.Attributes[13].Value = DefaultAchieveValue.ToString();
-        xmlNode.Attributes[14].Value = DefaultAchieveValue.ToString();
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion10(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 10.ToString();
-        ChestManager.ClearRefundAndOperateData(nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode));
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion11(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 11.ToString();
-        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.ReplayVersion);
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion12(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 12.ToString();
-        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.ExtraSlot);
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion13(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 13.ToString();
-        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.CurrentMinigameType);
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion14(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 14.ToString();
-        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.LastPrivateMessageDate);
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion15(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 15.ToString();
-        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.LastApplicantSerialNumber);
-
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion16(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 16.ToString();
-
-        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorial);
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
-        xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorialIndex);
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion17(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 17.ToString();
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion18(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 18.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion19(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 19.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion20(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 20.ToString();
-
-        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.MinigameCoolFlag);
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion21(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 21.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion22(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 22.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion23(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 23.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion24(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 24.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion25(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 25.ToString();
-
-        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FashionShowTutorial);
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
-        xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FashionShowTutorialIndex);
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion26(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 26.ToString();
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion27(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 27.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion28(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 28.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion29(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 29.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion30(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 30.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion31(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 31.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion32(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 32.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion33(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 33.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion34(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 34.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion35(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 35.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
-
-    public static XmlDocument ToVersion36(XmlDocument nativeDoc, XmlDocument defaultDoc)
-    {
-        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 36.ToString();
-
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (Directory.Exists(persistentFolderPath))
-        {
-            Directory.Delete(persistentFolderPath, true);
-        }
-
-        return nativeDoc;
-    }
+using LitJson;
+
+using UnityEngine;
+
+using System;
+using System.IO;
+using System.Xml;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Cryptography;
+using Sfs2X.Entities;
+using Sfs2X.Entities.Data;
+using UnityEngine.UI;
+using Random = UnityEngine.Random;
+
+public class ConfigManager : Regist
+{
+    #region Config
+
+    public static XmlNode ConfigRootNode
+    {
+        get
+        {
+            if (configRootNode == null)
+            {
+                configRootNode = ConfigDocument.SelectSingleNode(PlayerConfigLabel.RootNode);
+            }
+
+            return configRootNode;
+        }
+        set { configRootNode = value; }
+    }
+    public static XmlNode configRootNode;
+    public static XmlDocument ConfigDocument
+    {
+        get
+        {
+            if (configDocument == null)
+            {
+                LoadConfigDocument();
+            }
+
+            return configDocument;
+        }
+        set { configDocument = value; }
+    }
+    public static XmlDocument configDocument;
+
+    public static float UrlTimer;
+    public static bool PlayerDocumentDamageFlag;
+    public static bool IDRequestFlag;
+    public static bool SerialNumberRequestFlag = true;
+    public static XmlDocument DefaultConfigDocument = new XmlDocument();
+
+    public static int ConfigReplayVersion = -1000;
+    public static string ConfigPath
+    {
+        get
+        {
+            if (string.IsNullOrEmpty(configPath))
+            {
+                configPath = string.Format("{0}/{1}", Application.persistentDataPath, ResourceLabel.PlayerConfigXml);
+            }
+
+            return configPath;
+        }
+    }
+    public static string configPath;
+
+    #endregion
+
+    private static string UnvalidConfigMD5 = "";
+    private static void LoadConfigDocument()
+    {
+        //if (!PlayerPrefManager.GetBool(PlayerPrefManager.INTERACT_CONFIG, false))
+        //{
+        //    Debug.LogWarning("Download Archive : did not interact");
+
+        //    PlayerDocumentDamageFlag = true;
+        //    SerialNumberRequestFlag = false;
+
+        //    return;
+        //}
+
+        int defaultVersion;
+        int nativeVersion;
+
+        XmlNode node;
+        XmlDocument nativeDoc = new XmlDocument();
+
+        if (File.Exists(ConfigPath))
+        {
+            try
+            {
+                StreamReader sr = new StreamReader(ConfigPath);
+
+                nativeDoc.LoadXml(sr.ReadToEnd());
+
+                sr.Close();
+
+                Auxiliary.DecryptXml(nativeDoc);
+            }
+            catch (Exception)
+            {
+                Debug.LogWarning("Download Archive : MD5 doesn't match");
+                //ManaDebug.Log("Download Archive");
+
+                PlayerDocumentDamageFlag = true;
+                SerialNumberRequestFlag = false;
+
+                return;
+            }
+
+
+            TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PlayerConfig, Folder.Default);
+
+            DefaultConfigDocument.LoadXml(textAsset.text);
+
+            defaultVersion = int.Parse(DefaultConfigDocument.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value);
+
+            node = nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version);
+
+            if (node == null)
+            {
+                StreamWriter sw = new StreamWriter(ConfigPath);
+
+                sw.Write(DefaultConfigDocument.OuterXml);
+
+                sw.Close();
+
+                configDocument = DefaultConfigDocument;
+            }
+            else
+            {
+                nativeVersion = int.Parse(node.Attributes[0].Value);
+
+                if (nativeVersion == ConfigReplayVersion)
+                {
+                    configDocument = DefaultConfigDocument;
+                    int currentReplayVersion = int.Parse(nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.ReplayVersion).Attributes[0].Value);
+                    SaveIntToConfig(PlayerConfigLabel.ReplayVersion, currentReplayVersion + 1);
+                    //Debug.Log(currentReplayVersion);
+                }
+                else if (nativeVersion < defaultVersion)
+                {
+                    byte[] bytes;
+
+                    MD5 md5 = new MD5CryptoServiceProvider();
+
+                    if (nativeVersion <= 4)
+                    {
+                        bytes = Encoding.UTF8.GetBytes(nativeDoc.OuterXml);
+                    }
+                    else
+                    {
+                        bytes = File.ReadAllBytes(ConfigPath);
+                    }
+
+                    if (PlayerPrefs.GetString(Lib.ConfigPrefs) != UnvalidConfigMD5 && PlayerPrefs.GetString(Lib.ConfigPrefs) != Auxiliary.ToString(md5.ComputeHash(bytes)))
+                    {
+                        Debug.LogWarning("Download Archive : MD5 doesn't match");
+                        //ManaDebug.Log("Download Archive");
+
+                        PlayerDocumentDamageFlag = true;
+                        SerialNumberRequestFlag = false;
+
+                        return;
+                    }
+                    else
+                    {
+                        configDocument = UpdateConfigDocument(nativeVersion, nativeDoc, DefaultConfigDocument);
+
+                        //HttpManager.UploadConfig();
+                    }
+                }
+                else if (nativeVersion > defaultVersion)
+                {
+                    //configDocument = DefaultConfigDocument;
+                }
+                else
+                {
+                    byte[] bytes = File.ReadAllBytes(ConfigPath);
+
+                    MD5 md5 = new MD5CryptoServiceProvider();
+
+                    if (PlayerPrefs.GetString(Lib.ConfigPrefs) != UnvalidConfigMD5 && PlayerPrefs.GetString(Lib.ConfigPrefs) != Auxiliary.ToString(md5.ComputeHash(bytes)))
+                    {
+                        Debug.LogWarning("Download Archive : MD5 doesn't match");
+                        //ManaDebug.Log("Download Archive");
+
+                        PlayerDocumentDamageFlag = true;
+                        SerialNumberRequestFlag = false;
+
+                        return;
+                    }
+
+                    configDocument = nativeDoc;
+                }
+            }
+        }
+        else
+        {
+            TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PlayerConfig, Folder.Default);
+
+            DefaultConfigDocument.LoadXml(textAsset.text);
+
+            Debug.LogWarning("Download Archive");
+            //ManaDebug.Log("Download Archive");
+
+            PlayerDocumentDamageFlag = true;
+            SerialNumberRequestFlag = false;
+
+            return;
+        }
+    }
+
+
+    private float MaxUrlWaitTime = 10;
+    public void Update()
+    {
+        if (PlayerDocumentDamageFlag)
+        {
+            UrlTimer += Time.deltaTime;
+
+            if (UrlTimer >= MaxUrlWaitTime)
+            {
+                PlayerDocumentDamageFlag = false;
+
+                TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PlayerConfig, Folder.Default);
+
+                configDocument = new XmlDocument();
+
+                configDocument.LoadXml(textAsset.text);
+
+                return;
+            }
+        }
+
+        if (!SerialNumberRequestFlag)
+        {   
+            if (HttpManager.SerialNumber != PlayerConfigLabel.DefaultSerialNumber)
+            {
+                SerialNumberRequestFlag = true;
+
+                HttpManager.GetConfigBySerialNumber(HttpManager.SerialNumber, RecoveConfigDocument);
+            }
+        }
+    }
+
+    public override bool InitAtOnce()
+    {
+        if (base.InitAtOnce())
+        {
+            return true;
+        }
+
+        enabled = true;
+
+        return false;
+    }
+
+
+    public static void RecoveConfigDocument(JsonData jsonData)
+    {
+        if (!PlayerDocumentDamageFlag)
+        {
+            return;
+        }
+
+        TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PlayerConfig, Folder.Default);
+
+        DefaultConfigDocument.LoadXml(textAsset.text);
+        //Debug.Log(jsonData.ToJson());
+        if (jsonData.Inst_Object.Keys.Contains("l"))
+        {
+            XmlDocument recoverdDocument = new XmlDocument();
+
+            recoverdDocument.LoadXml(jsonData["l"].ToString());
+
+            int RecoverdVersion = int.Parse(recoverdDocument.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value);
+            int DefaultVersion = int.Parse(DefaultConfigDocument.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value);
+
+            PlayerDocumentDamageFlag = false;
+            if (RecoverdVersion <= DefaultVersion)
+            {
+                UpdateConfigDocument(RecoverdVersion, recoverdDocument, DefaultConfigDocument);
+                configDocument = recoverdDocument;
+                PlayerPrefManager.SaveBool(PlayerPrefManager.INTERACT_CONFIG, true);
+            }
+            else if (RecoverdVersion > DefaultVersion)
+            {
+                //configDocument = DefaultConfigDocument;
+            }
+        }
+        else
+        {
+            if (!IDRequestFlag)
+            {
+                if (HttpManager.ID != PlayerConfigLabel.DefaultID)
+                {
+                    IDRequestFlag = true;
+                    Debug.LogWarning("DownloadByID");
+
+                    HttpManager.GetConfigByID(HttpManager.ID, RecoveConfigDocument);
+                }
+                else
+                {
+                    Debug.LogWarning("Use Default");
+                    configDocument = DefaultConfigDocument;
+                    PlayerDocumentDamageFlag = false;
+                }
+            }
+            else
+            {
+                Debug.LogWarning("Use Default");
+                configDocument = DefaultConfigDocument;
+                PlayerDocumentDamageFlag = false;
+            }
+        }
+    }
+
+
+    public static void SaveSkillList()
+    {
+        if (TutorialManager.NewplayerTutorial || !Manager.Inited)
+        {
+            return;
+        }
+        
+        XmlNode xmlNode;
+        XmlAttribute xmlAttribute;
+
+        xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList);
+        xmlNode.RemoveAll();
+
+        for (int i = 0; i < Manager.SkillList.Count; i++)
+        {
+            if (Manager.SkillList[i].SkillType == SkillType.Skill)
+            {
+                #region Skill
+
+                Skill skill = (Skill)Manager.SkillList[i];
+
+                xmlNode = xmlNode.AppendChild(ConfigDocument.CreateNode(XmlNodeType.Element, PlayerConfigLabel.Skill, ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ID));
+                xmlAttribute.Value = skill.FullID;
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.SkillType));
+                xmlAttribute.Value = skill.SkillType.ToString();
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ItemStatus));
+                xmlAttribute.Value = skill.ItemStatus.ToString();
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.Level));
+                xmlAttribute.Value = skill.Level.ToString();
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.CoolTimer));
+                xmlAttribute.Value = skill.CoolTimer.ToString("0");
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.UseTimer));
+                xmlAttribute.Value = skill.UseTimer.ToString("0");
+
+                xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList);
+
+                #endregion
+            }
+            else if (Manager.SkillList[i].SkillType == SkillType.Pack)
+            {
+                #region Pack
+
+                Pack pack = (Pack)Manager.SkillList[i];
+
+                xmlNode = xmlNode.AppendChild(ConfigDocument.CreateNode(XmlNodeType.Element, PlayerConfigLabel.Skill, ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ID));
+                xmlAttribute.Value = pack.FullID;
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.SkillType));
+                xmlAttribute.Value = pack.SkillType.ToString();
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ItemStatus));
+                xmlAttribute.Value = pack.ItemStatus.ToString();
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.Level));
+                xmlAttribute.Value = pack.Level.ToString();
+
+                xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList);
+
+                #endregion
+            }
+            else if (Manager.SkillList[i].SkillType == SkillType.Ability)
+            {
+                #region Ability
+
+                Ability ability = (Ability)Manager.SkillList[i];
+
+                xmlNode = xmlNode.AppendChild(ConfigDocument.CreateNode(XmlNodeType.Element, PlayerConfigLabel.Skill, ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ID));
+                xmlAttribute.Value = ability.FullID;
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.SkillType));
+                xmlAttribute.Value = ability.SkillType.ToString();
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ItemStatus));
+                xmlAttribute.Value = ability.ItemStatus.ToString();
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.Level));
+                xmlAttribute.Value = ability.Level.ToString();
+
+                xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList);
+
+                #endregion
+            }
+            else if (Manager.SkillList[i].SkillType == SkillType.BigSkill)
+            {
+                #region BigSkill
+
+                BigSkill bigSkill = (BigSkill)Manager.SkillList[i];
+
+                xmlNode = xmlNode.AppendChild(ConfigDocument.CreateNode(XmlNodeType.Element, PlayerConfigLabel.Skill, ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ID));
+                xmlAttribute.Value = bigSkill.FullID;
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.SkillType));
+                xmlAttribute.Value = bigSkill.SkillType.ToString();
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.ItemStatus));
+                xmlAttribute.Value = bigSkill.ItemStatus.ToString();
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.BarStatus));
+                xmlAttribute.Value = bigSkill.BarStatus.ToString();
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.Level));
+                xmlAttribute.Value = bigSkill.Level.ToString();
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.CoolTimer));
+                xmlAttribute.Value = bigSkill.CoolTimer.ToString("0");
+
+                xmlAttribute = xmlNode.Attributes.Append(ConfigDocument.CreateAttribute(PlayerConfigLabel.UseTimer));
+                xmlAttribute.Value = bigSkill.UseTimer.ToString("0");
+
+                xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList);
+
+                #endregion
+            }
+        }
+    }
+
+    public static void SaveDress()
+    {
+        XmlNode xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressList);
+        xmlNode.Attributes[0].Value = "";
+
+        for (int i = 0; i < PlayerManager.BoughtCloseIDs.Count; i++)
+        {
+            xmlNode.Attributes[0].Value += PlayerManager.BoughtCloseIDs[i] + " ";
+        }
+
+        xmlNode.Attributes[0].Value = xmlNode.Attributes[0].Value.TrimEnd(' ');
+
+
+        xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressData);
+
+        for (int i = 0; i < PlayerManager.DressDatas.Count; i++)
+        {
+            xmlNode.Attributes[i].Value = PlayerManager.DressDatas[i];
+        }
+    }
+
+    public static void SaveAchieve()
+    {
+        XmlNode xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveList);
+        xmlNode.Attributes[0].Value = "";
+
+        foreach (var kv in AchieveManager.AchieveItemDictionary)
+        {
+            if (!kv.Value.Lock)
+            {
+                xmlNode.Attributes[0].Value += kv.Value.ID + " ";
+            }
+        }
+
+        xmlNode.Attributes[0].Value = xmlNode.Attributes[0].Value.TrimEnd(' ');
+
+
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[0].Value = Manager.PlayADsAmt.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[1].Value = Manager.UseSkillAmt.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[2].Value = Manager.SignAmt.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[3].Value = Manager.ShareAmt.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[4].Value = Manager.AllElfLevel.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[5].Value = Manager.PlayMinigameAmt.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[6].Value = Manager.TotalFlowerAwardCoin.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[7].Value = Manager.TotalVisitPerson.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[8].Value = Manager.TotalSpendDiamond.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[9].Value = Manager.CreateRoomAmt.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[10].Value = Manager.CreateChestAmt.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[11].Value = Manager.CreateLuckyChestAmt.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[12].Value = Manager.CreateGuessColorChestAmt.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[13].Value = Manager.CreateGuessNumberChestAmt.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[14].Value = Manager.GetChestAwardAmt.ToString("0");
+    }
+
+    public static void SavePlantList()
+    {
+        if (VisitManager.InVisit || TutorialManager.NewplayerTutorial)
+        {
+            return;
+        }
+        
+        XmlAttributeCollection attribute = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.PlantList).Attributes;
+
+        attribute[0].Value = "";
+
+        for (int i = 0; i < GardenManager.PlantSlotList.Count; i++)
+        {
+            Slot slot = GardenManager.PlantSlotList[i];
+            
+            attribute[0].Value += slot.ID + "," + slot.Index + " ";
+        }
+
+        attribute[0].Value = attribute[0].Value.TrimEnd(' ');
+    }
+
+    public static void SaveDatas()
+    {
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.Coin).Attributes[0].Value = Manager.Coin.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.Diamond).Attributes[0].Value = Manager.Diamond.ToString("0");
+        
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SignTime).Attributes[0].Value = SignManager.LastSignTime.ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SignIndex).Attributes[0].Value = SignManager.SignIndex.ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SignRound).Attributes[0].Value = SignManager.SignRound.ToString();
+        
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.QuitFlag).Attributes[0].Value = HttpManager.IsConnect.ToInt().ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.QuitTime).Attributes[0].Value = HttpManager.CurrentDateTime.ToString();
+
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.MiniTimer).Attributes[0].Value = Manager.MinigameCDTimer.ToString("0");
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.CircleTimer).Attributes[0].Value = Manager.IncomeCircleTimer.ToString("0");
+
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.ID).Attributes[0].Value = HttpManager.ID;
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SerialNumber).Attributes[0].Value = HttpManager.SerialNumber;
+
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.Language).Attributes[0].Value = LanguageManager.CurrentLanguage.ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.MiniGameIndex).Attributes[0].Value = MiniGameManager.MiniGameIndex.ToString();
+
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.NewplayerTutorial).Attributes[0].Value = TutorialManager.NewplayerTutorial.ToInt().ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.MemoryMinigameTutorial).Attributes[0].Value = TutorialManager.memoryMinigameTutorial.ToInt().ToString();
+
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.VisitTutorial).Attributes[0].Value = TutorialManager.visitTutorial.ToInt().ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressroomTutorial).Attributes[0].Value = TutorialManager.dressroomTutorial.ToInt().ToString();
+
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FashionShowTutorial).Attributes[0].Value = TutorialManager.fashionShowTutorial.ToInt().ToString();
+
+        if (TutorialManager.findSoloMinigameTutorial || TutorialManager.FindSoloMinigameTutorial)
+        {
+            ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindSoloMinigameTutorial).Attributes[0].Value = "1";
+        }
+        else
+        {
+            ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindSoloMinigameTutorial).Attributes[0].Value = "0";
+        }
+        if (TutorialManager.findMissingMinigameTutorial || TutorialManager.FindMissingMinigameTutorial)
+        {
+            ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorial).Attributes[0].Value = "1";
+        }
+        else
+        {
+            ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorial).Attributes[0].Value = "0";
+        }
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.TutorialPlazaRoom).Attributes[0].Value = TutorialManager.plazaRoomTutorial.ToInt().ToString();
+
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.NewplayerTutorialIndex).Attributes[0].Value = TutorialManager.NewplayerTutorialIndex.ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.MemoryMinigameTutorialIndex).Attributes[0].Value = TutorialManager.MemoryMinigameTutorialIndex.ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.VisitTutorialIndex).Attributes[0].Value = TutorialManager.VisitTutorialIndex.ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressroomIndex).Attributes[0].Value = TutorialManager.DressroomTutorialIndex.ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindSoloMinigameTutorialIndex).Attributes[0].Value = TutorialManager.FindSoloMinigameTutorialIndex.ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorialIndex).Attributes[0].Value = TutorialManager.FindMissingMinigameTutorialIndex.ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.TutorialIndexPlazaRoom).Attributes[0].Value = TutorialManager.PlazaRoomTutorialIndex.ToString();
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FashionShowTutorialIndex).Attributes[0].Value = TutorialManager.FashionShowTutorialIndex.ToString();
+    }
+
+    public static void SaveFlowers()
+    {
+        XmlAttribute attribute = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FlowerList).Attributes[0];
+        XmlAttribute attribute1 = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FlowerAmtList).Attributes[0];
+
+        attribute.Value = "";
+        attribute1.Value = "";
+
+        foreach (var kv in GardenManager.GetFlowerInfoDict())
+        {
+            if (kv.Value.Unlock)
+            {
+                attribute.Value += kv.Value.ID + " ";
+                attribute1.Value += kv.Value.Amount + " ";
+            }
+        }
+
+        attribute.Value = attribute.Value.Trim(' ');
+        attribute1.Value = attribute1.Value.Trim(' ');
+    }
+
+    public static void SaveConfigDocument()
+    {
+        if (Initializer.Inited)
+        {
+            SaveSkillList();
+            SaveAchieve();
+            SaveDress();
+            SavePlantList();
+            SaveDatas();
+            SaveFlowers();
+            ChestManager.SaveToConfig();
+        }
+    }
+
+    public static void SaveConfigDocumentToDisk()
+    {
+        if (Initializer.Inited)
+        {
+            XmlDocument doc = new XmlDocument();
+
+            doc.LoadXml(ConfigDocument.OuterXml);
+
+            Auxiliary.EncryptXml(doc);
+
+            StreamWriter sw = new StreamWriter(ConfigPath);
+
+            sw.Write(doc.OuterXml);
+
+            sw.Close();
+
+            byte[] bytes = File.ReadAllBytes(ConfigPath);
+            //byte[] bytes = Encoding.UTF8.GetBytes(PlayerDoc.OuterXml);
+
+            MD5 md5 = new MD5CryptoServiceProvider();
+
+            PlayerPrefs.SetString(Lib.ConfigPrefs, Auxiliary.ToString(md5.ComputeHash(bytes)));
+        }
+    }
+
+
+    public static void ResetConfigDocument()
+    {
+        ConfigRootNode.SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = ConfigReplayVersion.ToString();
+
+        SaveConfigDocument();
+
+        Manager.UploadConfigFlag = true;
+        Manager.DownloadConfigFlag = true;
+
+        SaveConfigDocumentToDisk();
+
+        DelayCall.Call
+        (
+            1,
+            () =>
+            {
+                Bubble.Show(null, Language.GetStr(LanguageLabel.UI__La_Lab0), null, null, () => { Application.Quit(); }, null, false);
+            }
+        );
+    }
+
+
+    public static int GetIntFormConfig(string node)
+    {
+        return int.Parse(ConfigRootNode.SelectSingleNode(node).Attributes[0].Value);
+    }
+
+    public static bool GetBoolFormConfig(string node)
+    {
+        return int.Parse(ConfigRootNode.SelectSingleNode(node).Attributes[0].Value).ToBool();
+    }
+
+    public static float GetFloatFormConfig(string node)
+    {
+        return float.Parse(ConfigRootNode.SelectSingleNode(node).Attributes[0].Value);
+    }
+
+    public static string GetStringFormConfig(string node)
+    {
+        return ConfigRootNode.SelectSingleNode(node).Attributes[0].Value;
+    }
+
+    public static double GetDoubleFormConfig(string node)
+    {
+        return double.Parse(ConfigRootNode.SelectSingleNode(node).Attributes[0].Value);
+    }
+
+
+    public static void SaveIntToConfig(string node, int value)
+    {
+        ConfigRootNode.SelectSingleNode(node).Attributes[0].Value = value.ToString();
+    }
+
+    public static void SaveBoolToConfig(string node, bool value)
+    {
+        ConfigRootNode.SelectSingleNode(node).Attributes[0].Value = value.ToInt().ToString();
+    }
+
+    public static void SaveFloatToConfig(string node, float value)
+    {
+        ConfigRootNode.SelectSingleNode(node).Attributes[0].Value = value.ToString();
+    }
+
+    public static void SaveStringToConfig(string node, string value)
+    {
+        ConfigRootNode.SelectSingleNode(node).Attributes[0].Value = value;
+    }
+
+    public static void SaveDoubleToConfig(string node, double value)
+    {
+        ConfigRootNode.SelectSingleNode(node).Attributes[0].Value = value.ToString();
+    }
+
+
+    public static List<int> GetIntList(char splitChar, string nodeName, List<int> defaultList)
+    {
+        return Auxiliary.StringToInts(splitChar, ConfigRootNode.SelectSingleNode(nodeName).Attributes[0].Value, defaultList);
+    }
+
+    public static List<string> GetStringList(char splitChar, string nodeName, List<string> defaultList)
+    {
+        return Auxiliary.StringToStrings(splitChar, ConfigRootNode.SelectSingleNode(nodeName).Attributes[0].Value, defaultList);
+    }
+
+
+    public static List<int> GetDressList()
+    {
+        List<int> list = new List<int>();
+
+        XmlAttributeCollection attribute = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressList).Attributes;
+
+        return Auxiliary.StringToInts(' ', attribute[0].Value, list);
+    }
+
+    public static List<int> GetDressDataIDs(Player player)
+    {
+        //foreach (var VARIABLE in ManaPlayer.CloseIDDic)
+        //{
+        //    Debug.LogWarning(VARIABLE.Key);
+        //}
+
+        List<int> dressDataIDs = new List<int>();
+
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Head]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Dress]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Shoe]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.HeadWear]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Top]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Eye]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Mouse]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[player.Wing]);
+
+        return dressDataIDs;
+    }
+
+    public static List<int> GetDressDataIDs(List<string> dressdataNames)
+    {
+        //foreach (var VARIABLE in ManaPlayer.CloseIDDic)
+        //{
+        //    Debug.LogWarning(VARIABLE.Key);
+        //}
+
+        List<int> dressDataIDs = new List<int>();
+
+        int index = 0;
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
+        dressDataIDs.Add(PlayerManager.CloseIDDictionary[dressdataNames[index++]]);
+
+        return dressDataIDs;
+    }
+
+    public static List<int> GetDressDataIDs(ISFSObject parameter)
+    {
+        List<int> ids = parameter.GetIntArray(InfoLabel.Close.GetHashString()).ToList();
+
+        return ids;
+    }
+
+    public static List<string> GetDressData(SFSObject parameter)
+    {
+        List<int> ids = GetDressDataIDs(parameter);
+
+        List<string> dressData = new List<string>();
+
+        foreach (var id in ids)
+        {
+            dressData.Add(PlayerManager.CloseItemDictionary[id].ArmatureName);
+        }
+
+        return dressData;
+    }
+
+    public static List<string> GetDressData(XmlNode node = null)
+    {
+        XmlNode xmlNode;
+
+        if (node == null)
+        {
+            xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.DressData);
+        }
+        else
+        {
+            xmlNode = node.SelectSingleNode(PlayerConfigLabel.DressData);
+        }
+
+
+        List<string> dataList = new List<string>();
+
+        if (xmlNode != null && xmlNode.Attributes.Count == 12)
+        {
+            dataList.Add(xmlNode.Attributes[0].Value);
+            dataList.Add(xmlNode.Attributes[1].Value);
+            dataList.Add(xmlNode.Attributes[2].Value);
+            dataList.Add(xmlNode.Attributes[3].Value);
+            dataList.Add(xmlNode.Attributes[4].Value);
+            dataList.Add(xmlNode.Attributes[5].Value);
+            dataList.Add(xmlNode.Attributes[6].Value);
+            dataList.Add(xmlNode.Attributes[7].Value);
+			dataList.Add(xmlNode.Attributes[8].Value);
+			dataList.Add(xmlNode.Attributes[9].Value);
+			dataList.Add(xmlNode.Attributes[10].Value);
+			dataList.Add(xmlNode.Attributes[11].Value);
+
+            //dataList[8] = "长袖9左";
+            //dataList[9] = "Empty";
+            //dataList[10] = "长袖9右";
+            //dataList[11] = "Empty";
+        }
+		else if(xmlNode != null && xmlNode.Attributes.Count == 8)
+		{
+			dataList.Add(xmlNode.Attributes[0].Value);
+			dataList.Add(xmlNode.Attributes[1].Value);
+			dataList.Add(xmlNode.Attributes[2].Value);
+			dataList.Add(xmlNode.Attributes[3].Value);
+			dataList.Add(xmlNode.Attributes[4].Value);
+			dataList.Add(xmlNode.Attributes[5].Value);
+			dataList.Add(xmlNode.Attributes[6].Value);
+			dataList.Add(xmlNode.Attributes[7].Value);
+			dataList.AddRange (GetSleeveListByTop(xmlNode.Attributes[4].Value));
+		}
+        else
+        {
+            float rate = Random.Range(0f, 1f);
+
+            if (rate < 0.33f)
+            {
+                dataList.Add("脑壳1");
+                dataList.Add("裙子1");
+                dataList.Add("鞋子1");
+                dataList.Add("头饰品1");
+                dataList.Add("上衣1");
+                dataList.Add("眼睛1");
+                dataList.Add("嘴巴1");
+                dataList.Add("Empty");
+				dataList.Add("Empty");
+				dataList.Add("短袖1左");
+				dataList.Add("Empty");
+				dataList.Add("短袖1右");
+            }
+            else if (rate < 0.66f)
+            {
+                dataList.Add("脑壳2");
+                dataList.Add("裙子2");
+                dataList.Add("鞋子2");
+                dataList.Add("头饰品2");
+                dataList.Add("上衣2");
+                dataList.Add("眼睛2");
+                dataList.Add("嘴巴2");
+                dataList.Add("Empty");
+				dataList.Add("Empty");
+				dataList.Add("短袖2左");
+				dataList.Add("Empty");
+				dataList.Add("短袖2右");
+            }
+            else
+            {
+                dataList.Add("脑壳3");
+                dataList.Add("裙子3");
+                dataList.Add("鞋子3");
+                dataList.Add("头饰品3");
+                dataList.Add("上衣3");
+                dataList.Add("眼睛3");
+                dataList.Add("嘴巴3");
+                dataList.Add("Empty");
+				dataList.Add("Empty");
+				dataList.Add("短袖2左");
+				dataList.Add("Empty");
+				dataList.Add("短袖2右");
+            }
+        }
+
+        return dataList;
+    }
+
+    public static List<int> GetFlowerList()
+    {
+        List<int> list = new List<int>();
+
+        XmlAttributeCollection attribute = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.FlowerList).Attributes;
+
+        return Auxiliary.StringToInts(' ', attribute[0].Value, list);
+    }
+
+    public static List<int> GetLockAchieveIDs()
+    {
+        return Auxiliary.StringToInts(' ', GetStringFormConfig(PlayerConfigLabel.AchieveList), new List<int>());
+    }
+
+    public static List<double> GetAchieveValues()
+    {
+        List<double> dataList = new List<double>();
+
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[0].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[1].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[2].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[3].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[4].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[5].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[6].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[7].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[8].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[9].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[10].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[11].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[12].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[13].Value));
+        dataList.Add(double.Parse(ConfigRootNode.SelectSingleNode(PlayerConfigLabel.AchieveData).Attributes[14].Value));
+
+        return dataList;
+    }
+
+    public static List<KV<int, int>> GetPlantList(XmlNode node = null)
+    {
+        List<KV<int, int>> list = new List<KV<int, int>>();
+
+        XmlNode xmlNode;
+
+        if (node == null)
+        {
+            xmlNode = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.PlantList);
+        }
+        else
+        {
+            xmlNode = node.SelectSingleNode(PlayerConfigLabel.PlantList);
+        }
+
+        if (!string.IsNullOrEmpty(xmlNode.Attributes[0].Value))
+        {
+            string[] strings = xmlNode.Attributes[0].Value.Split(' ');
+
+            for (int i = 0; i < strings.Length; i++)
+            {
+                list.Add(new KV<int, int>(int.Parse(strings[i].Split(',')[0]), int.Parse(strings[i].Split(',')[1])));
+            }
+        }
+
+        return list;
+    }
+
+    public static List<XmlAttributeCollection> GetSkillList(XmlNode node = null)
+    {
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
+
+        XmlNodeList xmlNodeList;
+
+        if (node == null)
+        {
+            xmlNodeList = ConfigRootNode.SelectSingleNode(PlayerConfigLabel.SkillList).ChildNodes;
+        }
+        else
+        {
+            xmlNodeList = node.SelectSingleNode(PlayerConfigLabel.SkillList).ChildNodes;
+        }
+
+        for (int i = 0; i < xmlNodeList.Count; i++)
+        {
+            attributeList.Add(xmlNodeList[i].Attributes);
+        }
+
+        return attributeList;
+    }
+
+
+    public static List<string> GetOfflineConfig()
+    {
+        TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.OfflineConfig, Folder.Config);
+
+        XmlDocument xmlDoc = new XmlDocument();
+
+        xmlDoc.LoadXml(textAsset.text);
+
+        XmlNode xmlNode = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectSingleNode(ConfigLabel.ChildNode);
+
+        List<string> strList = new List<string>()
+        {
+            xmlNode.Attributes[1].Value,
+            xmlNode.Attributes[2].Value,
+            xmlNode.Attributes[3].Value,
+        };
+
+        return strList;
+    }
+
+    public static XmlAttributeCollection GetVisitConfig()
+    {
+        TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.VisitConfig, Folder.Config);
+
+        XmlDocument xmlDoc = new XmlDocument();
+
+        xmlDoc.LoadXml(textAsset.text);
+
+        XmlNode xmlNode = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectSingleNode(ConfigLabel.ChildNode);
+
+        return xmlNode.Attributes;
+    }
+
+    public static XmlAttributeCollection GetPlazaRoomConfig()
+    {
+        TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PlazaroomConfig, Folder.Config);
+
+        XmlDocument xmlDoc = new XmlDocument();
+
+        xmlDoc.LoadXml(textAsset.text);
+
+        XmlNode xmlNode = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectSingleNode(ConfigLabel.ChildNode);
+
+        return xmlNode.Attributes;
+    }
+
+    public static XmlAttributeCollection GetAwardConfig()
+    {
+        TextAsset textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.AwardConfig, Folder.Config);
+
+        XmlDocument xmlDoc = new XmlDocument();
+
+        xmlDoc.LoadXml(textAsset.text);
+
+        XmlNode xmlNode = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectSingleNode(ConfigLabel.ChildNode);
+
+        return xmlNode.Attributes;
+    }
+
+    public static List<XmlAttributeCollection> GetIAPConfig()
+    {
+        TextAsset textAsset;
+        XmlNodeList xmlNodeList;
+
+        XmlDocument xmlDoc = new XmlDocument();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
+
+
+        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.IAPConfig, Folder.Config);
+
+        xmlDoc.LoadXml(textAsset.text);
+
+        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
+
+        for (int i = 0; i < xmlNodeList.Count; i++)
+        {
+            attributeList.Add(xmlNodeList[i].Attributes);
+        }
+
+        return attributeList;
+    }
+
+    public static List<XmlAttributeCollection> GetSkillConfig()
+    {
+        TextAsset textAsset;
+        XmlDocument xmlDoc = new XmlDocument();
+        List<XmlNodeList> xmlNodeList = new List<XmlNodeList>();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
+        
+        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.PackConfig, Folder.Config);
+        xmlDoc.LoadXml(textAsset.text);
+        xmlNodeList.Add(xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode));
+        
+        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.SkillConfig, Folder.Config);
+        xmlDoc.LoadXml(textAsset.text);
+        xmlNodeList.Add(xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode));
+        
+        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.AbilityConfig, Folder.Config);
+        xmlDoc.LoadXml(textAsset.text);
+        xmlNodeList.Add(xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode));
+
+        for (int i = 0; i < xmlNodeList.Count; i++)
+        {
+            for (int j = 0; j < xmlNodeList[i].Count; j++)
+            {
+                attributeList.Add(xmlNodeList[i][j].Attributes);
+            }
+        }
+
+        return attributeList;
+    }
+
+    public static List<XmlAttributeCollection> GetSignConfig()
+    {
+        TextAsset textAsset;
+        XmlNodeList xmlNodeList;
+
+        XmlDocument xmlDoc = new XmlDocument();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
+        
+
+        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.SigninConfig, Folder.Config);
+
+        xmlDoc.LoadXml(textAsset.text);
+
+        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
+        
+        for (int i = 0; i < xmlNodeList.Count; i++)
+        {
+            attributeList.Add(xmlNodeList[i].Attributes);
+        }
+
+        return attributeList;
+    }
+
+    public static List<XmlAttributeCollection> GetFlowerConfig(TextAsset textAsset = null)
+    {
+        XmlNodeList xmlNodeList;
+
+        XmlDocument xmlDoc = new XmlDocument();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
+
+        if (textAsset == null)
+        {
+            textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.FlowerConfig, Folder.Config);
+        }
+
+        xmlDoc.LoadXml(textAsset.text);
+
+        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
+
+        for (int i = 0; i < xmlNodeList.Count; i++)
+        {
+            attributeList.Add(xmlNodeList[i].Attributes);
+        }
+
+        return attributeList;
+    }
+
+    public static List<XmlAttributeCollection> GetLotteryConfig()
+    {
+        TextAsset textAsset;
+        XmlNodeList xmlNodeList;
+
+        XmlDocument xmlDoc = new XmlDocument();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
+
+
+        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.LotteryConfig, Folder.Config);
+
+        xmlDoc.LoadXml(textAsset.text);
+
+        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
+
+        for (int i = 0; i < xmlNodeList.Count; i++)
+        {
+            attributeList.Add(xmlNodeList[i].Attributes);
+        }
+
+        return attributeList;
+    }
+
+    public static List<XmlAttributeCollection> GetAchieveConfig()
+    {
+        TextAsset textAsset;
+        XmlNodeList xmlNodeList;
+
+        XmlDocument xmlDoc = new XmlDocument();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
+
+
+        textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.AchieveConfig, Folder.Config);
+
+        xmlDoc.LoadXml(textAsset.text);
+
+        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
+
+        for (int i = 0; i < xmlNodeList.Count; i++)
+        {
+            attributeList.Add(xmlNodeList[i].Attributes);
+        }
+
+        return attributeList;
+    }
+
+    public static List<XmlAttributeCollection> GetDressRoomConfig(TextAsset textAsset = null)
+    {
+        XmlNodeList xmlNodeList;
+
+        XmlDocument xmlDoc = new XmlDocument();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
+
+        if (textAsset == null)
+        {
+            textAsset = ResourceManager.Load<TextAsset>(ResourceLabel.DressroomConfig, Folder.Config);
+        }
+
+        xmlDoc.LoadXml(textAsset.text);
+
+        xmlNodeList = xmlDoc.SelectSingleNode(ConfigLabel.RootNode).SelectNodes(ConfigLabel.ChildNode);
+
+        for (int i = 0; i < xmlNodeList.Count; i++)
+        {
+            attributeList.Add(xmlNodeList[i].Attributes);
+        }
+
+        return attributeList;
+    }
+
+
+    public static int GetGardenLevel(XmlDocument xmlDocument)
+    {
+        XmlNodeList nodeList = xmlDocument.SelectNodes(PlayerConfigLabel.RootNode + "/" + PlayerConfigLabel.SkillList + "/" + PlayerConfigLabel.Skill);
+        for (int i = 0; i < nodeList.Count; i++)
+        {
+            if (nodeList[i].Attributes[0].Value == "Ability1")
+            {
+                return int.Parse(nodeList[i].Attributes[3].Value);
+            }
+        }
+        return -1;
+    }
+
+    public static int GetConfigVersion(XmlDocument xmlDocument)
+    {
+        return int.Parse(xmlDocument.SelectSingleNode(PlayerConfigLabel.RootNode + "/" + PlayerConfigLabel.Version).Attributes[0].Value);
+    }
+
+    public static List<string> GetDefaultDressDatas()
+    {
+        List<string> defaultDressDatas = new List<string>();
+        defaultDressDatas.Add("脑壳-缺失");
+        defaultDressDatas.Add("裙子-缺失");
+        defaultDressDatas.Add("鞋子-缺失");
+        defaultDressDatas.Add("头饰-缺失");
+        defaultDressDatas.Add("上衣-缺失");
+        defaultDressDatas.Add("眼睛1");
+        defaultDressDatas.Add("嘴巴1");
+        defaultDressDatas.Add("翅膀-缺失");
+        defaultDressDatas.Add("Empty");
+        defaultDressDatas.Add("Empty");
+        defaultDressDatas.Add("Empty");
+        defaultDressDatas.Add("Empty");
+
+        //defaultDressDatas.Add("脑壳1");
+        //defaultDressDatas.Add("裙子1");
+        //defaultDressDatas.Add("鞋子1");
+        //defaultDressDatas.Add("头饰品1");
+        //defaultDressDatas.Add("上衣1");
+        //defaultDressDatas.Add("眼睛1");
+        //defaultDressDatas.Add("嘴巴1");
+        //defaultDressDatas.Add("Empty");
+        //defaultDressDatas.Add("Empty");
+        //defaultDressDatas.Add("短袖2左");
+        //defaultDressDatas.Add("Empty");
+        //defaultDressDatas.Add("短袖2右");
+
+        return defaultDressDatas;
+    }
+
+
+    public static XmlDocument GetXmlDocument(string ConfigName)
+    {
+        TextAsset textAsset = ResourceManager.Load<TextAsset>(ConfigName, Folder.Config);
+        XmlDocument xmlDocument = new XmlDocument();
+        xmlDocument.LoadXml(textAsset.text);
+        return xmlDocument;
+    }
+
+
+    //玩家存档版本大于默认存档版本时需要清空
+    //玩家存档版本小于默认存档版本时需要更新
+    //玩家存档版本等于ReplayVersion时需要标记为重玩
+    public static XmlDocument UpdateConfigDocument(int nativeVersion, XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        if (nativeVersion < 0)
+        {
+            Debug.LogWarning("UpdateArchive to 0");
+
+            ToVersion0(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 1)
+        {
+            Debug.LogWarning("UpdateArchive to 1");
+
+            ToVersion1(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 2)
+        {
+            Debug.LogWarning("UpdateArchive to 2");
+
+            ToVersion2(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 3)
+        {
+            Debug.LogWarning("UpdateArchive to 3");
+
+            ToVersion3(nativeDoc, defaultDoc);
+        }
+
+		if (nativeVersion < 4)
+		{
+			Debug.LogWarning("UpdateArchive to 4");
+
+			ToVersion4(nativeDoc, defaultDoc);
+		}
+
+        if (nativeVersion < 5)
+        {
+            Debug.LogWarning("UpdateArchive to 5");
+
+            ToVersion5(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 6)
+        {
+            Debug.LogWarning("UpdateArchive to 6");
+
+            ToVersion6(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 7)
+        {
+            Debug.LogWarning("UpdateArchive to 7");
+
+            ToVersion7(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 8)
+        {
+            Debug.LogWarning("UpdateArchive to 8");
+
+            ToVersion8(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 9)
+        {
+            Debug.LogWarning("UpdateArchive to 9");
+
+            ToVersion9(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 10)
+        {
+            Debug.LogWarning("UpdateArchive to 10");
+
+            ToVersion10(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 11)
+        {
+            Debug.LogWarning("UpdateArchive to 11");
+
+            ToVersion11(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 12)
+        {
+            Debug.LogWarning("UpdateArchive to 12");
+
+            ToVersion12(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 13)
+        {
+            Debug.LogWarning("UpdateArchive to 13");
+
+            ToVersion13(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 14)
+        {
+            Debug.LogWarning("UpdateArchive to 14");
+
+            ToVersion14(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 15)
+        {
+            Debug.LogWarning("UpdateArchive to 15");
+
+            ToVersion15(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 16)
+        {
+            Debug.LogWarning("UpdateArchive to 16");
+
+            ToVersion16(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 17)
+        {
+            Debug.LogWarning("UpdateArchive to 17");
+
+            ToVersion17(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 18)
+        {
+            Debug.LogWarning("UpdateArchive to 18");
+
+            ToVersion18(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 19)
+        {
+            Debug.LogWarning("UpdateArchive to 19");
+
+            ToVersion19(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 20)
+        {
+            Debug.LogWarning("UpdateArchive to 20");
+
+            ToVersion20(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 21)
+        {
+            Debug.LogWarning("UpdateArchive to 21");
+
+            ToVersion21(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 22)
+        {
+            Debug.LogWarning("UpdateArchive to 22");
+
+            ToVersion22(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 23)
+        {
+            Debug.LogWarning("UpdateArchive to 23");
+
+            ToVersion23(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 24)
+        {
+            Debug.LogWarning("UpdateArchive to 24");
+
+            ToVersion24(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 25)
+        {
+            Debug.LogWarning("UpdateArchive to 25");
+
+            ToVersion25(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 26)
+        {
+            Debug.LogWarning("UpdateArchive to 26");
+
+            ToVersion26(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 28)
+        {
+            Debug.LogWarning("UpdateArchive to 28");
+
+            ToVersion28(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 29)
+        {
+            Debug.LogWarning("UpdateArchive to 29");
+
+            ToVersion29(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 30)
+        {
+            Debug.LogWarning("UpdateArchive to 30");
+
+            ToVersion30(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 31)
+        {
+            Debug.LogWarning("UpdateArchive to 31");
+
+            ToVersion31(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 32)
+        {
+            Debug.LogWarning("UpdateArchive to 32");
+
+            ToVersion32(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 33)
+        {
+            Debug.LogWarning("UpdateArchive to 33");
+
+            ToVersion33(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 34)
+        {
+            Debug.LogWarning("UpdateArchive to 34");
+
+            ToVersion34(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 35)
+        {
+            Debug.LogWarning("UpdateArchive to 35");
+
+            ToVersion35(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 36)
+        {
+            Debug.LogWarning("UpdateArchive to 36");
+
+            ToVersion36(nativeDoc, defaultDoc);
+        }
+
+        if (nativeVersion < 37)
+        {
+            Debug.LogWarning("UpdateArchive to 37");
+
+            ToVersion37(nativeDoc, defaultDoc);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion0(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 0.ToString();
+
+        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.ADPlayTime);
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion1(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 1.ToString();
+
+        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.SerialNumber);
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion2(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 2.ToString();
+
+        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.NotificationIndex);
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion3(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 3.ToString();
+
+        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.NickName);
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
+
+        return nativeDoc;
+    }
+
+	public static XmlDocument ToVersion4(XmlDocument nativeDoc, XmlDocument defaultDoc)
+	{
+		nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 4.ToString();
+
+		XmlNode xmlNode = nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.DressData);
+
+		XmlAttribute attribute = xmlNode.Attributes.Append (nativeDoc.CreateAttribute (PlayerConfigLabel.LeftLongSleeveSlot));
+		attribute.Value="Empty";
+
+		attribute = xmlNode.Attributes.Append (nativeDoc.CreateAttribute (PlayerConfigLabel.LeftShortSleeveSlot));
+		attribute.Value="Empty";
+
+		attribute = xmlNode.Attributes.Append (nativeDoc.CreateAttribute (PlayerConfigLabel.RightLongSleeveSlot));
+		attribute.Value="Empty";
+
+		attribute = xmlNode.Attributes.Append (nativeDoc.CreateAttribute (PlayerConfigLabel.RightShortSleeveSlot));
+		attribute.Value="Empty";
+
+		List<string> sleeveList = GetSleeveListByTop (xmlNode.Attributes [4].Value);
+
+		xmlNode.Attributes [8].Value = sleeveList[0];
+		xmlNode.Attributes [9].Value = sleeveList[1];
+		xmlNode.Attributes [10].Value = sleeveList[2];
+		xmlNode.Attributes [11].Value = sleeveList[3];
+
+		return nativeDoc;
+	}
+
+    public static List<string> GetSleeveListByTop(string topName)
+    {
+        List<string> sleeveList = new List<string>() {"Empty", "Empty", "Empty", "Empty"};
+
+        if (topName == "上衣1")
+        {
+            sleeveList[1] = "短袖1左";
+            sleeveList[3] = "短袖1右";
+        }
+        else if (topName == "上衣2")
+        {
+            sleeveList[1] = "短袖2左";
+            sleeveList[3] = "短袖2右";
+        }
+        else if (topName == "上衣3")
+        {
+            sleeveList[1] = "短袖2左";
+            sleeveList[3] = "短袖2右";
+        }
+        else if (topName == "上衣5")
+        {
+            sleeveList[1] = "短袖2左";
+            sleeveList[3] = "短袖2右";
+        }
+        else if (topName == "上衣6")
+        {
+            sleeveList[1] = "短袖6左";
+            sleeveList[3] = "短袖6右";
+        }
+        else if (topName == "上衣7")
+        {
+            sleeveList[1] = "短袖7左";
+            sleeveList[3] = "短袖7右";
+        }
+        else if (topName == "上衣7(粉)")
+        {
+            sleeveList[1] = "短袖7粉左";
+            sleeveList[3] = "短袖7粉右";
+        }
+        else if (topName == "上衣12")
+        {
+            sleeveList[1] = "短袖12左";
+            sleeveList[3] = "短袖12右";
+        }
+        else if (topName == "上衣13")
+        {
+            sleeveList[1] = "短袖13左";
+            sleeveList[3] = "短袖13右";
+        }
+        else if (topName == "上衣13(紫)")
+        {
+            sleeveList[1] = "短袖13蓝左";
+            sleeveList[3] = "短袖13蓝右";
+        }
+        else
+        {
+            sleeveList[0] = "长袖9左";
+            sleeveList[2] = "长袖9右";
+        }
+
+        return sleeveList;
+    }
+
+    public static XmlDocument ToVersion5(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 5.ToString();
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion6(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 6.ToString();
+
+        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.NewFlowerFlag);
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
+
+        return nativeDoc;
+    }
+
+    private static int DefaultFlowerAmt = 1;
+    public static XmlDocument ToVersion7(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 7.ToString();
+
+        XmlNode xmlNode1 = nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FlowerList);
+        string[] flowerIDs= xmlNode1.Attributes[0].Value.Split(' ');
+
+        xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FlowerAmtList);
+        xmlNode1.Attributes[0].Value = "";
+        foreach (var flowerID in flowerIDs)
+        {
+            xmlNode1.Attributes[0].Value += " " + DefaultFlowerAmt;
+        }
+        xmlNode1.Attributes[0].Value = xmlNode1.Attributes[0].Value.TrimStart();
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion8(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 8.ToString();
+
+        XmlNode xmlNode0 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.TutorialPlazaRoom);
+        XmlNode xmlNode1 = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.TutorialIndexPlazaRoom);
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode0, true));
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode1, true));
+
+        return nativeDoc;
+    }
+
+    private static int DefaultAchieveValue = 0;
+    public static XmlDocument ToVersion9(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 9.ToString();
+        XmlNode xmlNode = nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.AchieveData);
+        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.CreateRoomAmt));
+        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.CreateChestAmt));
+        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.CreateLuckyChestAmt));
+        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.CreateGuessColorChestAmt));
+        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.CreateGuessNumberChestAmt));
+        xmlNode.Attributes.Append(nativeDoc.CreateAttribute(PlayerConfigLabel.GetChestAwardAmt));
+        xmlNode.Attributes[9].Value = DefaultAchieveValue.ToString();
+        xmlNode.Attributes[10].Value = DefaultAchieveValue.ToString();
+        xmlNode.Attributes[11].Value = DefaultAchieveValue.ToString();
+        xmlNode.Attributes[12].Value = DefaultAchieveValue.ToString();
+        xmlNode.Attributes[13].Value = DefaultAchieveValue.ToString();
+        xmlNode.Attributes[14].Value = DefaultAchieveValue.ToString();
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion10(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 10.ToString();
+        ChestManager.ClearRefundAndOperateData(nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode));
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion11(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 11.ToString();
+        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.ReplayVersion);
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion12(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 12.ToString();
+        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.ExtraSlot);
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion13(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 13.ToString();
+        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.CurrentMinigameType);
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion14(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 14.ToString();
+        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.LastPrivateMessageDate);
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion15(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 15.ToString();
+        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.LastApplicantSerialNumber);
+
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion16(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 16.ToString();
+
+        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorial);
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
+        xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorialIndex);
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion17(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 17.ToString();
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion18(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 18.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion19(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 19.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion20(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 20.ToString();
+
+        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.MinigameCoolFlag);
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion21(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 21.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion22(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 22.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion23(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 23.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion24(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 24.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion25(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 25.ToString();
+
+        XmlNode xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FashionShowTutorial);
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
+        xmlNode = defaultDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.FashionShowTutorialIndex);
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).AppendChild(nativeDoc.ImportNode(xmlNode, true));
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion26(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 26.ToString();
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion27(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 27.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion28(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 28.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion29(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 29.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion30(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 30.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion31(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 31.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion32(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 32.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion33(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 33.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion34(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 34.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion35(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 35.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion36(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 36.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
+
+    public static XmlDocument ToVersion37(XmlDocument nativeDoc, XmlDocument defaultDoc)
+    {
+        nativeDoc.SelectSingleNode(PlayerConfigLabel.RootNode).SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 37.ToString();
+
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (Directory.Exists(persistentFolderPath))
+        {
+            Directory.Delete(persistentFolderPath, true);
+        }
+
+        return nativeDoc;
+    }
 }

+ 0 - 5
Assets/Script/Object/Player.cs

@@ -102,11 +102,6 @@ public class CloseItem
 
     #region Config
 
-    public string Name
-    {
-        get { return Language.GetStr(LanguageLabel.CombineLanguageLabel(LanguageLabel.DressRoom, FullID)); }
-    }
-
     public static string IDPrefix = "Armature";
 
     public string FullID

+ 14 - 158
Assets/Script/Tool/Auxiliary.cs

@@ -155,165 +155,21 @@ public class Auxiliary : Regist
         //    RobotManager.DeactivateAllRobots(false);
         //}
 
-        if (Input.GetKeyDown(KeyCode.Space))
-        {
-            PlayerManager.Player.UAC.anim.Stop();
-            //Manager.Coin = 0;
-            //Manager.AddCoin(1000000000000, StaticsManager.ItemID.None, StaticsManager.ConsumeModule.None);
-            //DebugManager.ResetGardenLevel(50);
-            //HttpManager.GetTargetConfig
-            //(
-            //    "1801134288353834791",
-            //    data =>
-            //    {
-            //        VisitManager.VisiteeSerialNumber = "1801134288353834791";
-            //        VisitManager.SavePulledConfig(data);
-            //    }
-            //);
-        }
-
-        //if (Input.GetKeyDown(KeyCode.A))
+        //if (Input.GetKeyDown(KeyCode.Space))
         //{
-        //    TutorialManager.fashionShowTutorial = true;
-        //    XmlDocument document = new XmlDocument();
-        //    Debug.Log(ConfigManager.ConfigDocument.InnerXml);
-        //    Debug.Log(ConfigManager.ConfigDocument.OuterXml);
-        //    document.LoadXml(ConfigManager.ConfigDocument.InnerXml);
-        //    XmlNode rootNode = document.SelectSingleNode(PlayerConfigLabel.RootNode);
-        //    rootNode.RemoveChild(rootNode.SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorial));
-        //    rootNode.RemoveChild(rootNode.SelectSingleNode(PlayerConfigLabel.FindMissingMinigameTutorialIndex));
-        //    rootNode.SelectSingleNode(PlayerConfigLabel.Version).Attributes[0].Value = 15.ToString();
-        //    rootNode.SelectSingleNode(PlayerConfigLabel.ID).Attributes[0].Value = "jrjL84";
-        //    rootNode.SelectSingleNode(PlayerConfigLabel.SerialNumber).Attributes[0].Value = "1708014471457405866";
-
-        //    URLRequestData urlData = new URLRequestData();
-        //    urlData.Add("u", "1708014471457405866");
-        //    urlData.Add("v", "1");
-        //    urlData.Add("l", rootNode.OuterXml);
-        //    URLRequest.CreateStrURLRequest(false, HttpManager.SaveURL, urlData, data => { Debug.Log(data); }, URLRequest.Method.POST);
-
-        //    StringFilter.ContainSensitiveWord("真");
-        //    TutorialManager.findMissingMinigameTutorial = true;
-        //    DebugManager.ResetGardenLevel(30);
-        //    Manager.Diamond = 1000;
-        //    PlayerManager.Player.ChangeClose(BodyPart.Eye, "眼睛3");
-        //    FashionShowEditPage.DisplayPlayer.ChangeClose(BodyPart.Eye, "眼睛3");
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.S))
-        //{
-        //    Manager.CoinPerson = 10000050000;
-        //    DebugManager.ResetGardenLevel(49);
-        //    PlayerManager.Player.ChangeClose(BodyPart.Top, "上衣14");
-        //    PlayerManager.Player.DisplayInScene();
-        //    Manager.Coin = 0;
-        //    Manager.Diamond = 0;
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.D))
-        //{
-        //    PlayerPrefManager.SaveBool(PlayerPrefManager.INTERACT_CONFIG, false);
-        //    DebugManager.ResetElf();
-        //    Manager.Coin = 100000;
-        //    Manager.Diamond = 1000;
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.Z))
-        //{
-        //    Manager.MinigameCDTimer = 0;
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.X))
-        //{
-        //    MiniGameManager.GameTimer = 45;
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.C))
-        //{
-        //    ConfigManager.SaveStringToConfig(PlayerConfigLabel.OneTimeReward, "");
-
-        //    SignManager.LastSignTime = DateTime.MinValue;
-
-        //    DebugManager.ResetAbilityAnim();
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.V))
-        //{
-        //    AccountData accountData = new AccountData("测试名字", "1710065808151506837", DateTime.Now.ToString());
-        //    MessagePanel.OpenPanel(accountData);
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.B))
-        //{
-        //    ManaPlayer.Player.PlayAnim("newAnimation3");
-
-        //    ManaPlayer.Player.Flip(PlayerDirection.Left);
-
-        //    foreach (var VARIABLE in ManaPlayer.CloseUnitDic)
-        //    {
-        //        VARIABLE.Value.Unlock();
-        //    }
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.M))
-        //{
-        //    ManaReso.Get(PrefabLabel.G_Flower).SetActive(false);
-
-        //    Debug.Log(ManaGarden.Slot);
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.N))
-        //{
-        //    ManaCenter.Coin = 0;
-        //    ManaCenter.Diamond = 0;
-
-        //    foreach (var VARIABLE in ManaGarden.FlowerInfoDic)
-        //    {
-        //        VARIABLE.Value.Unlock = true;
-        //    }
-
-        //    foreach (var VARIABLE in ManaGarden.FlowerInfoDic)
-        //    {
-        //        VARIABLE.Value.Unlock = false;
-        //    }
-
-        //    ManaGarden.FlowerInfoDic.First().Value.Unlock = true;
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.P))
-        //{
-        //    ManaData.Level += 20;
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.O))
-        //{
-        //    for (int i = 0; i < ManaCenter.CoolList.Count; i++)
-        //    {
-        //        ManaCenter.CoolList[i].CoolTimer = 0;
-        //    }
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.I))
-        //{
-        //    ManaCenter.Coin += 1000;
-        //    ManaCenter.Diamond += 1000;
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.U))
-        //{
-        //    Data.SavePlayerConfig();
-        //    Data.SaveXml();
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.Y))
-        //{
-        //    Data.ResetPlayerConfig();
-        //    Data.SaveXml();
-        //}
-
-        //if (Input.GetKeyDown(KeyCode.T))
-        //{
-        //    ManaData.Pause = !ManaData.Pause;
+        //    PlayerManager.Player.UAC.anim.Stop();
+        //    //Manager.Coin = 0;
+        //    //Manager.AddCoin(1000000000000, StaticsManager.ItemID.None, StaticsManager.ConsumeModule.None);
+        //    //DebugManager.ResetGardenLevel(50);
+        //    //HttpManager.GetTargetConfig
+        //    //(
+        //    //    "1801134288353834791",
+        //    //    data =>
+        //    //    {
+        //    //        VisitManager.VisiteeSerialNumber = "1801134288353834791";
+        //    //        VisitManager.SavePulledConfig(data);
+        //    //    }
+        //    //);
         //}
 
         #endregion

+ 1113 - 1113
Assets/Script/Tool/Bundle.cs

@@ -1,1114 +1,1114 @@
-using System;
-using UnityEngine;
-using UnityEngine.Events;
-
-using System.Collections;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Xml;
-using assetBundleUtility;
-using DragonBones;
-#if UNITY_EDITOR
-using UnityEditor;
-#endif
-
-using Debug = UnityEngine.Debug;
-using Object = UnityEngine.Object;
-
-public class Bundle : MonoBehaviour
-{
-    #region
-
-    public static string version = "1_3_2";
-
-    public static bool CopyComplete
-    {
-        get { return CopyCount == 0; }
-    }
-    public static bool UpdateComplete;
-    //public static AssetBundle NewDressConfig;
-    public static AssetBundle NewDressSke;
-    public static AssetBundle NewDressTex;
-    //public static AssetBundle NewLanguage;
-    //public static AssetBundle NewFlowerConfig;
-    public static AssetBundle NewFlowerTex;
-    //public static List<XmlAttributeCollection> NewDressroomConfigs = new List<XmlAttributeCollection>();
-    //public static List<XmlAttributeCollection> NewFlowerConfigs = new List<XmlAttributeCollection>();
-
-    public static List<string> HotUpdateAssetBundleNames=new List<string>
-    {
-        ResourceLabel.Config,
-        //ResourceLabel.NewDressConfig,
-        ResourceLabel.NewDressSke,
-        ResourceLabel.NewDressTex,
-        //ResourceLabel.NewLanguage,
-        //ResourceLabel.NewFlowerConfig,
-        ResourceLabel.NewFlowerTex,
-    };
-
-    //public List<Object> NewDressConfigList;
-    public List<Object> NewDressSkeList;
-    public List<Object> NewDressTexList;
-    public List<Object> NewDressTexConfigList;
-    public List<Object> NewDressSpriteList;
-    //public List<Object> NewLanguageList;
-    //public List<Object> NewFlowerConfigList;
-    public List<Object> NewFlowerSpriteList;
-
-    public static Bundle Instance;
-
-    public static bool Complete;
-
-    public static AssetBundle Atlas;
-    public static AssetBundle Atlas2;
-
-    public static AssetBundle Defaul;
-    public static AssetBundle UI;
-    public static AssetBundle Effect;
-    public static AssetBundle Audio;
-    public static AssetBundle Scene;
-    public static AssetBundle Config;
-    public static AssetBundle Discard;
-    public static AssetBundle PlazaRoom;
-
-    public Texture2D AtlasTexture;
-    public Texture2D ExpressionTexture;
-    public List<Object> DefaultList;
-    public List<Object> UiList;
-    public List<Object> AtlasList;
-    public List<Sprite> Atlas2List;
-    public List<Object> EffectList;
-    public List<Object> AudioList;
-    public List<Object> SceneList;
-    public List<Object> ConfigList;
-    public List<Object> DiscardList;
-    public List<Object> PlazaRoomList;
-
-    #endregion
-
-    public void Begin()
-    {
-        Instance = this;
-        LoadAll
-        (
-            () => Complete = true
-        );
-    }
-
-    public static T Load<T>(string goName, Folder folder) where T : Object
-    {
-        if (Initializer.Instance.DebugMode)
-        {
-            #region MyRegion
-
-            if (folder == Folder.UI)
-            {
-                for (int i = 0; i < Instance.UiList.Count; i++)
-                {
-                    if (Instance.UiList[i].name == goName)
-                    {
-                        return (T) Instance.UiList[i];
-                    }
-                }
-            }
-            if (folder == Folder.Default)
-            {
-                for (int i = 0; i < Instance.DefaultList.Count; i++)
-                {
-                    if (Instance.DefaultList[i].name == goName)
-                    {
-                        return (T)Instance.DefaultList[i];
-                    }
-                }
-            }
-            else if (folder == Folder.Audio)
-            {
-                for (int i = 0; i < Instance.AudioList.Count; i++)
-                {
-                    if (Instance.AudioList[i].name == goName)
-                    {
-                        return (T) Instance.AudioList[i];
-                    }
-                }
-            }
-            else if (folder == Folder.Config)
-            {
-                for (int i = 0; i < Instance.ConfigList.Count; i++)
-                {
-                    if (Instance.ConfigList[i].name == goName)
-                    {
-                        return (T) Instance.ConfigList[i];
-                    }
-                }
-            }
-            else if (folder == Folder.Effect)
-            {
-                for (int i = 0; i < Instance.EffectList.Count; i++)
-                {
-                    if (Instance.EffectList[i].name == goName)
-                    {
-                        return (T) Instance.EffectList[i];
-                    }
-                }
-            }
-            else if (folder == Folder.Scene)
-            {
-                if (goName == "Expression")
-                {
-                    return (T) (Object) Sprite.Create(Instance.ExpressionTexture, new Rect(0, 0, Instance.AtlasTexture.width, Instance.AtlasTexture.height), new Vector2(0.5f, 0.5f));
-                }
-
-                for (int i = 0; i < Instance.SceneList.Count; i++)
-                {
-                    if (Instance.SceneList[i].name == goName)
-                    {
-                        return (T) Instance.SceneList[i];
-                    }
-                }
-            }
-            else if (folder == Folder.Discard)
-            {
-                for (int i = 0; i < Instance.DiscardList.Count; i++)
-                {
-                    if (Instance.DiscardList[i].name == goName)
-                    {
-                        return (T) Instance.DiscardList[i];
-                    }
-                }
-            }
-            else if (folder == Folder.Atlas)
-            {
-                if (goName == "Atlas")
-                {
-                    return (T) (Object) Sprite.Create(Instance.AtlasTexture, new Rect(0, 0, Instance.AtlasTexture.width, Instance.AtlasTexture.height), new Vector2(0.5f, 0.5f));
-                }
-
-                for (int i = 0; i < Instance.AtlasList.Count; i++)
-                {
-                    if (Instance.AtlasList[i].name == goName)
-                    {
-                        return (T) Instance.AtlasList[i];
-                    }
-                }
-            }
-            else if (folder == Folder.PlazaRoom)
-            {
-                for (int i = 0; i < Instance.PlazaRoomList.Count; i++)
-                {
-                    if (Instance.PlazaRoomList[i].name == goName)
-                    {
-                        return (T) Instance.PlazaRoomList[i];
-                    }
-                }
-            }
-            //else if (folder == Folder.Dress)
-            //{
-            //    for (int i = 0; i < Instance.DressList.Count; i++)
-            //    {
-            //        if (Instance.DressList[i].name == goName)
-            //        {
-            //            return (T)Instance.DressList[i];
-            //        }
-            //    }
-            //}
-
-            #endregion
-        }
-        else
-        {
-            #region MyRegion
-
-            if (folder == Folder.UI)
-            {
-                return UI.LoadAsset<T>(goName);
-            }
-            else if (folder == Folder.Audio)
-            {
-                return Audio.LoadAsset<T>(goName);
-            }
-            else if (folder == Folder.Default)
-            {
-                return Defaul.LoadAsset<T>(goName);
-            }
-            else if (folder == Folder.Config)
-            {
-                return Config.LoadAsset<T>(goName);
-            }
-            else if (folder == Folder.Effect)
-            {
-                return Effect.LoadAsset<T>(goName);
-            }
-            else if (folder == Folder.Scene)
-            {
-                return Scene.LoadAsset<T>(goName);
-            }
-            else if (folder == Folder.Atlas)
-            {
-                return Atlas.LoadAsset<T>(goName);
-            }
-            else if (folder == Folder.Atlas2)
-            {
-                return Atlas2.LoadAsset<T>(goName);
-            }
-            else if (folder == Folder.Discard)
-            {
-                return Discard.LoadAsset<T>(goName);
-            }
-            else if (folder == Folder.PlazaRoom)
-            {
-                return PlazaRoom.LoadAsset<T>(goName);
-            }
-
-            #endregion
-        }
-        DebugManager.Log(goName + " " + folder);
-        throw new Exception(goName + " " + folder);
-    }
-
-    public static void LoadAtlasSprites()
-    {
-        if (Initializer.Instance.DebugMode)
-        {
-            for (int i = 0; i < Instance.Atlas2List.Count; i++)
-            {
-                ResourceManager.ObjectDictionary.UniqueAdd(Instance.Atlas2List[i].name, Instance.Atlas2List[i]);
-            }
-
-#if UNITY_EDITOR
-
-
-            List<Object> objects = new List<Object>();
-            string assetPath = AssetDatabase.GetAssetPath(ResourceManager.Load<Texture2D>("stand_texture_0", Folder.Scene));
-            objects.AddRange(AssetDatabase.LoadAllAssetsAtPath(assetPath));
-
-            assetPath = AssetDatabase.GetAssetPath(ResourceManager.Load<Texture2D>("stand_texture_1", Folder.Scene));
-            objects.AddRange(AssetDatabase.LoadAllAssetsAtPath(assetPath));
-
-            for (int i = 0; i < objects.Count; i++)
-            {
-                Sprite sprite = objects[i] as Sprite;
-
-                if (sprite != null)
-                {
-                    PlayerManager.CloseSpriteDictionary.Add(sprite.name, sprite);
-                    ResourceManager.ObjectDictionary.UniqueAdd(sprite.name, sprite);
-                }
-            }
-
-#endif
-        }
-        else
-        {
-            #region MyRegion
-
-            Sprite[] sprites = Atlas2.LoadAllAssets<Sprite>();
-
-            for (int i = 0; i < sprites.Length; i++)
-            {
-                ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
-            }
-
-            sprites = Atlas.LoadAllAssets<Sprite>();
-
-            for (int i = 0; i < sprites.Length; i++)
-            {
-                ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
-            }
-
-            sprites = Scene.LoadAssetWithSubAssets<Sprite>("FlowerItemAtlas1");
-
-            for (int i = 0; i < sprites.Length; i++)
-            {
-                ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
-            }
-
-            List<Object> objects = new List<Object>();
-            objects.AddRange(Scene.LoadAssetWithSubAssets("stand_texture_0", typeof(Sprite)));
-            objects.AddRange(Scene.LoadAssetWithSubAssets("stand_texture_1", typeof(Sprite)));
-
-            for (int i = 0; i < objects.Count; i++)
-            {
-                Sprite sprite = (Sprite) objects[i];
-
-                PlayerManager.CloseSpriteDictionary.Add(sprite.name, sprite);
-                ResourceManager.SpriteDictionary.UniqueAdd(sprite.name, sprite);
-            }
-
-            #endregion
-        }
-    }
-
-    //public static void LoadAllDressBundleAssetsIntoDragonbone()
-    //{
-    //    UnityFactory.factory.LoadDragonBonesData(ResourceManager.Load<TextAsset>(DressLabel.Dress_ske, Folder.Dress));
-
-    //    foreach (var dressName in DressLabel.dressNames)
-    //    {
-    //        ResourceManager.Load<Texture2D>(dressName, Folder.Dress);
-    //        UnityFactory.factory.LoadTextureAtlasData(ResourceManager.Load<TextAsset>(dressName + "_tex", Folder.Dress), dressName);
-    //    }
-
-    //    Sprite[] sprites = Dress.LoadAllAssets<Sprite>();
-
-    //    if (Initializer.Instance.DebugMode)
-    //    {
-    //        for (int i = 0; i < Instance.DressList.Count; i++)
-    //        {
-    //            Sprite sprite = Instance.DressList[i] as Sprite;
-    //            if (sprite != null)
-    //            {
-    //                PlayerManager.CloseSpriteDictionary.Add(sprite.name, sprite);
-    //                ResourceManager.ObjectDictionary.UniqueAdd(sprite.name, sprite);
-    //            }
-    //        }
-    //    }
-    //    else
-    //    {
-    //        for (int i = 0; i < sprites.Length; i++)
-    //        {
-    //            PlayerManager.CloseSpriteDictionary.Add(sprites[i].name, sprites[i]);
-    //            ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
-    //        }
-    //    }
-    //}
-
-
-    public static AssetBundleRequest LoadAsync<T>(string goName, Folder folder)
-    {
-        if (folder == Folder.UI)
-        {
-            return UI.LoadAssetAsync<T>(goName);
-        }
-        else if (folder == Folder.Audio)
-        {
-            return Audio.LoadAssetAsync<T>(goName);
-        }
-        else if (folder == Folder.Default)
-        {
-            return Defaul.LoadAssetAsync<T>(goName);
-        }
-        else if (folder == Folder.Config)
-        {
-            return Config.LoadAssetAsync<T>(goName);
-        }
-        else if (folder == Folder.Effect)
-        {
-            return Effect.LoadAssetAsync<T>(goName);
-        }
-        else if (folder == Folder.Scene)
-        {
-            return Scene.LoadAssetAsync<T>(goName);
-        }
-        else if (folder == Folder.Atlas)
-        {
-            return Atlas.LoadAssetAsync<T>(goName);
-        }
-        else if (folder == Folder.Discard)
-        {
-            return Discard.LoadAssetAsync<T>(goName);
-        }
-        else
-        {
-            throw new Exception();
-        }
-    }
-
-    public static AssetBundleRequest LoadAllAsync<T>(Folder folder)
-    {
-        if (folder == Folder.Atlas2)
-        {
-            return Atlas2.LoadAllAssetsAsync<T>();
-        }
-        else
-        {
-            throw new Exception();
-        }
-    }
-
-
-    public static string GetStreamPath()
-    {
-        if (Application.isEditor)
-            //			return "file://" +  System.Environment.CurrentDirectory.Replace("\\", "/"); // Use the build output folder directly.
-            return "file://" + Application.streamingAssetsPath + "/Bundle/Windows/"; //user local stream
-
-        //else if (Application.isWebPlayer)
-        //    return System.IO.Path.GetDirectoryName(Application.absoluteURL).Replace("\\", "/") + "/StreamingAssets";
-
-        else if (Application.platform == RuntimePlatform.IPhonePlayer)
-            return "file://" + Application.streamingAssetsPath + "/Bundle/IOS/";
-
-        else if (Application.isMobilePlatform || Application.isConsolePlatform)
-            return Application.streamingAssetsPath + "/Bundle/Android/";
-
-        else // For standalone player.
-            return "file://" + Application.streamingAssetsPath;
-
-        //return "file://" + Application.streamingAssetsPath + "/Bundle/Windows/";
-    }
-
-    public static string GetPersistingPath()
-    {
-        if (Application.platform == RuntimePlatform.IPhonePlayer)
-            return "file://" + Application.persistentDataPath;
-        else if (Application.isMobilePlatform)
-            return Application.streamingAssetsPath;
-        else
-            return "file://" + Application.persistentDataPath;
-    }
-
-    public static string GetStreamingUrlPath()
-    {
-        if (Application.platform == RuntimePlatform.IPhonePlayer)
-            return "file://" + Application.streamingAssetsPath;
-        else if (Application.isMobilePlatform)
-            return Application.streamingAssetsPath;
-        else
-            return "file://" + Application.streamingAssetsPath;
-    }
-
-
-    public void LoadAll(UnityAction callback)
-    {
-        Initializer.Instance.StartCoroutine(ILoadAll(callback));
-    }
-
-    public static IEnumerator ILoadAll(UnityAction callback)
-    {
-        yield return LoadDefaul();
-
-        if (!Logo.Complete && !Initializer.Instance.DebugMode)
-        {
-            ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.PlayerConfig, Folder.Default, () =>
-            {
-                ConfigManager.ConfigDocument = ConfigManager.ConfigDocument;
-                HttpManager.GetBuyPackLimitFlag();
-            });
-        }
-        else
-        {
-            ConfigManager.ConfigDocument = ConfigManager.ConfigDocument;
-            HttpManager.GetBuyPackLimitFlag();
-        }
-
-        //yield return LoadDiscard();
-
-        yield return LoadUI();
-
-        //if (!Logo.Complete && !Initializer.Instance.DebugMode)
-        //{
-        //    ResourceManager.AddAsyncLoad(ResourceLabel.Canvas, 1, Folder.UI, ObjType.Canvas);
-
-        //    //ResourceManager.AddAsyncLoad(ResourceLabel.GroupA, 1, Folder.UI, ObjType.GroupA, true);
-        //    //ResourceManager.AddAsyncLoad(ResourceLabel.GroupB, 1, Folder.UI, ObjType.GroupB, true);
-        //    //ResourceManager.AddAsyncLoad(ResourceLabel.GroupC, 1, Folder.UI, ObjType.GroupC, true);
-        //    //ResourceManager.AddAsyncLoad(ResourceLabel.GroupE, 1, Folder.UI, ObjType.GroupE, true);
-        //    //ResourceManager.AddAsyncLoad(ResourceLabel.GroupD, 1, Folder.UI, ObjType.GroupD, true);
-
-        //    ResourceManager.AddAsyncLoad(ResourceLabel.EventSystem, 1, Folder.UI, ObjType.EventSystem);
-        //    ResourceManager.AddAsyncLoad(ResourceLabel.MainCamera, 1, Folder.UI, ObjType.MainCamera);
-
-        //    //ResourceManager.AddAsyncLoad("SkillItem", 31, Folder.UI, ObjType.SkillItem, true);
-        //    //ResourceManager.AddAsyncLoad("SignItem", 21, Folder.UI, ObjType.SignItem, true);
-        //    //ResourceManager.AddAsyncLoad("FlowerItem", 17, Folder.UI, ObjType.FlowerItem, true);
-        //    //ResourceManager.AddAsyncLoad("AchieveItem", 2, Folder.UI, ObjType.AchieveItem, true);
-        //}
-
-        yield return LoadScene();
-
-        //if (!Logo.Complete && !Initializer.Instance.DebugMode)
-        //{
-        //    ResourceManager.AddAsyncLoad(ResourceLabel.Flower, 9, Folder.Scene, ObjType.Flower);
-
-        //    ResourceManager.AddAsyncLoad(ResourceLabel.Page, 2, Folder.Scene, ObjType.SlotPage);
-        //    ResourceManager.AddAsyncLoad(ResourceLabel.Garden, 1, Folder.Scene, ObjType.Garden);
-        //    ResourceManager.AddAsyncLoad(ResourceLabel.DressRoom, 1, Folder.UI, ObjType.DressRoom);
-        //}
-
-        yield return LoadAudio();
-
-        //if (!Logo.Complete && !Initializer.Instance.DebugMode)
-        //{
-        //    ResourceManager.AddAsyncLoad(ResourceLabel.Music, 1, Folder.Audio, ObjType.Music);
-        //}
-
-        yield return LoadAtlas2();
-
-        //if (!Logo.Complete && !Initializer.Instance.DebugMode)
-        //{
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.SkillConfig, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.PackConfig, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.AbilityConfig, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.AchieveConfig, Folder.Config);
-
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.VisitConfig, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.AwardConfig, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.FlowerConfig, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.OfflineConfig, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.SigninConfig, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.DressroomConfig, Folder.Config);
-
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.English, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.ChineseSimplified, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.ChineseTraditional, Folder.Config);
-
-        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.BtnClip, Folder.Audio);
-        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.SkillClip, Folder.Audio);
-        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.ErrorClip, Folder.Audio);
-        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.DropClip, Folder.Audio);
-        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.CloseClip, Folder.Audio);
-        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.FlowerClip, Folder.Audio);
-        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.BubbleClip, Folder.Audio);
-        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.CurrentClip, Folder.Audio);
-        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.MiniEndClip, Folder.Audio);
-
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.StandTex, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.StandSke, Folder.Config);
-        //    ResourceManager.AddAsyncLoad<Texture2D>(ResourceLabel.StandTexture, Folder.Scene);
-        //}
-
-        yield return LoadAtlas();
-        yield return LoadEffect();
-
-        SpriteAsset.AddAllBundleSpriteInfo();
-
-        if (callback != null)
-        {
-            callback.Invoke();
-        }
-    }
-
-
-    public static IEnumerator LoadUI()
-    {
-        WWW www = new WWW(GetStreamPath() + "ui");
-
-        yield return www;
-
-        if (string.IsNullOrEmpty(www.error))
-        {
-            UI = www.assetBundle;
-        }
-        else
-        {
-            Debug.Log(www.error);
-        }
-    }
-
-    public static IEnumerator LoadAtlas()
-    {
-        WWW www = new WWW(GetStreamPath() + "atlas");
-
-        yield return www;
-
-        if (string.IsNullOrEmpty(www.error))
-        {
-            Atlas = www.assetBundle;
-        }
-        else
-        {
-            Debug.Log(www.error);
-        }
-    }
-
-    public static IEnumerator LoadAtlas2()
-    {
-        WWW www = new WWW(GetStreamPath() + "atlas2");
-
-        yield return www;
-
-        if (string.IsNullOrEmpty(www.error))
-        {
-            Atlas2 = www.assetBundle;
-        }
-        else
-        {
-            Debug.Log(www.error);
-        }
-    }
-
-    public static IEnumerator LoadAudio()
-    {
-        WWW www = new WWW(GetStreamPath() + "audio");
-
-        yield return www;
-
-        if (string.IsNullOrEmpty(www.error))
-        {
-            Audio = www.assetBundle;
-        }
-        else
-        {
-            Debug.Log(www.error);
-        }
-    }
-
-    public static IEnumerator LoadDefaul()
-    {
-        WWW www = new WWW(GetStreamPath() + "default");
-
-        yield return www;
-
-        if (string.IsNullOrEmpty(www.error))
-        {
-            Defaul = www.assetBundle;
-        }
-        else
-        {
-            Debug.Log(www.error);
-        }
-    }
-
-    public static IEnumerator LoadEffect()
-    {
-        WWW www = new WWW(GetStreamPath() + "effect");
-
-        yield return www;
-
-        if (string.IsNullOrEmpty(www.error))
-        {
-            Effect = www.assetBundle;
-        }
-        else
-        {
-            Debug.Log(www.error);
-        }
-    }
-
-    public static IEnumerator LoadScene()
-    {
-        WWW www = new WWW(GetStreamPath() + "scene");
-
-        yield return www;
-
-        if (string.IsNullOrEmpty(www.error))
-        {
-            Scene = www.assetBundle;
-        }
-        else
-        {
-            Debug.Log(www.error);
-        }
-    }
-
-    public static IEnumerator LoadDiscard()
-    {
-        WWW www = new WWW(GetStreamPath() + "discard");
-
-        yield return www;
-
-        if (string.IsNullOrEmpty(www.error))
-        {
-            Discard = www.assetBundle;
-        }
-        else
-        {
-            Debug.Log(www.error);
-        }
-    }
-
-    public static IEnumerator LoadPlazaRoom()
-    {
-        WWW www = new WWW(GetStreamPath() + "plazaroom");
-
-        yield return www;
-
-        if (string.IsNullOrEmpty(www.error))
-        {
-            PlazaRoom = www.assetBundle;
-        }
-        else
-        {
-            Debug.Log(www.error);
-        }
-    }
-
-
-    private static int CopyCount = 0;
-    public static void CopyAssetBundles()
-    {
-        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-        if (!Directory.Exists(persistentFolderPath))
-        {
-            Directory.CreateDirectory(persistentFolderPath);
-        }
-        string streamingFolder;
-        if (Application.platform == RuntimePlatform.IPhonePlayer)
-        {
-            streamingFolder = "IOS";
-        }
-        else if (Application.platform == RuntimePlatform.Android)
-        {
-            streamingFolder = "Android";
-        }
-        else
-        {
-            streamingFolder = "Windows";
-        }
-        foreach (var assetBundleName in HotUpdateAssetBundleNames)
-        {
-            if (!File.Exists(persistentFolderPath + Path.DirectorySeparatorChar + assetBundleName))
-            {
-                CopyCount++;
-                Initializer.Instance.StartCoroutine
-                (
-                    LoadAssetBundleFromStream
-                    (
-                        streamingFolder,
-                        assetBundleName,
-                        www =>
-                        {
-                            File.WriteAllBytes(persistentFolderPath + Path.DirectorySeparatorChar + assetBundleName, www.bytes);
-                            CopyOneAssetBundleFinish();
-                        }
-                    )
-                );
-            }
-        }
-    }
-
-    private static void CopyOneAssetBundleFinish()
-    {
-        CopyCount--;
-    }
-
-    public static IEnumerator LoadAssetBundleFromStream(string folder, string name, Action<WWW> callback)
-    {
-        WWW www = new WWW(GetStreamingUrlPath() + Path.DirectorySeparatorChar + "Bundle" + Path.DirectorySeparatorChar + folder + Path.DirectorySeparatorChar + "HotUpdate" + Path.DirectorySeparatorChar + name);
-        yield return www;
-        if (string.IsNullOrEmpty(www.error))
-        {
-            callback.Invoke(www);
-        }
-        else
-        {
-            Debug.Log(www.error);
-            Initializer.DebugText.text = www.error;
-            Initializer.DebugText.SetActive(true);
-            Initializer.DebugText.enabled = true;
-        }
-    }
-
-    public static int UpdateAmt;
-    public static int UpdateFinishAmt;
-    public static bool UpdateAssetBundles()
-    {
-        //Debug.Log(HttpManager.Md5);
-        //Debug.Log(HttpManager.Md5Dictionnary);
-        //Debug.Log(HttpManager.AssetbundleUrl);
-        try
-        {
-            Initializer.DebugText.text = "U0";
-            if (Initializer.Instance.DebugMode)
-            {
-                SkipUpdateForDebugMode();
-                return false;
-            }
-
-            Initializer.DebugText.text = "U1";
-            string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
-
-            Initializer.DebugText.text = "U2";
-            List<AssetBundleSet> assetBundleSets = AssetBundleUtility.GetAssetBundleSetsFromFolders
-            (
-                persistentFolderPath
-            );
-            Initializer.DebugText.text = "U3";
-            string localMD5 = AssetBundleUtility.GetMD5OfAssetBundleSets(assetBundleSets);
-            bool needUpdate; 
-            if (string.IsNullOrEmpty(HttpManager.Md5) || string.IsNullOrEmpty(HttpManager.Md5Dictionnary) || string.IsNullOrEmpty(HttpManager.AssetbundleUrl))
-            {
-                needUpdate = false;
-                Debug.LogWarning(string.Format("NeedUpdate : {0} connection error", needUpdate));
-            }
-            else
-            {
-                //Debug.Log(localMD5);
-                //Debug.Log(HttpManager.Md5);
-                needUpdate = localMD5 != HttpManager.Md5;
-                //Debug.LogWarning(string.Format("NeedUpdate : {0}", needUpdate));
-            }
-            //if (Application.isEditor || Application.isMobilePlatform)
-            //{
-            //    needUpdate = false;
-            //}
-            AssetBundleUtility.OnDownloadOrUpdateFinish += FinishDownloadAndLoad;
-            if (needUpdate)
-            {
-                Initializer.DebugText.text = "U4";
-                UpdateAmt = AssetBundleUtility.UpdateAllAssetBundle
-                (
-                    HttpManager.Md5Dictionnary,
-                    persistentFolderPath,
-                    assetBundleSets,
-                    DownloadAllAssetBundleSucceed,
-                    DownloadAllAssetBundleFailed,
-                    DownloadAssetBundleSucceed,
-                    DownloadAssetBundleFailed
-                );
-                UpdatePanel.Show();
-                UpdatePanel.SetProgress(UpdateAmt, 0);
-            }
-            else
-            {
-                Initializer.DebugText.text = "U5";
-                AssetBundleUtility.LoadAllAssetBundle
-                (
-                    assetBundleSets,
-                    DownloadAllAssetBundleSucceed,
-                    DownloadAllAssetBundleFailed,
-                    DownloadAssetBundleSucceed,
-                    DownloadAssetBundleFailed
-                );
-            }
-            return false;
-        }
-        catch (Exception)
-        {
-            Initializer.EnableDebugLab();
-            return true;
-        }
-    }
-
-    private static void FinishDownloadAndLoad()
-    {
-        try
-        {
-            Initializer.DebugText.text = "01";
-            //NewDressroomConfigs = ConfigManager.GetDressRoomConfig(NewDressConfig.LoadAsset<TextAsset>(ResourceLabel.NewDressroomConfig));
-
-            Initializer.DebugText.text = "02";
-            TextAsset[] textAssets = NewDressSke.LoadAllAssets<TextAsset>();
-            foreach (var textAsset in textAssets)
-            {
-                UnityFactory.factory.LoadDragonBonesData(textAsset);
-            }
-
-            Initializer.DebugText.text = "03";
-            textAssets = NewDressTex.LoadAllAssets<TextAsset>();
-            Texture2D[] textures = NewDressTex.LoadAllAssets<Texture2D>();
-            for (int i = 0; i < textAssets.Length; i++)
-            {
-                ResourceManager.ObjectDictionary.Add(textures[i].name, textures[i]);
-                UnityFactory.factory.LoadTextureAtlasData(textAssets[i], textures[i].name);
-            }
-
-            Initializer.DebugText.text = "04";
-            Sprite[] sprites = NewDressTex.LoadAllAssets<Sprite>();
-            for (int i = 0; i < sprites.Length; i++)
-            {
-                PlayerManager.CloseSpriteDictionary.Add(sprites[i].name, sprites[i]);
-                ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
-            }
-
-            Initializer.DebugText.text = "051";
-            TextAsset language = Config.LoadAsset<TextAsset>(ResourceLabel.English);
-            XmlDocument document = new XmlDocument();
-            document.LoadXml(language.text);
-            Language.AddLanguageDocument(CurrentLanguage.English, document);
-
-            Initializer.DebugText.text = "061";
-            language = Config.LoadAsset<TextAsset>(ResourceLabel.ChineseSimplified);
-            document = new XmlDocument();
-            document.LoadXml(language.text);
-            Language.AddLanguageDocument(CurrentLanguage.ChineseSimplified, document);
-
-            Initializer.DebugText.text = "071";
-            language = Config.LoadAsset<TextAsset>(ResourceLabel.ChineseTraditional);
-            document = new XmlDocument();
-            document.LoadXml(language.text);
-            Language.AddLanguageDocument(CurrentLanguage.ChineseTraditional, document);
-
-            //Initializer.DebugText.text = "052";
-            //language = NewLanguage.LoadAsset<TextAsset>(ResourceLabel.NewEnglish);
-            //document = new XmlDocument();
-            //document.LoadXml(language.text);
-            //Language.AddLanguageDocument(CurrentLanguage.English, document);
-
-            //Initializer.DebugText.text = "062";
-            //language = NewLanguage.LoadAsset<TextAsset>(ResourceLabel.NewChineseSimplified);
-            //document = new XmlDocument();
-            //document.LoadXml(language.text);
-            //Language.AddLanguageDocument(CurrentLanguage.ChineseSimplified, document);
-
-            //Initializer.DebugText.text = "072";
-            //language = NewLanguage.LoadAsset<TextAsset>(ResourceLabel.NewChineseTraditional);
-            //document = new XmlDocument();
-            //document.LoadXml(language.text);
-            //Language.AddLanguageDocument(CurrentLanguage.ChineseTraditional, document);
-
-            Initializer.DebugText.text = "08";
-            //NewFlowerConfigs = ConfigManager.GetFlowerConfig(NewFlowerConfig.LoadAsset<TextAsset>(ResourceLabel.NewFlowerConfig));
-
-            Initializer.DebugText.text = "09";
-            sprites = NewFlowerTex.LoadAllAssets<Sprite>();
-            for (int i = 0; i < sprites.Length; i++)
-            {
-                ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
-            }
-
-            UpdateComplete = true;
-
-            DelayCall.Call(1f, UpdatePanel.Hide);
-        }
-        catch (Exception e)
-        {
-            Debug.Log(e);
-            Initializer.DebugText.text += e.ToString();
-            Initializer.EnableDebugLab();
-        }
-    }
-
-    public static void DownloadAllAssetBundleSucceed()
-    {
-        //Debug.Log("succeed");
-    }
-
-    public static void DownloadAllAssetBundleFailed()
-    {
-        Debug.Log("failed");
-    }
-
-    public static void DownloadAssetBundleSucceed(AssetBundleSet assetBundleSet, bool isDownload)
-    {
-        //Debug.Log(assetBundleSet.AssetBundle.name);
-        //if (assetBundleSet.Name == ResourceLabel.NewDressConfig)
-        //{
-        //    NewDressConfig = assetBundleSet.AssetBundle;
-        //}
-        if (assetBundleSet.Name == ResourceLabel.NewDressSke)
-        {
-            NewDressSke = assetBundleSet.AssetBundle;
-        }
-        else if (assetBundleSet.Name == ResourceLabel.NewDressTex)
-        {
-            NewDressTex = assetBundleSet.AssetBundle;
-        }
-        else if (assetBundleSet.Name == ResourceLabel.Config)
-        {
-            Config = assetBundleSet.AssetBundle;
-        }
-        //else if (assetBundleSet.Name == ResourceLabel.NewLanguage)
-        //{
-        //    NewLanguage = assetBundleSet.AssetBundle;
-        //}
-        //else if (assetBundleSet.Name == ResourceLabel.NewFlowerConfig)
-        //{
-        //    NewFlowerConfig = assetBundleSet.AssetBundle;
-        //}
-        else if (assetBundleSet.Name == ResourceLabel.NewFlowerTex)
-        {
-            NewFlowerTex = assetBundleSet.AssetBundle;
-        }
-
-        if (isDownload)
-        {
-            UpdateFinishAmt++;
-            UpdatePanel.SetProgress(UpdateAmt, UpdateFinishAmt);
-        }
-    }
-
-    public static void DownloadAssetBundleFailed(AssetBundleSet assetBundleSet, string error)
-    {
-        Debug.Log(assetBundleSet.Name + "  " + error);
-        string path = assetBundleSet.PersistentPath;
-        path = path.Replace("/", Path.DirectorySeparatorChar.ToString());
-        path = path.Replace("\\", Path.DirectorySeparatorChar.ToString());
-        path = path.Replace("\\\\", Path.DirectorySeparatorChar.ToString());
-        path = "file://" + path;
-        WWW www = new WWW(path);
-        AssetBundleSet bundleSet = new AssetBundleSet();
-        bundleSet.Name = assetBundleSet.Name;
-        bundleSet.AssetBundle = www.assetBundle;
-        DownloadAssetBundleSucceed(bundleSet, false);
-
-        //string str = Language.GetStr(LanguageLabel.UI__AJ_UpdateFailed, Application.systemLanguage) + "    "  + error;
-        //UpdatePanel.SetContent(str);
-
-        //Initializer.DebugText.text = assetBundleSet.Name;
-        //Initializer.DebugText.text += error;
-        //Initializer.EnableDebugLab();
-    }
-
-    public static void SkipUpdateForDebugMode()
-    {
-        //NewDressroomConfigs = ConfigManager.GetDressRoomConfig(Instance.NewDressConfigList[0] as TextAsset);
-
-        foreach (var textAsset in Instance.NewDressSkeList)
-        {
-            UnityFactory.factory.LoadDragonBonesData(textAsset as TextAsset);
-        }
-
-        for (int i = 0; i < Instance.NewDressTexList.Count; i++)
-        {
-            TextAsset textAsset = Instance.NewDressTexConfigList[i] as TextAsset;
-            Texture2D texture = Instance.NewDressTexList[i] as Texture2D;
-            ResourceManager.ObjectDictionary.Add(texture.name, texture);
-            UnityFactory.factory.LoadTextureAtlasData(textAsset, texture.name);
-        }
-
-        for (int i = 0; i < Instance.NewDressSpriteList.Count; i++)
-        {
-            Sprite sprite = Instance.NewDressSpriteList[i] as  Sprite;
-            PlayerManager.CloseSpriteDictionary.Add(sprite.name, sprite);
-            ResourceManager.ObjectDictionary.UniqueAdd(sprite.name, sprite);
-        }
-
-        for (int i = 0; i < Instance.ConfigList.Count; i++)
-        {
-            TextAsset textAsset = Instance.ConfigList[i] as TextAsset;
-            if (textAsset.name == ResourceLabel.English)
-            {
-                XmlDocument document = new XmlDocument();
-                document.LoadXml(textAsset.text);
-                Language.AddLanguageDocument(CurrentLanguage.English, document);
-            }
-            else if (textAsset.name == ResourceLabel.ChineseSimplified)
-            {
-                XmlDocument document = new XmlDocument();
-                document.LoadXml(textAsset.text);
-                Language.AddLanguageDocument(CurrentLanguage.ChineseSimplified, document);
-            }
-            else if (textAsset.name == ResourceLabel.ChineseTraditional)
-            {
-                XmlDocument document = new XmlDocument();
-                document.LoadXml(textAsset.text);
-                Language.AddLanguageDocument(CurrentLanguage.ChineseTraditional, document);
-            }
-        }
-
-        for (int i = 0; i < Instance.DefaultList.Count; i++)
-        {
-            TextAsset textAsset = Instance.ConfigList[i] as TextAsset;
-            if (textAsset.name == ResourceLabel.English)
-            {
-                XmlDocument document = new XmlDocument();
-                document.LoadXml(textAsset.text);
-                Language.AddLanguageDocument(CurrentLanguage.English, document);
-            }
-            else if (textAsset.name == ResourceLabel.ChineseSimplified)
-            {
-                XmlDocument document = new XmlDocument();
-                document.LoadXml(textAsset.text);
-                Language.AddLanguageDocument(CurrentLanguage.ChineseSimplified, document);
-            }
-            else if (textAsset.name == ResourceLabel.ChineseTraditional)
-            {
-                XmlDocument document = new XmlDocument();
-                document.LoadXml(textAsset.text);
-                Language.AddLanguageDocument(CurrentLanguage.ChineseTraditional, document);
-            }
-        }
-
-        //NewFlowerConfigs = ConfigManager.GetDressRoomConfig(Instance.NewFlowerConfigList[0] as TextAsset);
-
-        foreach (var obj in Instance.NewFlowerSpriteList)
-        {
-            Sprite sprite = obj as  Sprite;
-            ResourceManager.ObjectDictionary.UniqueAdd(sprite.name, sprite);
-        }
-
-        UpdateComplete = true;
-    }
+using System;
+using UnityEngine;
+using UnityEngine.Events;
+
+using System.Collections;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Xml;
+using assetBundleUtility;
+using DragonBones;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
+using Debug = UnityEngine.Debug;
+using Object = UnityEngine.Object;
+
+public class Bundle : MonoBehaviour
+{
+    #region
+
+    public static string version = "1_3_3";
+
+    public static bool CopyComplete
+    {
+        get { return CopyCount == 0; }
+    }
+    public static bool UpdateComplete;
+    //public static AssetBundle NewDressConfig;
+    public static AssetBundle NewDressSke;
+    public static AssetBundle NewDressTex;
+    //public static AssetBundle NewLanguage;
+    //public static AssetBundle NewFlowerConfig;
+    public static AssetBundle NewFlowerTex;
+    //public static List<XmlAttributeCollection> NewDressroomConfigs = new List<XmlAttributeCollection>();
+    //public static List<XmlAttributeCollection> NewFlowerConfigs = new List<XmlAttributeCollection>();
+
+    public static List<string> HotUpdateAssetBundleNames=new List<string>
+    {
+        ResourceLabel.Config,
+        //ResourceLabel.NewDressConfig,
+        ResourceLabel.NewDressSke,
+        ResourceLabel.NewDressTex,
+        //ResourceLabel.NewLanguage,
+        //ResourceLabel.NewFlowerConfig,
+        ResourceLabel.NewFlowerTex,
+    };
+
+    //public List<Object> NewDressConfigList;
+    public List<Object> NewDressSkeList;
+    public List<Object> NewDressTexList;
+    public List<Object> NewDressTexConfigList;
+    public List<Object> NewDressSpriteList;
+    //public List<Object> NewLanguageList;
+    //public List<Object> NewFlowerConfigList;
+    public List<Object> NewFlowerSpriteList;
+
+    public static Bundle Instance;
+
+    public static bool Complete;
+
+    public static AssetBundle Atlas;
+    public static AssetBundle Atlas2;
+
+    public static AssetBundle Defaul;
+    public static AssetBundle UI;
+    public static AssetBundle Effect;
+    public static AssetBundle Audio;
+    public static AssetBundle Scene;
+    public static AssetBundle Config;
+    public static AssetBundle Discard;
+    public static AssetBundle PlazaRoom;
+
+    public Texture2D AtlasTexture;
+    public Texture2D ExpressionTexture;
+    public List<Object> DefaultList;
+    public List<Object> UiList;
+    public List<Object> AtlasList;
+    public List<Sprite> Atlas2List;
+    public List<Object> EffectList;
+    public List<Object> AudioList;
+    public List<Object> SceneList;
+    public List<Object> ConfigList;
+    public List<Object> DiscardList;
+    public List<Object> PlazaRoomList;
+
+    #endregion
+
+    public void Begin()
+    {
+        Instance = this;
+        LoadAll
+        (
+            () => Complete = true
+        );
+    }
+
+    public static T Load<T>(string goName, Folder folder) where T : Object
+    {
+        if (Initializer.Instance.DebugMode)
+        {
+            #region MyRegion
+
+            if (folder == Folder.UI)
+            {
+                for (int i = 0; i < Instance.UiList.Count; i++)
+                {
+                    if (Instance.UiList[i].name == goName)
+                    {
+                        return (T) Instance.UiList[i];
+                    }
+                }
+            }
+            if (folder == Folder.Default)
+            {
+                for (int i = 0; i < Instance.DefaultList.Count; i++)
+                {
+                    if (Instance.DefaultList[i].name == goName)
+                    {
+                        return (T)Instance.DefaultList[i];
+                    }
+                }
+            }
+            else if (folder == Folder.Audio)
+            {
+                for (int i = 0; i < Instance.AudioList.Count; i++)
+                {
+                    if (Instance.AudioList[i].name == goName)
+                    {
+                        return (T) Instance.AudioList[i];
+                    }
+                }
+            }
+            else if (folder == Folder.Config)
+            {
+                for (int i = 0; i < Instance.ConfigList.Count; i++)
+                {
+                    if (Instance.ConfigList[i].name == goName)
+                    {
+                        return (T) Instance.ConfigList[i];
+                    }
+                }
+            }
+            else if (folder == Folder.Effect)
+            {
+                for (int i = 0; i < Instance.EffectList.Count; i++)
+                {
+                    if (Instance.EffectList[i].name == goName)
+                    {
+                        return (T) Instance.EffectList[i];
+                    }
+                }
+            }
+            else if (folder == Folder.Scene)
+            {
+                if (goName == "Expression")
+                {
+                    return (T) (Object) Sprite.Create(Instance.ExpressionTexture, new Rect(0, 0, Instance.AtlasTexture.width, Instance.AtlasTexture.height), new Vector2(0.5f, 0.5f));
+                }
+
+                for (int i = 0; i < Instance.SceneList.Count; i++)
+                {
+                    if (Instance.SceneList[i].name == goName)
+                    {
+                        return (T) Instance.SceneList[i];
+                    }
+                }
+            }
+            else if (folder == Folder.Discard)
+            {
+                for (int i = 0; i < Instance.DiscardList.Count; i++)
+                {
+                    if (Instance.DiscardList[i].name == goName)
+                    {
+                        return (T) Instance.DiscardList[i];
+                    }
+                }
+            }
+            else if (folder == Folder.Atlas)
+            {
+                if (goName == "Atlas")
+                {
+                    return (T) (Object) Sprite.Create(Instance.AtlasTexture, new Rect(0, 0, Instance.AtlasTexture.width, Instance.AtlasTexture.height), new Vector2(0.5f, 0.5f));
+                }
+
+                for (int i = 0; i < Instance.AtlasList.Count; i++)
+                {
+                    if (Instance.AtlasList[i].name == goName)
+                    {
+                        return (T) Instance.AtlasList[i];
+                    }
+                }
+            }
+            else if (folder == Folder.PlazaRoom)
+            {
+                for (int i = 0; i < Instance.PlazaRoomList.Count; i++)
+                {
+                    if (Instance.PlazaRoomList[i].name == goName)
+                    {
+                        return (T) Instance.PlazaRoomList[i];
+                    }
+                }
+            }
+            //else if (folder == Folder.Dress)
+            //{
+            //    for (int i = 0; i < Instance.DressList.Count; i++)
+            //    {
+            //        if (Instance.DressList[i].name == goName)
+            //        {
+            //            return (T)Instance.DressList[i];
+            //        }
+            //    }
+            //}
+
+            #endregion
+        }
+        else
+        {
+            #region MyRegion
+
+            if (folder == Folder.UI)
+            {
+                return UI.LoadAsset<T>(goName);
+            }
+            else if (folder == Folder.Audio)
+            {
+                return Audio.LoadAsset<T>(goName);
+            }
+            else if (folder == Folder.Default)
+            {
+                return Defaul.LoadAsset<T>(goName);
+            }
+            else if (folder == Folder.Config)
+            {
+                return Config.LoadAsset<T>(goName);
+            }
+            else if (folder == Folder.Effect)
+            {
+                return Effect.LoadAsset<T>(goName);
+            }
+            else if (folder == Folder.Scene)
+            {
+                return Scene.LoadAsset<T>(goName);
+            }
+            else if (folder == Folder.Atlas)
+            {
+                return Atlas.LoadAsset<T>(goName);
+            }
+            else if (folder == Folder.Atlas2)
+            {
+                return Atlas2.LoadAsset<T>(goName);
+            }
+            else if (folder == Folder.Discard)
+            {
+                return Discard.LoadAsset<T>(goName);
+            }
+            else if (folder == Folder.PlazaRoom)
+            {
+                return PlazaRoom.LoadAsset<T>(goName);
+            }
+
+            #endregion
+        }
+        DebugManager.Log(goName + " " + folder);
+        throw new Exception(goName + " " + folder);
+    }
+
+    public static void LoadAtlasSprites()
+    {
+        if (Initializer.Instance.DebugMode)
+        {
+            for (int i = 0; i < Instance.Atlas2List.Count; i++)
+            {
+                ResourceManager.ObjectDictionary.UniqueAdd(Instance.Atlas2List[i].name, Instance.Atlas2List[i]);
+            }
+
+#if UNITY_EDITOR
+
+
+            List<Object> objects = new List<Object>();
+            string assetPath = AssetDatabase.GetAssetPath(ResourceManager.Load<Texture2D>("stand_texture_0", Folder.Scene));
+            objects.AddRange(AssetDatabase.LoadAllAssetsAtPath(assetPath));
+
+            assetPath = AssetDatabase.GetAssetPath(ResourceManager.Load<Texture2D>("stand_texture_1", Folder.Scene));
+            objects.AddRange(AssetDatabase.LoadAllAssetsAtPath(assetPath));
+
+            for (int i = 0; i < objects.Count; i++)
+            {
+                Sprite sprite = objects[i] as Sprite;
+
+                if (sprite != null)
+                {
+                    PlayerManager.CloseSpriteDictionary.Add(sprite.name, sprite);
+                    ResourceManager.ObjectDictionary.UniqueAdd(sprite.name, sprite);
+                }
+            }
+
+#endif
+        }
+        else
+        {
+            #region MyRegion
+
+            Sprite[] sprites = Atlas2.LoadAllAssets<Sprite>();
+
+            for (int i = 0; i < sprites.Length; i++)
+            {
+                ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
+            }
+
+            sprites = Atlas.LoadAllAssets<Sprite>();
+
+            for (int i = 0; i < sprites.Length; i++)
+            {
+                ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
+            }
+
+            sprites = Scene.LoadAssetWithSubAssets<Sprite>("FlowerItemAtlas1");
+
+            for (int i = 0; i < sprites.Length; i++)
+            {
+                ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
+            }
+
+            List<Object> objects = new List<Object>();
+            objects.AddRange(Scene.LoadAssetWithSubAssets("stand_texture_0", typeof(Sprite)));
+            objects.AddRange(Scene.LoadAssetWithSubAssets("stand_texture_1", typeof(Sprite)));
+
+            for (int i = 0; i < objects.Count; i++)
+            {
+                Sprite sprite = (Sprite) objects[i];
+
+                PlayerManager.CloseSpriteDictionary.Add(sprite.name, sprite);
+                ResourceManager.SpriteDictionary.UniqueAdd(sprite.name, sprite);
+            }
+
+            #endregion
+        }
+    }
+
+    //public static void LoadAllDressBundleAssetsIntoDragonbone()
+    //{
+    //    UnityFactory.factory.LoadDragonBonesData(ResourceManager.Load<TextAsset>(DressLabel.Dress_ske, Folder.Dress));
+
+    //    foreach (var dressName in DressLabel.dressNames)
+    //    {
+    //        ResourceManager.Load<Texture2D>(dressName, Folder.Dress);
+    //        UnityFactory.factory.LoadTextureAtlasData(ResourceManager.Load<TextAsset>(dressName + "_tex", Folder.Dress), dressName);
+    //    }
+
+    //    Sprite[] sprites = Dress.LoadAllAssets<Sprite>();
+
+    //    if (Initializer.Instance.DebugMode)
+    //    {
+    //        for (int i = 0; i < Instance.DressList.Count; i++)
+    //        {
+    //            Sprite sprite = Instance.DressList[i] as Sprite;
+    //            if (sprite != null)
+    //            {
+    //                PlayerManager.CloseSpriteDictionary.Add(sprite.name, sprite);
+    //                ResourceManager.ObjectDictionary.UniqueAdd(sprite.name, sprite);
+    //            }
+    //        }
+    //    }
+    //    else
+    //    {
+    //        for (int i = 0; i < sprites.Length; i++)
+    //        {
+    //            PlayerManager.CloseSpriteDictionary.Add(sprites[i].name, sprites[i]);
+    //            ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
+    //        }
+    //    }
+    //}
+
+
+    public static AssetBundleRequest LoadAsync<T>(string goName, Folder folder)
+    {
+        if (folder == Folder.UI)
+        {
+            return UI.LoadAssetAsync<T>(goName);
+        }
+        else if (folder == Folder.Audio)
+        {
+            return Audio.LoadAssetAsync<T>(goName);
+        }
+        else if (folder == Folder.Default)
+        {
+            return Defaul.LoadAssetAsync<T>(goName);
+        }
+        else if (folder == Folder.Config)
+        {
+            return Config.LoadAssetAsync<T>(goName);
+        }
+        else if (folder == Folder.Effect)
+        {
+            return Effect.LoadAssetAsync<T>(goName);
+        }
+        else if (folder == Folder.Scene)
+        {
+            return Scene.LoadAssetAsync<T>(goName);
+        }
+        else if (folder == Folder.Atlas)
+        {
+            return Atlas.LoadAssetAsync<T>(goName);
+        }
+        else if (folder == Folder.Discard)
+        {
+            return Discard.LoadAssetAsync<T>(goName);
+        }
+        else
+        {
+            throw new Exception();
+        }
+    }
+
+    public static AssetBundleRequest LoadAllAsync<T>(Folder folder)
+    {
+        if (folder == Folder.Atlas2)
+        {
+            return Atlas2.LoadAllAssetsAsync<T>();
+        }
+        else
+        {
+            throw new Exception();
+        }
+    }
+
+
+    public static string GetStreamPath()
+    {
+        if (Application.isEditor)
+            //			return "file://" +  System.Environment.CurrentDirectory.Replace("\\", "/"); // Use the build output folder directly.
+            return "file://" + Application.streamingAssetsPath + "/Bundle/Windows/"; //user local stream
+
+        //else if (Application.isWebPlayer)
+        //    return System.IO.Path.GetDirectoryName(Application.absoluteURL).Replace("\\", "/") + "/StreamingAssets";
+
+        else if (Application.platform == RuntimePlatform.IPhonePlayer)
+            return "file://" + Application.streamingAssetsPath + "/Bundle/IOS/";
+
+        else if (Application.isMobilePlatform || Application.isConsolePlatform)
+            return Application.streamingAssetsPath + "/Bundle/Android/";
+
+        else // For standalone player.
+            return "file://" + Application.streamingAssetsPath;
+
+        //return "file://" + Application.streamingAssetsPath + "/Bundle/Windows/";
+    }
+
+    public static string GetPersistingPath()
+    {
+        if (Application.platform == RuntimePlatform.IPhonePlayer)
+            return "file://" + Application.persistentDataPath;
+        else if (Application.isMobilePlatform)
+            return Application.streamingAssetsPath;
+        else
+            return "file://" + Application.persistentDataPath;
+    }
+
+    public static string GetStreamingUrlPath()
+    {
+        if (Application.platform == RuntimePlatform.IPhonePlayer)
+            return "file://" + Application.streamingAssetsPath;
+        else if (Application.isMobilePlatform)
+            return Application.streamingAssetsPath;
+        else
+            return "file://" + Application.streamingAssetsPath;
+    }
+
+
+    public void LoadAll(UnityAction callback)
+    {
+        Initializer.Instance.StartCoroutine(ILoadAll(callback));
+    }
+
+    public static IEnumerator ILoadAll(UnityAction callback)
+    {
+        yield return LoadDefaul();
+
+        if (!Logo.Complete && !Initializer.Instance.DebugMode)
+        {
+            ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.PlayerConfig, Folder.Default, () =>
+            {
+                ConfigManager.ConfigDocument = ConfigManager.ConfigDocument;
+                HttpManager.GetBuyPackLimitFlag();
+            });
+        }
+        else
+        {
+            ConfigManager.ConfigDocument = ConfigManager.ConfigDocument;
+            HttpManager.GetBuyPackLimitFlag();
+        }
+
+        //yield return LoadDiscard();
+
+        yield return LoadUI();
+
+        //if (!Logo.Complete && !Initializer.Instance.DebugMode)
+        //{
+        //    ResourceManager.AddAsyncLoad(ResourceLabel.Canvas, 1, Folder.UI, ObjType.Canvas);
+
+        //    //ResourceManager.AddAsyncLoad(ResourceLabel.GroupA, 1, Folder.UI, ObjType.GroupA, true);
+        //    //ResourceManager.AddAsyncLoad(ResourceLabel.GroupB, 1, Folder.UI, ObjType.GroupB, true);
+        //    //ResourceManager.AddAsyncLoad(ResourceLabel.GroupC, 1, Folder.UI, ObjType.GroupC, true);
+        //    //ResourceManager.AddAsyncLoad(ResourceLabel.GroupE, 1, Folder.UI, ObjType.GroupE, true);
+        //    //ResourceManager.AddAsyncLoad(ResourceLabel.GroupD, 1, Folder.UI, ObjType.GroupD, true);
+
+        //    ResourceManager.AddAsyncLoad(ResourceLabel.EventSystem, 1, Folder.UI, ObjType.EventSystem);
+        //    ResourceManager.AddAsyncLoad(ResourceLabel.MainCamera, 1, Folder.UI, ObjType.MainCamera);
+
+        //    //ResourceManager.AddAsyncLoad("SkillItem", 31, Folder.UI, ObjType.SkillItem, true);
+        //    //ResourceManager.AddAsyncLoad("SignItem", 21, Folder.UI, ObjType.SignItem, true);
+        //    //ResourceManager.AddAsyncLoad("FlowerItem", 17, Folder.UI, ObjType.FlowerItem, true);
+        //    //ResourceManager.AddAsyncLoad("AchieveItem", 2, Folder.UI, ObjType.AchieveItem, true);
+        //}
+
+        yield return LoadScene();
+
+        //if (!Logo.Complete && !Initializer.Instance.DebugMode)
+        //{
+        //    ResourceManager.AddAsyncLoad(ResourceLabel.Flower, 9, Folder.Scene, ObjType.Flower);
+
+        //    ResourceManager.AddAsyncLoad(ResourceLabel.Page, 2, Folder.Scene, ObjType.SlotPage);
+        //    ResourceManager.AddAsyncLoad(ResourceLabel.Garden, 1, Folder.Scene, ObjType.Garden);
+        //    ResourceManager.AddAsyncLoad(ResourceLabel.DressRoom, 1, Folder.UI, ObjType.DressRoom);
+        //}
+
+        yield return LoadAudio();
+
+        //if (!Logo.Complete && !Initializer.Instance.DebugMode)
+        //{
+        //    ResourceManager.AddAsyncLoad(ResourceLabel.Music, 1, Folder.Audio, ObjType.Music);
+        //}
+
+        yield return LoadAtlas2();
+
+        //if (!Logo.Complete && !Initializer.Instance.DebugMode)
+        //{
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.SkillConfig, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.PackConfig, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.AbilityConfig, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.AchieveConfig, Folder.Config);
+
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.VisitConfig, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.AwardConfig, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.FlowerConfig, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.OfflineConfig, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.SigninConfig, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.DressroomConfig, Folder.Config);
+
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.English, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.ChineseSimplified, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.ChineseTraditional, Folder.Config);
+
+        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.BtnClip, Folder.Audio);
+        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.SkillClip, Folder.Audio);
+        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.ErrorClip, Folder.Audio);
+        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.DropClip, Folder.Audio);
+        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.CloseClip, Folder.Audio);
+        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.FlowerClip, Folder.Audio);
+        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.BubbleClip, Folder.Audio);
+        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.CurrentClip, Folder.Audio);
+        //    ResourceManager.AddAsyncLoad<AudioClip>(ResourceLabel.MiniEndClip, Folder.Audio);
+
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.StandTex, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<TextAsset>(ResourceLabel.StandSke, Folder.Config);
+        //    ResourceManager.AddAsyncLoad<Texture2D>(ResourceLabel.StandTexture, Folder.Scene);
+        //}
+
+        yield return LoadAtlas();
+        yield return LoadEffect();
+
+        SpriteAsset.AddAllBundleSpriteInfo();
+
+        if (callback != null)
+        {
+            callback.Invoke();
+        }
+    }
+
+
+    public static IEnumerator LoadUI()
+    {
+        WWW www = new WWW(GetStreamPath() + "ui");
+
+        yield return www;
+
+        if (string.IsNullOrEmpty(www.error))
+        {
+            UI = www.assetBundle;
+        }
+        else
+        {
+            Debug.Log(www.error);
+        }
+    }
+
+    public static IEnumerator LoadAtlas()
+    {
+        WWW www = new WWW(GetStreamPath() + "atlas");
+
+        yield return www;
+
+        if (string.IsNullOrEmpty(www.error))
+        {
+            Atlas = www.assetBundle;
+        }
+        else
+        {
+            Debug.Log(www.error);
+        }
+    }
+
+    public static IEnumerator LoadAtlas2()
+    {
+        WWW www = new WWW(GetStreamPath() + "atlas2");
+
+        yield return www;
+
+        if (string.IsNullOrEmpty(www.error))
+        {
+            Atlas2 = www.assetBundle;
+        }
+        else
+        {
+            Debug.Log(www.error);
+        }
+    }
+
+    public static IEnumerator LoadAudio()
+    {
+        WWW www = new WWW(GetStreamPath() + "audio");
+
+        yield return www;
+
+        if (string.IsNullOrEmpty(www.error))
+        {
+            Audio = www.assetBundle;
+        }
+        else
+        {
+            Debug.Log(www.error);
+        }
+    }
+
+    public static IEnumerator LoadDefaul()
+    {
+        WWW www = new WWW(GetStreamPath() + "default");
+
+        yield return www;
+
+        if (string.IsNullOrEmpty(www.error))
+        {
+            Defaul = www.assetBundle;
+        }
+        else
+        {
+            Debug.Log(www.error);
+        }
+    }
+
+    public static IEnumerator LoadEffect()
+    {
+        WWW www = new WWW(GetStreamPath() + "effect");
+
+        yield return www;
+
+        if (string.IsNullOrEmpty(www.error))
+        {
+            Effect = www.assetBundle;
+        }
+        else
+        {
+            Debug.Log(www.error);
+        }
+    }
+
+    public static IEnumerator LoadScene()
+    {
+        WWW www = new WWW(GetStreamPath() + "scene");
+
+        yield return www;
+
+        if (string.IsNullOrEmpty(www.error))
+        {
+            Scene = www.assetBundle;
+        }
+        else
+        {
+            Debug.Log(www.error);
+        }
+    }
+
+    public static IEnumerator LoadDiscard()
+    {
+        WWW www = new WWW(GetStreamPath() + "discard");
+
+        yield return www;
+
+        if (string.IsNullOrEmpty(www.error))
+        {
+            Discard = www.assetBundle;
+        }
+        else
+        {
+            Debug.Log(www.error);
+        }
+    }
+
+    public static IEnumerator LoadPlazaRoom()
+    {
+        WWW www = new WWW(GetStreamPath() + "plazaroom");
+
+        yield return www;
+
+        if (string.IsNullOrEmpty(www.error))
+        {
+            PlazaRoom = www.assetBundle;
+        }
+        else
+        {
+            Debug.Log(www.error);
+        }
+    }
+
+
+    private static int CopyCount = 0;
+    public static void CopyAssetBundles()
+    {
+        string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+        if (!Directory.Exists(persistentFolderPath))
+        {
+            Directory.CreateDirectory(persistentFolderPath);
+        }
+        string streamingFolder;
+        if (Application.platform == RuntimePlatform.IPhonePlayer)
+        {
+            streamingFolder = "IOS";
+        }
+        else if (Application.platform == RuntimePlatform.Android)
+        {
+            streamingFolder = "Android";
+        }
+        else
+        {
+            streamingFolder = "Windows";
+        }
+        foreach (var assetBundleName in HotUpdateAssetBundleNames)
+        {
+            if (!File.Exists(persistentFolderPath + Path.DirectorySeparatorChar + assetBundleName))
+            {
+                CopyCount++;
+                Initializer.Instance.StartCoroutine
+                (
+                    LoadAssetBundleFromStream
+                    (
+                        streamingFolder,
+                        assetBundleName,
+                        www =>
+                        {
+                            File.WriteAllBytes(persistentFolderPath + Path.DirectorySeparatorChar + assetBundleName, www.bytes);
+                            CopyOneAssetBundleFinish();
+                        }
+                    )
+                );
+            }
+        }
+    }
+
+    private static void CopyOneAssetBundleFinish()
+    {
+        CopyCount--;
+    }
+
+    public static IEnumerator LoadAssetBundleFromStream(string folder, string name, Action<WWW> callback)
+    {
+        WWW www = new WWW(GetStreamingUrlPath() + Path.DirectorySeparatorChar + "Bundle" + Path.DirectorySeparatorChar + folder + Path.DirectorySeparatorChar + "HotUpdate" + Path.DirectorySeparatorChar + name);
+        yield return www;
+        if (string.IsNullOrEmpty(www.error))
+        {
+            callback.Invoke(www);
+        }
+        else
+        {
+            Debug.Log(www.error);
+            Initializer.DebugText.text = www.error;
+            Initializer.DebugText.SetActive(true);
+            Initializer.DebugText.enabled = true;
+        }
+    }
+
+    public static int UpdateAmt;
+    public static int UpdateFinishAmt;
+    public static bool UpdateAssetBundles()
+    {
+        //Debug.Log(HttpManager.Md5);
+        //Debug.Log(HttpManager.Md5Dictionnary);
+        //Debug.Log(HttpManager.AssetbundleUrl);
+        try
+        {
+            Initializer.DebugText.text = "U0";
+            if (Initializer.Instance.DebugMode)
+            {
+                SkipUpdateForDebugMode();
+                return false;
+            }
+
+            Initializer.DebugText.text = "U1";
+            string persistentFolderPath = string.Format("{0}{1}HotUpdate", Application.persistentDataPath, Path.DirectorySeparatorChar);
+
+            Initializer.DebugText.text = "U2";
+            List<AssetBundleSet> assetBundleSets = AssetBundleUtility.GetAssetBundleSetsFromFolders
+            (
+                persistentFolderPath
+            );
+            Initializer.DebugText.text = "U3";
+            string localMD5 = AssetBundleUtility.GetMD5OfAssetBundleSets(assetBundleSets);
+            bool needUpdate; 
+            if (string.IsNullOrEmpty(HttpManager.Md5) || string.IsNullOrEmpty(HttpManager.Md5Dictionnary) || string.IsNullOrEmpty(HttpManager.AssetbundleUrl))
+            {
+                needUpdate = false;
+                Debug.LogWarning(string.Format("NeedUpdate : {0} connection error", needUpdate));
+            }
+            else
+            {
+                //Debug.Log(localMD5);
+                //Debug.Log(HttpManager.Md5);
+                needUpdate = localMD5 != HttpManager.Md5;
+                Debug.LogWarning(string.Format("NeedUpdate : {0}", needUpdate));
+            }
+            //if (Application.isEditor || Application.isMobilePlatform)
+            //{
+            //    needUpdate = false;
+            //}
+            AssetBundleUtility.OnDownloadOrUpdateFinish += FinishDownloadAndLoad;
+            if (needUpdate)
+            {
+                Initializer.DebugText.text = "U4";
+                UpdateAmt = AssetBundleUtility.UpdateAllAssetBundle
+                (
+                    HttpManager.Md5Dictionnary,
+                    persistentFolderPath,
+                    assetBundleSets,
+                    DownloadAllAssetBundleSucceed,
+                    DownloadAllAssetBundleFailed,
+                    DownloadAssetBundleSucceed,
+                    DownloadAssetBundleFailed
+                );
+                UpdatePanel.Show();
+                UpdatePanel.SetProgress(UpdateAmt, 0);
+            }
+            else
+            {
+                Initializer.DebugText.text = "U5";
+                AssetBundleUtility.LoadAllAssetBundle
+                (
+                    assetBundleSets,
+                    DownloadAllAssetBundleSucceed,
+                    DownloadAllAssetBundleFailed,
+                    DownloadAssetBundleSucceed,
+                    DownloadAssetBundleFailed
+                );
+            }
+            return false;
+        }
+        catch (Exception)
+        {
+            Initializer.EnableDebugLab();
+            return true;
+        }
+    }
+
+    private static void FinishDownloadAndLoad()
+    {
+        try
+        {
+            Initializer.DebugText.text = "01";
+            //NewDressroomConfigs = ConfigManager.GetDressRoomConfig(NewDressConfig.LoadAsset<TextAsset>(ResourceLabel.NewDressroomConfig));
+
+            Initializer.DebugText.text = "02";
+            TextAsset[] textAssets = NewDressSke.LoadAllAssets<TextAsset>();
+            foreach (var textAsset in textAssets)
+            {
+                UnityFactory.factory.LoadDragonBonesData(textAsset);
+            }
+
+            Initializer.DebugText.text = "03";
+            textAssets = NewDressTex.LoadAllAssets<TextAsset>();
+            Texture2D[] textures = NewDressTex.LoadAllAssets<Texture2D>();
+            for (int i = 0; i < textAssets.Length; i++)
+            {
+                ResourceManager.ObjectDictionary.Add(textures[i].name, textures[i]);
+                UnityFactory.factory.LoadTextureAtlasData(textAssets[i], textures[i].name);
+            }
+
+            Initializer.DebugText.text = "04";
+            Sprite[] sprites = NewDressTex.LoadAllAssets<Sprite>();
+            for (int i = 0; i < sprites.Length; i++)
+            {
+                PlayerManager.CloseSpriteDictionary.Add(sprites[i].name, sprites[i]);
+                ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
+            }
+
+            Initializer.DebugText.text = "051";
+            TextAsset language = Config.LoadAsset<TextAsset>(ResourceLabel.English);
+            XmlDocument document = new XmlDocument();
+            document.LoadXml(language.text);
+            Language.AddLanguageDocument(CurrentLanguage.English, document);
+
+            Initializer.DebugText.text = "061";
+            language = Config.LoadAsset<TextAsset>(ResourceLabel.ChineseSimplified);
+            document = new XmlDocument();
+            document.LoadXml(language.text);
+            Language.AddLanguageDocument(CurrentLanguage.ChineseSimplified, document);
+
+            Initializer.DebugText.text = "071";
+            language = Config.LoadAsset<TextAsset>(ResourceLabel.ChineseTraditional);
+            document = new XmlDocument();
+            document.LoadXml(language.text);
+            Language.AddLanguageDocument(CurrentLanguage.ChineseTraditional, document);
+
+            //Initializer.DebugText.text = "052";
+            //language = NewLanguage.LoadAsset<TextAsset>(ResourceLabel.NewEnglish);
+            //document = new XmlDocument();
+            //document.LoadXml(language.text);
+            //Language.AddLanguageDocument(CurrentLanguage.English, document);
+
+            //Initializer.DebugText.text = "062";
+            //language = NewLanguage.LoadAsset<TextAsset>(ResourceLabel.NewChineseSimplified);
+            //document = new XmlDocument();
+            //document.LoadXml(language.text);
+            //Language.AddLanguageDocument(CurrentLanguage.ChineseSimplified, document);
+
+            //Initializer.DebugText.text = "072";
+            //language = NewLanguage.LoadAsset<TextAsset>(ResourceLabel.NewChineseTraditional);
+            //document = new XmlDocument();
+            //document.LoadXml(language.text);
+            //Language.AddLanguageDocument(CurrentLanguage.ChineseTraditional, document);
+
+            Initializer.DebugText.text = "08";
+            //NewFlowerConfigs = ConfigManager.GetFlowerConfig(NewFlowerConfig.LoadAsset<TextAsset>(ResourceLabel.NewFlowerConfig));
+
+            Initializer.DebugText.text = "09";
+            sprites = NewFlowerTex.LoadAllAssets<Sprite>();
+            for (int i = 0; i < sprites.Length; i++)
+            {
+                ResourceManager.ObjectDictionary.UniqueAdd(sprites[i].name, sprites[i]);
+            }
+
+            UpdateComplete = true;
+
+            DelayCall.Call(1f, UpdatePanel.Hide);
+        }
+        catch (Exception e)
+        {
+            Debug.Log(e);
+            Initializer.DebugText.text += e.ToString();
+            Initializer.EnableDebugLab();
+        }
+    }
+
+    public static void DownloadAllAssetBundleSucceed()
+    {
+        //Debug.Log("succeed");
+    }
+
+    public static void DownloadAllAssetBundleFailed()
+    {
+        Debug.Log("failed");
+    }
+
+    public static void DownloadAssetBundleSucceed(AssetBundleSet assetBundleSet, bool isDownload)
+    {
+        //Debug.Log(assetBundleSet.AssetBundle.name);
+        //if (assetBundleSet.Name == ResourceLabel.NewDressConfig)
+        //{
+        //    NewDressConfig = assetBundleSet.AssetBundle;
+        //}
+        if (assetBundleSet.Name == ResourceLabel.NewDressSke)
+        {
+            NewDressSke = assetBundleSet.AssetBundle;
+        }
+        else if (assetBundleSet.Name == ResourceLabel.NewDressTex)
+        {
+            NewDressTex = assetBundleSet.AssetBundle;
+        }
+        else if (assetBundleSet.Name == ResourceLabel.Config)
+        {
+            Config = assetBundleSet.AssetBundle;
+        }
+        //else if (assetBundleSet.Name == ResourceLabel.NewLanguage)
+        //{
+        //    NewLanguage = assetBundleSet.AssetBundle;
+        //}
+        //else if (assetBundleSet.Name == ResourceLabel.NewFlowerConfig)
+        //{
+        //    NewFlowerConfig = assetBundleSet.AssetBundle;
+        //}
+        else if (assetBundleSet.Name == ResourceLabel.NewFlowerTex)
+        {
+            NewFlowerTex = assetBundleSet.AssetBundle;
+        }
+
+        if (isDownload)
+        {
+            UpdateFinishAmt++;
+            UpdatePanel.SetProgress(UpdateAmt, UpdateFinishAmt);
+        }
+    }
+
+    public static void DownloadAssetBundleFailed(AssetBundleSet assetBundleSet, string error)
+    {
+        Debug.Log(assetBundleSet.Name + "  " + error);
+        string path = assetBundleSet.PersistentPath;
+        path = path.Replace("/", Path.DirectorySeparatorChar.ToString());
+        path = path.Replace("\\", Path.DirectorySeparatorChar.ToString());
+        path = path.Replace("\\\\", Path.DirectorySeparatorChar.ToString());
+        path = "file://" + path;
+        WWW www = new WWW(path);
+        AssetBundleSet bundleSet = new AssetBundleSet();
+        bundleSet.Name = assetBundleSet.Name;
+        bundleSet.AssetBundle = www.assetBundle;
+        DownloadAssetBundleSucceed(bundleSet, false);
+
+        //string str = Language.GetStr(LanguageLabel.UI__AJ_UpdateFailed, Application.systemLanguage) + "    "  + error;
+        //UpdatePanel.SetContent(str);
+
+        //Initializer.DebugText.text = assetBundleSet.Name;
+        //Initializer.DebugText.text += error;
+        //Initializer.EnableDebugLab();
+    }
+
+    public static void SkipUpdateForDebugMode()
+    {
+        //NewDressroomConfigs = ConfigManager.GetDressRoomConfig(Instance.NewDressConfigList[0] as TextAsset);
+
+        foreach (var textAsset in Instance.NewDressSkeList)
+        {
+            UnityFactory.factory.LoadDragonBonesData(textAsset as TextAsset);
+        }
+
+        for (int i = 0; i < Instance.NewDressTexList.Count; i++)
+        {
+            TextAsset textAsset = Instance.NewDressTexConfigList[i] as TextAsset;
+            Texture2D texture = Instance.NewDressTexList[i] as Texture2D;
+            ResourceManager.ObjectDictionary.Add(texture.name, texture);
+            UnityFactory.factory.LoadTextureAtlasData(textAsset, texture.name);
+        }
+
+        for (int i = 0; i < Instance.NewDressSpriteList.Count; i++)
+        {
+            Sprite sprite = Instance.NewDressSpriteList[i] as  Sprite;
+            PlayerManager.CloseSpriteDictionary.Add(sprite.name, sprite);
+            ResourceManager.ObjectDictionary.UniqueAdd(sprite.name, sprite);
+        }
+
+        for (int i = 0; i < Instance.ConfigList.Count; i++)
+        {
+            TextAsset textAsset = Instance.ConfigList[i] as TextAsset;
+            if (textAsset.name == ResourceLabel.English)
+            {
+                XmlDocument document = new XmlDocument();
+                document.LoadXml(textAsset.text);
+                Language.AddLanguageDocument(CurrentLanguage.English, document);
+            }
+            else if (textAsset.name == ResourceLabel.ChineseSimplified)
+            {
+                XmlDocument document = new XmlDocument();
+                document.LoadXml(textAsset.text);
+                Language.AddLanguageDocument(CurrentLanguage.ChineseSimplified, document);
+            }
+            else if (textAsset.name == ResourceLabel.ChineseTraditional)
+            {
+                XmlDocument document = new XmlDocument();
+                document.LoadXml(textAsset.text);
+                Language.AddLanguageDocument(CurrentLanguage.ChineseTraditional, document);
+            }
+        }
+
+        for (int i = 0; i < Instance.DefaultList.Count; i++)
+        {
+            TextAsset textAsset = Instance.ConfigList[i] as TextAsset;
+            if (textAsset.name == ResourceLabel.English)
+            {
+                XmlDocument document = new XmlDocument();
+                document.LoadXml(textAsset.text);
+                Language.AddLanguageDocument(CurrentLanguage.English, document);
+            }
+            else if (textAsset.name == ResourceLabel.ChineseSimplified)
+            {
+                XmlDocument document = new XmlDocument();
+                document.LoadXml(textAsset.text);
+                Language.AddLanguageDocument(CurrentLanguage.ChineseSimplified, document);
+            }
+            else if (textAsset.name == ResourceLabel.ChineseTraditional)
+            {
+                XmlDocument document = new XmlDocument();
+                document.LoadXml(textAsset.text);
+                Language.AddLanguageDocument(CurrentLanguage.ChineseTraditional, document);
+            }
+        }
+
+        //NewFlowerConfigs = ConfigManager.GetDressRoomConfig(Instance.NewFlowerConfigList[0] as TextAsset);
+
+        foreach (var obj in Instance.NewFlowerSpriteList)
+        {
+            Sprite sprite = obj as  Sprite;
+            ResourceManager.ObjectDictionary.UniqueAdd(sprite.name, sprite);
+        }
+
+        UpdateComplete = true;
+    }
 }

+ 0 - 1
ProjectSettings/GraphicsSettings.asset

@@ -39,7 +39,6 @@ GraphicsSettings:
   - {fileID: 4800000, guid: ac390d8200b91bd419e2d7b9e580d07d, type: 3}
   - {fileID: 4800000, guid: e73e8e8cfe7b2344abcbf572918e22a1, type: 3}
   - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
-  - {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0}
   m_PreloadedShaders: []
   m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
     type: 0}

+ 3 - 3
ProjectSettings/ProjectSettings.asset

@@ -125,7 +125,7 @@ PlayerSettings:
     16:10: 1
     16:9: 1
     Others: 1
-  bundleVersion: 1.3.2
+  bundleVersion: 1.3.3
   preloadedAssets: []
   metroInputSource: 0
   m_HolographicPauseOnTrackingLoss: 1
@@ -156,8 +156,8 @@ PlayerSettings:
     iOS: com.dashgame.garden
     tvOS: com.dashgame.garden
   buildNumber:
-    iOS: 18
-  AndroidBundleVersionCode: 26
+    iOS: 19
+  AndroidBundleVersionCode: 27
   AndroidMinSdkVersion: 16
   AndroidTargetSdkVersion: 24
   AndroidPreferredInstallLocation: 1

Some files were not shown because too many files changed in this diff