Browse Source

Update 5.31

LiuQilin 8 years ago
parent
commit
96cd5adfc0
55 changed files with 937 additions and 875 deletions
  1. BIN
      .vs/MyLovelyGarden/v14/.suo
  2. 2 2
      Assets/Advertisements/Editor/Resources/Android/builds.meta
  3. 3 3
      Assets/Advertisements/Editor/Resources/Android/builds.zip.meta
  4. 9 0
      Assets/Advertisements/Editor/Resources/iOS.meta
  5. 7 0
      Assets/Plugins/ShareSDK/iOS.meta
  6. 7 0
      Assets/Plugins/iOS.meta
  7. BIN
      Assets/Resource/Logo.unity
  8. 11 11
      Assets/Resource/XML/Config/ability_config.xml
  9. 3 3
      Assets/Resource/XML/Config/pack_config.xml
  10. 11 11
      Assets/Resource/XML/Config/signin_config.xml
  11. 5 5
      Assets/Resource/XML/Config/skill_config.xml
  12. 4 1
      Assets/Resource/XML/Config/visit_config.xml
  13. 0 32
      Assets/Resource/XML/Config/生成存档方案.txt
  14. 1 1
      Assets/Resource/XML/PlayerConfig.xml
  15. 2 1
      Assets/Resource/XML/lan/ChineseSimplified.xml
  16. 1 0
      Assets/Resource/XML/lan/ChineseTraditional.xml
  17. 1 0
      Assets/Resource/XML/lan/English.xml
  18. BIN
      Assets/Resource/Xlsx/language_config.xlsx
  19. BIN
      Assets/Resource/Xlsx/pack_config.xlsx
  20. BIN
      Assets/Resource/Xlsx/visit_config.xlsx
  21. 9 2
      Assets/Script/Extension/ExtensionList.cs
  22. 21 0
      Assets/Script/Extension/ExtensionUnityAction.cs
  23. 12 3
      Assets/Script/Interface/Regist.cs
  24. 1 1
      Assets/Script/Manage/Initializer.cs
  25. 8 1
      Assets/Script/Manage/ManaAnim.cs
  26. 4 4
      Assets/Script/Manage/ManaCenter.cs
  27. 11 197
      Assets/Script/Manage/ManaData.cs
  28. 5 5
      Assets/Script/Manage/ManaGarden.cs
  29. 9 0
      Assets/Script/Manage/ManaIAP.cs
  30. 8 1
      Assets/Script/Manage/ManaReso.cs
  31. 8 1
      Assets/Script/Manage/ManaServer.cs
  32. 8 1
      Assets/Script/Manage/ManaUI.cs
  33. 141 51
      Assets/Script/Manage/ManaVisit.cs
  34. 38 29
      Assets/Script/Object/Drop.cs
  35. 1 6
      Assets/Script/Object/DropDiamond.cs
  36. 1 0
      Assets/Script/Object/DropGold.cs
  37. 16 7
      Assets/Script/Object/Effect.cs
  38. 8 1
      Assets/Script/Object/Elf.cs
  39. 63 39
      Assets/Script/Object/Flower.cs
  40. 13 21
      Assets/Script/Object/Garden.cs
  41. 8 1
      Assets/Script/Object/Player.cs
  42. 33 33
      Assets/Script/Object/Skill/Ability.cs
  43. 111 127
      Assets/Script/Object/Skill/BigSkill.cs
  44. 93 57
      Assets/Script/Object/Skill/Pack.cs
  45. 112 124
      Assets/Script/Object/Skill/Skill.cs
  46. 21 20
      Assets/Script/Object/Skill/SkillRoot.cs
  47. 20 28
      Assets/Script/Object/Slot.cs
  48. 8 1
      Assets/Script/Object/Tutorial.cs
  49. 15 2
      Assets/Script/Tool/Auxiliary.cs
  50. 8 1
      Assets/Script/Tool/SceneMask.cs
  51. 8 1
      Assets/Script/Tool/UI/Bubble.cs
  52. 8 1
      Assets/Script/Tool/UI/HudText.cs
  53. 8 1
      Assets/Script/Tool/UI/Toast.cs
  54. 26 23
      MyLovelyGarden.sln
  55. 6 15
      ToList.txt

BIN
.vs/MyLovelyGarden/v14/.suo


+ 2 - 2
Assets/Extension.meta → Assets/Advertisements/Editor/Resources/Android/builds.meta

@@ -1,7 +1,7 @@
 fileFormatVersion: 2
-guid: b948198483a8b93419206e81215060f3
+guid: 8d2d384f78b29a44a9c70c3daf45d1cb
 folderAsset: yes
-timeCreated: 1496150477
+timeCreated: 1494301205
 licenseType: Pro
 DefaultImporter:
   userData: 

+ 3 - 3
Assets/Resource/XML/Config/生成存档方案.txt.meta → Assets/Advertisements/Editor/Resources/Android/builds.zip.meta

@@ -1,8 +1,8 @@
 fileFormatVersion: 2
-guid: 1b6b77c23f3cad9439f19dd4e94a9280
-timeCreated: 1495011405
+guid: 9cb5c3e4dd0dd574ba655453ad15edfa
+timeCreated: 1494301205
 licenseType: Pro
-TextScriptImporter:
+DefaultImporter:
   userData: 
   assetBundleName: 
   assetBundleVariant: 

+ 9 - 0
Assets/Advertisements/Editor/Resources/iOS.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a5e10dc911691a844b899edb78584282
+folderAsset: yes
+timeCreated: 1494301205
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 7 - 0
Assets/Plugins/ShareSDK/iOS.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: db9454787e4284fa9899244d3663dcd4
+folderAsset: yes
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 7 - 0
Assets/Plugins/iOS.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 091987eeef9232240963d4755d7ea67e
+folderAsset: yes
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Resource/Logo.unity


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

@@ -1,16 +1,16 @@
 <data>
   <item id="1" name="花园" class="1" class_id="1" coin_person="5" person="1" skill_cd="" unlock_lv="" unlock_ahead_cur="" unlock_ahead_amt="" 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="30" unlock_ahead_cur="2" unlock_ahead_amt="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,Rainbow" label="" />
-  <item id="3" name="玉树樱花" class="1" class_id="6" coin_person="5%" person="" skill_cd="" unlock_lv="100" unlock_ahead_cur="2" unlock_ahead_amt="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,Tree1,Tree2" label="" />
-  <item id="4" name="滴哩哩的小黄鹂" class="1" class_id="7" coin_person="" person="" skill_cd="5%" unlock_lv="150" unlock_ahead_cur="2" unlock_ahead_amt="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,Bird0" label="" />
-  <item id="5" name="黄色小蜜蜂" class="2" class_id="1" coin_person="2.46" person="" skill_cd="" unlock_lv="10" unlock_ahead_cur="1" unlock_ahead_amt="1" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="1" upgrade_amnt="800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-黄色蜜蜂" anim="Elf,BeeYellow" label="" />
-  <item id="6" name="紫色小蜜蜂" class="2" class_id="2" coin_person="7.09" person="" skill_cd="" unlock_lv="50" unlock_ahead_cur="" unlock_ahead_amt="" unlock_cur="" unlock_amnt="" unlock_pos="1" 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,BeePurple" label="" />
-  <item id="7" name="蓝色小蜜蜂" class="2" class_id="3" coin_person="24.65" person="" skill_cd="" unlock_lv="100" unlock_ahead_cur="" unlock_ahead_amt="" unlock_cur="" unlock_amnt="" 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,BeeBlue" label="" />
-  <item id="8" name="红色小蜜蜂" class="2" class_id="4" coin_person="82.15" person="" skill_cd="" unlock_lv="150" unlock_ahead_cur="" unlock_ahead_amt="" unlock_cur="" unlock_amnt="" 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,BeeRed" label="" />
-  <item id="9" name="白色小蜜蜂" class="2" class_id="5" coin_person="326.79" person="" skill_cd="" unlock_lv="200" unlock_ahead_cur="" unlock_ahead_amt="" 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,BeeWhite" label="" />
-  <item id="10" name="黄色小蝴蝶" class="2" class_id="6" coin_person="7.09" person="" skill_cd="" unlock_lv="50" unlock_ahead_cur="2" unlock_ahead_amt="100" unlock_cur="" unlock_amnt="" 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,ButterflyYellow" label="" />
-  <item id="11" name="紫色小蝴蝶" class="2" class_id="7" coin_person="24.65" person="" skill_cd="" unlock_lv="100" unlock_ahead_cur="2" unlock_ahead_amt="100" unlock_cur="" unlock_amnt="" 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,ButterflyPurple" label="" />
-  <item id="12" name="蓝色小蝴蝶" class="2" class_id="8" coin_person="82.15" person="" skill_cd="" unlock_lv="150" unlock_ahead_cur="2" unlock_ahead_amt="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,ButterflyBlue" 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_amt="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,Rainbow" 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_amt="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,Tree1,Tree2" 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_amt="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,Bird0" 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_amt="" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="1" upgrade_amnt="800" upgrade_fml="a*1.07" upgrade_plus="2%" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-黄色蜜蜂" anim="Elf,BeeYellow" 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_amt="" unlock_cur="" unlock_amnt="" unlock_pos="1" 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,BeePurple" 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_amt="" unlock_cur="" unlock_amnt="" 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,BeeBlue" 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_amt="" unlock_cur="" unlock_amnt="" 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,BeeRed" 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_amt="" 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,BeeWhite" 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_amt="100" unlock_cur="" unlock_amnt="" 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,ButterflyYellow" 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_amt="100" unlock_cur="" unlock_amnt="" 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,ButterflyPurple" 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_amt="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,ButterflyBlue" label="" />
   <item id="13" name="红色小蝴蝶" class="2" class_id="9" coin_person="326.79" person="" skill_cd="" unlock_lv="200" unlock_ahead_cur="2" unlock_ahead_amt="100" unlock_cur="" unlock_amnt="" 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,ButterflyRed" label="" />
   <item id="14" name="白色小蝴蝶" class="2" class_id="10" coin_person="1387.22" person="" skill_cd="" unlock_lv="250" unlock_ahead_cur="2" unlock_ahead_amt="100" unlock_cur="" unlock_amnt="" 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,ButterflyWhite" label="" />
   <comment>

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

@@ -2,9 +2,9 @@
   <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="" />
   <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="" />
   <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="" />
-  <item id="4" name="新手礼包" class="4" class_id="2" coin_person="50%" person="" skill_cd="" coin="" diamond="500" flower="10" use_lv="" use_cur="3" use_amnt="6" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-初级包" anim="" label="" />
-  <item id="5" name="中级礼包" class="4" class_id="3" coin_person="50%" person="" skill_cd="" coin="" diamond="2000" flower="11" use_lv="" use_cur="3" use_amnt="30" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-中级包" anim="" label="" />
-  <item id="6" name="高级礼包" class="4" class_id="4" coin_person="50%" person="" skill_cd="" coin="" diamond="4000" flower="12" use_lv="" use_cur="3" use_amnt="68" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-高级包" anim="" label="" />
+  <item id="4" name="新手礼包" class="4" class_id="2" coin_person="50%" person="" skill_cd="" coin="" diamond="500" flower="25,26 300,400  " use_lv="" use_cur="3" use_amnt="6" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-初级包" anim="" label="" />
+  <item id="5" name="中级礼包" class="4" class_id="3" coin_person="50%" person="" skill_cd="" coin="" diamond="2000" flower="26 350" use_lv="" use_cur="3" use_amnt="30" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-中级包" anim="" label="" />
+  <item id="6" name="高级礼包" class="4" class_id="4" coin_person="50%" person="" skill_cd="" coin="" diamond="4000" flower="27 400" use_lv="" use_cur="3" use_amnt="68" desc="获得[&amp;flower&amp;],[&amp;diamond&amp;]钻石&#xA;所有金币产出提升[&amp;coin_person&amp;],永久有效" icon="蓝-高级包" anim="" label="" />
   <item id="7" name="钻石100" class="4" class_id="5" coin_person="" person="" skill_cd="" coin="" diamond="100" flower="" use_lv="" use_cur="3" use_amnt="6" desc="购买 [&amp;diamond&amp;]钻石" icon="蓝-免费钻" anim="" label="" />
   <item id="8" name="钻石500 赠送50" class="4" class_id="6" coin_person="" person="" skill_cd="" coin="" diamond="550" flower="" use_lv="" use_cur="3" use_amnt="30" desc="共计 [&amp;diamond&amp;]钻石" icon="蓝-免费钻" anim="" label="热卖" />
   <item id="9" name="钻石2000 赠送500" class="4" class_id="7" coin_person="" person="" skill_cd="" coin="" diamond="2500" flower="" use_lv="" use_cur="3" use_amnt="68" desc="共计 [&amp;diamond&amp;]钻石" icon="蓝-小量钻石" anim="" label="超值" />

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

@@ -1,25 +1,25 @@
 <data>
-  <item id="1" flower="" diamond="" coin="1000" rate="1" />
+  <item id="1" flower="" diamond="" coin="800" rate="1" />
   <item id="2" flower="" diamond="" coin="1500" rate="1" />
-  <item id="3" flower="" diamond="" coin="1500" rate="1" />
-  <item id="4" flower="" diamond="" coin="2500" rate="1" />
-  <item id="5" flower="" diamond="" coin="2500" rate="1" />
+  <item id="3" flower="" diamond="" coin="1800" rate="1" />
+  <item id="4" flower="" diamond="" coin="2000" rate="1" />
+  <item id="5" flower="" diamond="" coin="2200" rate="1" />
   <item id="6" flower="" diamond="" coin="2500" rate="1" />
   <item id="7" flower="" diamond="100" coin="" rate="" />
-  <item id="8" flower="" diamond="" coin="3000" rate="1" />
+  <item id="8" flower="" diamond="" coin="2800" rate="1" />
   <item id="9" flower="" diamond="" coin="3000" rate="1" />
-  <item id="10" flower="" diamond="" coin="4000" rate="1" />
+  <item id="10" flower="" diamond="" coin="3500" rate="1" />
   <item id="11" flower="" diamond="" coin="4000" rate="1" />
-  <item id="12" flower="" diamond="" coin="5000" rate="1" />
+  <item id="12" flower="" diamond="" coin="4500" rate="1" />
   <item id="13" flower="" diamond="" coin="5000" rate="1" />
   <item id="14" flower="" diamond="200" coin="" rate="" />
-  <item id="15" flower="" diamond="" coin="6000" rate="1" />
+  <item id="15" flower="" diamond="" coin="5800" rate="1" />
   <item id="16" flower="" diamond="" coin="6000" rate="1" />
-  <item id="17" flower="" diamond="" coin="7000" rate="1" />
+  <item id="17" flower="" diamond="" coin="6500" rate="1" />
   <item id="18" flower="" diamond="" coin="7000" rate="1" />
-  <item id="19" flower="" diamond="" coin="8000" rate="1" />
+  <item id="19" flower="" diamond="" coin="7500" rate="1" />
   <item id="20" flower="" diamond="" coin="8000" rate="1" />
-  <item id="28" flower="21,22,23,24,25,26,27" diamond="400" coin="" rate="" />
+  <item id="21" flower="21,22,23,24,25,26,27" diamond="400" coin="" rate="" />
   <comment>
     <id>
 id

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

@@ -1,11 +1,11 @@
 <data>
-  <item id="1" name="人潮涌动" class="1" class_id="2" skill_index="1" reduce_cd="1" coin_person="1" person="1" coin_once="" diamond_once="" skill_cd="" duration="10" cd="10" unlock_lv="" unlock_ahead_cur="" unlock_ahead_amt="" 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="20000%" diamond_once="" skill_cd="" duration="" cd="3600" unlock_lv="50" unlock_ahead_cur="2" unlock_ahead_amt="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="150" unlock_ahead_cur="2" unlock_ahead_amt="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="80" unlock_ahead_cur="2" unlock_ahead_amt="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="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_amt="" 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="20000%" diamond_once="" skill_cd="" duration="" cd="3600" unlock_lv="25" unlock_ahead_cur="2" unlock_ahead_amt="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_amt="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_amt="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="500%" diamond_once="" skill_cd="" duration="" cd="900" unlock_lv="" unlock_ahead_cur="" unlock_ahead_amt="" 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="10" skill_cd="" duration="" cd="900" unlock_lv="" unlock_ahead_cur="" unlock_ahead_amt="" 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="50" unlock_ahead_cur="" unlock_ahead_amt="" 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="" />
+  <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_amt="" 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

+ 4 - 1
Assets/Resource/XML/Config/visit_config.xml

@@ -1,5 +1,5 @@
 <data>
-  <item id="1" award_rate="0.5" award_min="1" award_max="l*1.5" cool_time="5" cost="5+l*0.8" create="0.75" />
+  <item id="1" award_rate="0.5" award_min="1" award_max="l*1.5" cool_time="5" cost="5+l*0.8" create="0.75" fancy="0.25" />
   <comment>
     <id>
 id
@@ -22,5 +22,8 @@ id
     <create>
 用代码生成花园的概率
 </create>
+    <fancy>
+生成漂亮花园的概率
+</fancy>
   </comment>
 </data>

+ 0 - 32
Assets/Resource/XML/Config/生成存档方案.txt

@@ -1,32 +0,0 @@
-»¨¶ä
-
-Player
-
-PlantList
-
-
-Ability5 10
-
-Ability6 50
-
-Ability10 50
-
-Rainbow 50
-
-Ability7 100
-
-Ability11 100
-
-Tree150
-
-Ability8 150
-
-Ability12 150
-
-Ability9 200
-
-Ability13 200
-
-Bird0 300
-
-Ability14 300 

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

@@ -1,5 +1,5 @@
 <PlayerConfig>
-  <Version value="419" />
+  <Version value="423" />
 
   <ID value="Default" />
 ////  <TutorialA value="0" />

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

@@ -144,7 +144,7 @@
     <Pack1 desc=""><![CDATA[立即获得金币[&coin&]]]></Pack1>
     <Pack2 desc=""><![CDATA[立即获得金币[&coin&]]]></Pack2>
     <Pack3 desc=""><![CDATA[立即获得金币[&coin&]]]></Pack3>
-    <Pack4 desc=""><![CDATA[获得[&flower&],[&diamond&]钻石
+    <Pack4 desc=""><![CDATA[获得[&flower&]或[&replace&],[&diamond&]钻石
 所有金币产出提升[&coin_person&],永久有效]]></Pack4>
     <Pack5 desc=""><![CDATA[获得[&flower&],[&diamond&]钻石
 所有金币产出提升[&coin_person&],永久有效]]></Pack5>
@@ -184,6 +184,7 @@
     <SlotSign desc=""><![CDATA[未开垦]]></SlotSign>
   </Object>
   <Common>
+    <Diamond desc=""><![CDATA[钻石]]></Diamond>
     <Confirm desc=""><![CDATA[确定]]></Confirm>
     <Cancel desc=""><![CDATA[取消]]></Cancel>
     <AD desc=""><![CDATA[观看]]></AD>

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

@@ -184,6 +184,7 @@
     <SlotSign desc=""><![CDATA[未開墾]]></SlotSign>
   </Object>
   <Common>
+    <Diamond desc=""><![CDATA[鉆石]]></Diamond>
     <Confirm desc=""><![CDATA[確定]]></Confirm>
     <Cancel desc=""><![CDATA[取消]]></Cancel>
     <AD desc=""><![CDATA[觀看]]></AD>

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

@@ -184,6 +184,7 @@ Increase all Coin prudoction by [&coin_person&](permanently)]]></Pack6>
     <SlotSign desc=""><![CDATA[Locked]]></SlotSign>
   </Object>
   <Common>
+    <Diamond desc=""><![CDATA[Diamond]]></Diamond>
     <Confirm desc=""><![CDATA[Confirm]]></Confirm>
     <Cancel desc=""><![CDATA[Cancel]]></Cancel>
     <AD desc=""><![CDATA[Watch]]></AD>

BIN
Assets/Resource/Xlsx/language_config.xlsx


BIN
Assets/Resource/Xlsx/pack_config.xlsx


BIN
Assets/Resource/Xlsx/visit_config.xlsx


+ 9 - 2
Assets/Script/Extension/ExtensionList.cs

@@ -5,9 +5,16 @@ using System.Collections.Generic;
 
 public static class ExtensionList
 {
-    public static T Last<T>(this List<T> list, int index)
+    public static T Last<T>(this List<T> list, int index, bool remove = false)
     {
-        return list[list.Count - 1 - index];
+        T t = list[list.Count - 1 - index];
+
+        if (remove)
+        {
+            list.RemoveAt(list.Count - 1 - index);
+        }
+
+        return t;
     }
 
     public static T Prev<T>(this List<T> list, int index)

+ 21 - 0
Assets/Script/Extension/ExtensionUnityAction.cs

@@ -20,4 +20,25 @@ public static class ExtensionUnityAction
             action.Invoke(t);
         }
     }
+
+
+    public static UnityAction PushEvent(this UnityAction unityAction, UnityAction action)
+    {
+        return action + unityAction;
+    }
+
+    public static UnityAction AddEventOnetime(this UnityAction unityAction, UnityAction action)
+    {
+        action += () =>
+        {
+            unityAction -= action;
+        };
+
+        return unityAction += action;
+    }
+
+    public static UnityAction PushEventOnetime(this UnityAction unityAction, UnityAction action)
+    {
+        return null;
+    }
 }

+ 12 - 3
Assets/Script/Interface/Regist.cs

@@ -6,7 +6,7 @@ public class Regist : MonoBehaviour
 {
     #region 变量
 
-    
+    public bool RegistLock = false;
 
     #endregion
 
@@ -16,9 +16,18 @@ public class Regist : MonoBehaviour
     }
 
 
-    public virtual void RegistImmed()
+    public virtual bool RegistImmed()
     {
-        
+        if (RegistLock)
+        {
+            return true;
+        }
+        else
+        {
+            RegistLock = true;
+
+            return false;
+        }
     }
 
     public virtual void RegistValueA()

+ 1 - 1
Assets/Script/Manage/Initializer.cs

@@ -107,7 +107,7 @@ public class Initializer : MonoBehaviour
         Complete = true;
         
         ManaCenter.LoginCallbackInitial(new JsonData());
-
+        
         ManaIAP.Initialize();
 
         ManaVisit.Initialize();

+ 8 - 1
Assets/Script/Manage/ManaAnim.cs

@@ -104,8 +104,13 @@ public class ManaAnim : Regist
     }
 
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         TimerFunctionDic.Add(Curve.Linear, LinearTimer);
         TimerFunctionDic.Add(Curve.EaseOutQuad, EaseOutQuadTimer);
 
@@ -126,6 +131,8 @@ public class ManaAnim : Regist
 
         CurveFuncDicV.Add(Curve.Linear, Linear);
         CurveFuncDicV.Add(Curve.EaseOutQuad, EaseOutQuad);
+
+        return false;
     }
 
 

+ 4 - 4
Assets/Script/Manage/ManaCenter.cs

@@ -133,7 +133,7 @@ public class ManaCenter : Regist
                 SkillList[i].UpdateStatus();
             }
 
-            if (Level_ >= 20)
+            if (Level_ >= 18)
             {
                 if (ManaTutorial.TutorialC_)
                 {
@@ -711,7 +711,7 @@ public class ManaCenter : Regist
 
             for (int j = 0; j < TempUseList[i].Count; j++)
             {
-                TempUseList[i][j].Annul();
+                TempUseList[i][j].AnnulA();
 
                 TempCoolList.Add(TempUseList[i][j]);
             }
@@ -919,7 +919,7 @@ public class ManaCenter : Regist
             }
         }
 
-
+        
         RegistSkill();
         RegistIncome();
 
@@ -950,7 +950,7 @@ public class ManaCenter : Regist
 
 
         Complete = true;
-
+        
         Level = Level;
     }
 

+ 11 - 197
Assets/Script/Manage/ManaData.cs

@@ -40,16 +40,8 @@ public class ManaData
                 XmlDocument nativeDoc = new XmlDocument();
                 XmlDocument bundleDoc = new XmlDocument();
 
-
-                string iconPath = Application.persistentDataPath + "/ICON2.png";
                 string configPath = Application.persistentDataPath + "/PlayerConfig.xml";
 
-                if (!File.Exists(iconPath))
-                {
-                    Texture2D texture2D = ManaReso.Load<Texture2D>("ICON2", Folder.UI);
-
-                    File.WriteAllBytes(iconPath, texture2D.EncodeToPNG());
-                }
 
                 if (File.Exists(configPath))
                 {
@@ -104,9 +96,9 @@ public class ManaData
 
                             MD5 md5 = new MD5CryptoServiceProvider();
 
-                            if (PlayerPrefs.GetString("config") != Encoding.UTF8.GetString(md5.ComputeHash(bytes)))
+                            if (PlayerPrefs.GetString("config") != Auxiliary.ToString(md5.ComputeHash(bytes)))
                             {
-                                Debug.Log("Damage");
+                                Debug.LogWarning("Damage");
                                 ManaDebug.Log("Damage");
 
                                 DamageLock = true;
@@ -153,7 +145,7 @@ public class ManaData
             MD5 md5 = new MD5CryptoServiceProvider();
 
             PlayerPrefs.SetString("id", ManaServer.ID);
-            PlayerPrefs.SetString("config", Encoding.UTF8.GetString(md5.ComputeHash(bytes)));
+            PlayerPrefs.SetString("config", Auxiliary.ToString(md5.ComputeHash(bytes)));
 
 
             Debug.Log(PlayerDoc.OuterXml);
@@ -346,6 +338,11 @@ public class ManaData
 
     public static void SavePlantList()
     {
+        if (ManaVisit.InVisit)
+        {
+            return;
+        }
+
         XmlAttributeCollection attribute = PlayerNode.SelectSingleNode("PlantList").Attributes;
 
         attribute[0].Value = "";
@@ -421,194 +418,11 @@ public class ManaData
     }
 
 
-    public static void ResetSkillList()
-    {
-        XmlNode xmlNode;
-        XmlAttribute xmlAttribute;
-
-        xmlNode = PlayerNode.SelectSingleNode("SkillList");
-        xmlNode.RemoveAll();
-
-        for (int i = 0; i < ManaCenter.SkillList.Count; i++)
-        {
-            if (ManaCenter.SkillList[i].SkillType == SkillType.Skill)
-            {
-                #region Skill
-
-                Skill skill = (Skill)ManaCenter.SkillList[i];
-
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = skill.ID;
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
-                xmlAttribute.Value = skill.SkillType.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ItemStatus"));
-                xmlAttribute.Value = SkillStatus.Lock.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("Level"));
-                xmlAttribute.Value = "0";
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("CoolTimer"));
-                xmlAttribute.Value = "0";
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("UseTimer"));
-                xmlAttribute.Value = "0";
-
-                xmlNode = PlayerNode.SelectSingleNode("SkillList");
-
-                #endregion
-            }
-            else if (ManaCenter.SkillList[i].SkillType == SkillType.Pack)
-            {
-                #region Pack
-
-                Pack pack = (Pack)ManaCenter.SkillList[i];
-
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = pack.ID;
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
-                xmlAttribute.Value = pack.SkillType.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ItemStatus"));
-                xmlAttribute.Value = SkillStatus.Lock.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("Level"));
-                xmlAttribute.Value = "0";
-
-                xmlNode = PlayerNode.SelectSingleNode("SkillList");
-
-                #endregion
-            }
-            else if (ManaCenter.SkillList[i].SkillType == SkillType.Ability)
-            {
-                #region Ability
-
-                Ability ability = (Ability)ManaCenter.SkillList[i];
-
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = ability.ID;
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
-                xmlAttribute.Value = ability.SkillType.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ItemStatus"));
-                xmlAttribute.Value = SkillStatus.Lock.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("Level"));
-                xmlAttribute.Value = "0";
-
-                xmlNode = PlayerNode.SelectSingleNode("SkillList");
-
-                #endregion
-            }
-            else if (ManaCenter.SkillList[i].SkillType == SkillType.BigSkill)
-            {
-                #region BigSkill
-
-                BigSkill bigSkill = (BigSkill)ManaCenter.SkillList[i];
-
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = bigSkill.ID;
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
-                xmlAttribute.Value = bigSkill.SkillType.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ItemStatus"));
-                xmlAttribute.Value = SkillStatus.Lock.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("BarStatus"));
-                xmlAttribute.Value = SkillStatus.UnLock.ToString();
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("Level"));
-                xmlAttribute.Value = "0";
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("CoolTimer"));
-                xmlAttribute.Value = "0";
-
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("UseTimer"));
-                xmlAttribute.Value = "0";
-
-                xmlNode = PlayerNode.SelectSingleNode("SkillList");
-
-                #endregion
-            }
-        }
-    }
-
-    public static void ResetAchieve()
-    {
-        XmlNode xmlNode = PlayerNode.SelectSingleNode("AchieveList");
-        xmlNode.Attributes[0].Value = "";
-
-        PlayerNode.SelectSingleNode("AchieveData").Attributes[0].Value = "0";
-        PlayerNode.SelectSingleNode("AchieveData").Attributes[1].Value = "0";
-        PlayerNode.SelectSingleNode("AchieveData").Attributes[2].Value = "0";
-        PlayerNode.SelectSingleNode("AchieveData").Attributes[3].Value = "0";
-        PlayerNode.SelectSingleNode("AchieveData").Attributes[4].Value = "0";
-        PlayerNode.SelectSingleNode("AchieveData").Attributes[5].Value = "0";
-        PlayerNode.SelectSingleNode("AchieveData").Attributes[6].Value = "0";
-        PlayerNode.SelectSingleNode("AchieveData").Attributes[7].Value = "0";
-    }
-
-    public static void ResetPlantList()
-    {
-        XmlNode xmlNode = PlayerNode.SelectSingleNode("PlantList");
-
-        xmlNode.Attributes[0].Value = "";
-    }
-
-    public static void ResetCommon()
-    {
-        PlayerNode.SelectSingleNode("SignTime").Attributes[0].Value = "4/22/2017 09:30:00 AM";
-        PlayerNode.SelectSingleNode("SignIndex").Attributes[0].Value = "1";
-        PlayerNode.SelectSingleNode("SignRound").Attributes[0].Value = "1";
-
-        PlayerNode.SelectSingleNode("Coin").Attributes[0].Value = "0";
-        PlayerNode.SelectSingleNode("Diamond").Attributes[0].Value = "0";
-
-        PlayerNode.SelectSingleNode("ID").Attributes[0].Value = "Default";
-        PlayerNode.SelectSingleNode("Player").Attributes[0].Value = "PlayerBlond";
-        PlayerNode.SelectSingleNode("Language").Attributes[0].Value = "ChineseSimplified";
-        PlayerNode.SelectSingleNode("CircleTimer").Attributes[0].Value = "10";
-
-        PlayerNode.SelectSingleNode("QuitFlag").Attributes[0].Value = "1";
-        PlayerNode.SelectSingleNode("QuitTime").Attributes[0].Value = "4/22/2017 09:30:00 AM";
-
-        PlayerNode.SelectSingleNode("MiniTimer").Attributes[0].Value = "0";
-        PlayerNode.SelectSingleNode("MiniGameIndex").Attributes[0].Value = "0";
-
-        PlayerNode.SelectSingleNode("TutorialA").Attributes[0].Value = "1";
-        PlayerNode.SelectSingleNode("TutorialB").Attributes[0].Value = "1";
-        PlayerNode.SelectSingleNode("TutorialC").Attributes[0].Value = "1";
-        PlayerNode.SelectSingleNode("TutorialIndexA").Attributes[0].Value = "1";
-        PlayerNode.SelectSingleNode("TutorialIndexB").Attributes[0].Value = "1";
-        PlayerNode.SelectSingleNode("TutorialIndexC").Attributes[0].Value = "1";
-    }
-
-    public static void ResetFlowerList()
-    {
-        XmlAttribute attribute = PlayerNode.SelectSingleNode("FlowerList").Attributes[0];
-
-        attribute.Value = "1";
-    }
-
     public static void ResetPlayerConfig()
     {
-        ResetSkillList();
-        ResetAchieve();
-        ResetPlantList();
-        ResetCommon();
-        ResetFlowerList();
+        PlayerNode.SelectSingleNode("Version").Attributes[0].Value = "0";
+
+        SavePlayerConfig();
 
         ManaCenter.SaveLock = true;
     }

+ 5 - 5
Assets/Script/Manage/ManaGarden.cs

@@ -179,7 +179,7 @@ public class ManaGarden : Regist
 
         for (int i = 0; i < SlotList.Count; i++)
         {
-            SlotList[i].Valid = false;
+            SlotList[i].Lock = false;
             SlotList[i].Available = false;
 
             DestroyImmediate(SlotList[i]);
@@ -270,11 +270,11 @@ public class ManaGarden : Regist
     {
         for (int i = 0; i < SlotList.Count; i++)
         {
-            if (SlotList[i].Valid)
+            if (SlotList[i].Lock)
             {
                 Slot--;
 
-                SlotList[i].Valid = false;
+                SlotList[i].Lock = false;
                 SlotList[i].Available = false;
 
                 return;
@@ -288,11 +288,11 @@ public class ManaGarden : Regist
     {
         for (int i = 0; i < SlotList.Count; i++)
         {
-            if (SlotList[i].Valid == false)
+            if (SlotList[i].Lock == false)
             {
                 Slot++;
                 
-                SlotList[i].Valid = true;
+                SlotList[i].Lock = true;
                 SlotList[i].Available = true;
                 
                 if (Slot%9 == 7)

+ 9 - 0
Assets/Script/Manage/ManaIAP.cs

@@ -30,6 +30,15 @@ public class ManaIAP : MonoBehaviour, IStoreListener
     {
         get
         {
+            string iconPath = Application.persistentDataPath + "/ICON2.png";
+
+            if (!File.Exists(iconPath))
+            {
+                Texture2D texture2D = ManaReso.Load<Texture2D>("ICON2", Folder.UI);
+
+                File.WriteAllBytes(iconPath, texture2D.EncodeToPNG());
+            }
+
             return Application.persistentDataPath + "/ICON2.png";
         }
     }

+ 8 - 1
Assets/Script/Manage/ManaReso.cs

@@ -102,8 +102,13 @@ public class ManaReso : Regist
 
     #endregion
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         Instance = this;
 
         Transform objPool = new GameObject("ObjPool").transform;
@@ -115,6 +120,8 @@ public class ManaReso : Regist
 
         CoroLoad = StartCoroutine(IAsyncLoad());
         CoroInstantiate = StartCoroutine(IAsyncInstancitate());
+
+        return false;
     }
 
 

+ 8 - 1
Assets/Script/Manage/ManaServer.cs

@@ -103,9 +103,16 @@ public class ManaServer : Regist
         }
     }
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         enabled = true;
+
+        return false;
     }
 
 

+ 8 - 1
Assets/Script/Manage/ManaUI.cs

@@ -51,9 +51,16 @@ public class ManaUI : Regist
     }
 
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         Transform = transform;
+
+        return false;
     }
 
     public override void RegistValueA()

+ 141 - 51
Assets/Script/Manage/ManaVisit.cs

@@ -15,11 +15,10 @@ public class ManaVisit
     #region 配置
 
     public static int Cost;
-    public static int LevelMin;
-    public static int LevelMax;
     public static int CoolTime;
     public static int AwardMin;
     public static int AwardMax;
+    public static float FancyRate;
     public static float AwardRate;
     public static float CreateRate;
 
@@ -55,8 +54,10 @@ public class ManaVisit
         AwardMax = Mathf.CeilToInt((float)Auxiliary.FmlParse(attribute[3].Value, "l", ManaCenter.Level.ToString()));
 
         CoolTime = int.Parse(attribute[4].Value);
+        FancyRate = float.Parse(attribute[7].Value);
         AwardRate = float.Parse(attribute[1].Value);
-        
+        CreateRate = float.Parse(attribute[6].Value);
+
         #region 倒计时
 
         if (CoolTime != 0)
@@ -164,12 +165,12 @@ public class ManaVisit
         {
             if (i < ManaGarden.Slot)
             {
-                ManaGarden.SlotList[i].Valid = true;
+                ManaGarden.SlotList[i].Lock = true;
                 ManaGarden.SlotList[i].Available = true;
             }
             else
             {
-                ManaGarden.SlotList[i].Valid = false;
+                ManaGarden.SlotList[i].Lock = false;
                 ManaGarden.SlotList[i].Available = false;
             }
         }
@@ -410,6 +411,8 @@ public class ManaVisit
         if (!InVisit)
         {
             OriginPlantList = new List<Slot>(ManaGarden.PlantList);
+
+            ManaData.SavePlantList();
         }
 
         ManaGarden.RetriveFlowerAll();
@@ -437,12 +440,12 @@ public class ManaVisit
         {
             if (i < Slot)
             {
-                ManaGarden.SlotList[i].Valid = true;
+                ManaGarden.SlotList[i].Lock = true;
                 ManaGarden.SlotList[i].Available = true;
             }
             else
             {
-                ManaGarden.SlotList[i].Valid = false;
+                ManaGarden.SlotList[i].Lock = false;
                 ManaGarden.SlotList[i].Available = false;
             }
         }
@@ -522,70 +525,157 @@ public class ManaVisit
         //    }
         //);
 
+        if (Random.Range(0f, 1f) <= CreateRate)
+        {
+            XmlDocument document = new XmlDocument();
 
-        ManaServer.RandomLoad
-        (
-            (jsonData) =>
-            {
-                LoadComplete = true;
+            document.LoadXml(ManaData.PlayerDoc.OuterXml);
 
-                XmlStr = jsonData["l"].ToString();
 
-                Enter();
-            }
-        );
+            WriteArchive(document);
+
 
+            LoadComplete = true;
 
-        //if (Random.Range(0f, 1f) <= CreatePosi)
-        //{
-        //    XmlDocument document = new XmlDocument();
+            XmlStr = document.OuterXml;
+
+            Enter();
+        }
+        else
+        {
+            ManaServer.RandomLoad
+            (
+                (jsonData) =>
+                {
+                    LoadComplete = true;
+
+                    XmlStr = jsonData["l"].ToString();
+
+                    Enter();
+                }
+            );
+        }
+    }
 
-        //    document.LoadXml(ManaData.PlayerDoc.OuterXml);
+    public static void WriteArchive(XmlDocument doc)
+    {
+        bool fancy;
 
+        if (Random.Range(0f, 1f) < FancyRate)
+        {
+            fancy = true;
+        }
+        else
+        {
+            fancy = false;
+        }
 
-        //    document.SelectSingleNode("Level").Value = ((int) Mathf.Lerp(LevelMin, LevelMax, Random.Range(0f, 1f))).ToString();
 
-        //    #region 生成技能数据
+        int slot = 1;
 
-        //    List<int> intList = new List<int>() {19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
+        int newLevel = Random.Range(1, 300);
+        
+        XmlNodeList nodeList = doc.SelectSingleNode("PlayerConfig").SelectSingleNode("SkillList").ChildNodes;
 
-        //    int tempInt = (int)Mathf.Lerp(6, 12, Random.Range(0f, 1f));
+        for (int i = 0; i < nodeList.Count; i++)
+        {
+            SkillType type = nodeList[i].Attributes[1].Value.ToEnum<SkillType>();
 
-        //    XmlNodeList nodeList = document.SelectNodes("Skill");
+            if (type == SkillType.Ability)
+            {
+                Ability ability = (Ability) ManaCenter.SkillDic[nodeList[i].Attributes[0].Value];
 
-        //    for (int i = 0; i < tempInt; i++)
-        //    {
-        //        nodeList[intList.Random(true)].Attributes[3].Value = "1";
-        //    }
+                int unlockLevel = ability.UnlockLv;
 
-        //    for (int i = 0; i < intList.Count; i++)
-        //    {
-        //        nodeList[intList.Random(true)].Attributes[3].Value = "0";
-        //    }
+                if (newLevel >= unlockLevel)
+                {
+                    if (ability.ID_ >= 6)
+                    {
+                        slot++;
+                    }
+
+                    nodeList[i].Attributes[2].Value = "Upgrade";
+                    nodeList[i].Attributes[3].Value = newLevel.ToString();
+                }
+                else
+                {
+                    nodeList[i].Attributes[2].Value = "Lock";
+                    nodeList[i].Attributes[3].Value = "0";
+                }
+            }
+        }
+
+
+        List<int> flowerList = new List<int>();
+
+        for (int i = 2; i < 21; i++)
+        {
+            flowerList.Add(i);
+        }
+
+        for (int i = 27; i >= 21; i--)
+        {
+            flowerList.Add(i);
+        }
+
+        if (!fancy)
+        {
+            slot = Mathf.CeilToInt(slot/2f);
+        }
+
+        int slotIndex = 0;
+        string plantList = "";
 
-        //    #endregion
+        for (int i = 0; i < slot; i++)
+        {
+            if (fancy || Random.Range(0f, 1f) >= 0.25f)
+            {
+                int flowerID;
+
+                if (i == 0)
+                {
+                    flowerID = 1;
+                }
+                else if (i < 8)
+                {
+                    flowerID = flowerList.Last(i - 1, true);
+                }
+                else
+                {
+                    if (fancy)
+                    {
+                        flowerID = flowerList.Random(true);
+                    }
+                    else
+                    {
+                        break;
+                    }
+                }
 
+                plantList += string.Format("{0},{1} ", flowerID, slotIndex);
+
+                slotIndex++;
+            }
+        }
 
-        //    LoadFinish = true;
+        plantList = plantList.TrimEnd(' ');
 
-        //    XmlStr = document.OuterXml;
+        doc.SelectSingleNode("PlayerConfig").SelectSingleNode("PlantList").Attributes[0].Value = plantList;
 
-        //    Enter();
-        //}
-        //else
-        //{
-        //    ManaServer.Load
-        //    (
-        //        "hsoiv1",
-        //        (jsonData) =>
-        //        {
-        //            LoadFinish = true;
 
-        //            XmlStr = jsonData.ToJson();
+        float rate = Random.Range(0f, 1f);
 
-        //            Enter();
-        //        }
-        //    );
-        //}
+        if (rate < 0.33f)
+        {
+            doc.SelectSingleNode("PlayerConfig").SelectSingleNode("Player").Attributes[0].Value = "PlayerPink";
+        }
+        else if (rate < 0.66f)
+        {
+            doc.SelectSingleNode("PlayerConfig").SelectSingleNode("Player").Attributes[0].Value = "PlayerBlond";
+        }
+        else
+        {
+            doc.SelectSingleNode("PlayerConfig").SelectSingleNode("Player").Attributes[0].Value = "PlayerBrown";
+        }
     }
 }

+ 38 - 29
Assets/Script/Object/Drop.cs

@@ -10,72 +10,81 @@ public class Drop : Regist,IPointerClickHandler
 
     public float Timer;
     public float Speed;
-    public bool Move;
+    public bool MoveLock;
 
     #endregion
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         enabled = true;
 
-        transform.CreateTweenSr(new Color(1, 1, 1, 1), new Color(1, 1, 1, 0), 0.25f, true, false, Curve.EaseOutQuad);
-        TweenRoot tween = transform.CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(1.2f, 1.2f, 1.2f), 0.25f, true, false, Curve.EaseOutQuad);
+        transform.CreateTweenSr(1, 0, 0.25f, true, false, Curve.EaseOutQuad);
+
+        TweenRoot tween = transform.CreateTweenScale(0.8f, 1.2f, 0.25f, true, false, Curve.EaseOutQuad);
 
         tween.OnForwardFinish += () =>
         {
             ManaReso.Save(this);
         };
+
+        return false;
     }
 
-    private void FixedUpdate()
-    {
-        Timer += Time.fixedDeltaTime;
 
-        if (Timer > 5)
-        {
-            Retrieve();
+    public void Retrieve()
+    {
+        MoveLock = false;
 
-            ManaMiniGame.DropList.Remove(this);
-        }
+        transform.TweenForSr();
+        transform.TweenForScale();
 
-        if (Move)
-        {
-            if (!ManaMiniGame.Pause)
-            {
-                transform.Translate(Vector3.down * Time.fixedDeltaTime * Speed);
-            }
-        }
+        transform.SetCollider(false);
     }
 
-
     public void ResetStatus()
     {
-        Move = true;
+        MoveLock = true;
 
         Timer = 0;
         Speed = Random.Range(3f, 5f);
         transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
 
-        transform.GetTweenSr().InOrigin = true;
-        GetComponent<SpriteRenderer>().SetAlpha(1);
         transform.SetCollider(true);
+
+        transform.GetTweenSr().InOrigin = true;
     }
 
-    public void Retrieve()
+    public void FixedUpdate()
     {
-        Move = false;
+        Timer += Time.fixedDeltaTime;
 
-        transform.TweenForSr();
-        transform.TweenForScale();
+        if (Timer > 5)
+        {
+            Retrieve();
 
-        transform.SetCollider(false);
+            ManaMiniGame.DropList.Remove(this);
+        }
+
+        if (MoveLock)
+        {
+            if (!ManaMiniGame.Pause)
+            {
+                transform.Translate(Vector3.down * Time.fixedDeltaTime * Speed);
+            }
+        }
     }
 
+
     public virtual void OnPointerClick(PointerEventData eventData)
     {
         ManaAudio.PlayClip(Clip.CurrentClip);
 
-        Move = false;
+        MoveLock = false;
 
         transform.TweenForSr();
         transform.TweenForScale();

+ 1 - 6
Assets/Script/Object/DropDiamond.cs

@@ -6,17 +6,12 @@ using System.Collections.Generic;
 
 public class DropDiamond : Drop
 {
-    #region 变量
-    
-    
-    
-    #endregion
-
     public override void OnPointerClick(PointerEventData eventData)
     {
         base.OnPointerClick(eventData);
 
         int diamond = Random.Range(1, 6);
+
         Award.BonusDiamond += diamond;
 
         ManaReso.GetHudText("+" + diamond, Color.white, 90, transform, ManaReso.Get("D_Status"), true);

+ 1 - 0
Assets/Script/Object/DropGold.cs

@@ -17,6 +17,7 @@ public class DropGold : Drop
         base.OnPointerClick(eventData);
 
         int coin = Mathf.CeilToInt((float) Auxiliary.FmlParse(CoinFml, "l", Mathf.Clamp(ManaCenter.Level, 1, Mathf.Infinity).ToString(), "r", Random.Range(0f, 1f).ToString()));
+
         Award.BonusCoin += coin;
 
         ManaReso.GetHudText("+" + coin, Color.white, 90, transform, ManaReso.Get("D_Status"), true);

+ 16 - 7
Assets/Script/Object/Effect.cs

@@ -2,19 +2,28 @@
 
 using System.Collections;
 
-public class Effect : Regist 
+public class Effect : MonoBehaviour 
 {
     #region 变量
 
-    public ParticleSystem ParticleSystem;
-
-    #endregion
-
-    public void Awake()
+    public ParticleSystem ParticleSystem
     {
-        ParticleSystem = GetComponent<ParticleSystem>();
+        get
+        {
+            if (ParticleSystem_ == null)
+            {
+                ParticleSystem_ = GetComponent<ParticleSystem>();
+            }
+
+            return ParticleSystem;
+        }
+        set { ParticleSystem = value; }
     }
 
+    public ParticleSystem ParticleSystem_;
+
+    #endregion
+
     private void Update()
     {
         if (!ParticleSystem.isPlaying)

+ 8 - 1
Assets/Script/Object/Elf.cs

@@ -21,9 +21,16 @@ public class Elf : Regist
     }
 
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         Root = transform.parent;
         Animator = GetComponent<Animator>();
+
+        return false;
     }
 }

+ 63 - 39
Assets/Script/Object/Flower.cs

@@ -24,12 +24,12 @@ public class FlowerInfo
 
     public bool Plant
     {
-        get { return _Plant; }
+        get { return Plant_; }
         set
         {
-            _Plant = value;
+            Plant_ = value;
 
-            if (_Plant)
+            if (Plant_)
             {
                 Text.SetActive(true);
 
@@ -45,12 +45,12 @@ public class FlowerInfo
     }
     public bool Unlock
     {
-        get { return _Unlock; }
+        get { return Unlock_; }
         set
         {
-            _Unlock = value;
+            Unlock_ = value;
 
-            if (_Unlock)
+            if (Unlock_)
             {
                 Image.material = null;
 
@@ -71,23 +71,22 @@ public class FlowerInfo
                 }
 
                 ManaCenter.SkillPlus += 0.1f;
-
-                ManaDebug.Log(string.Format("获得<color=red>{0}</color> 收入<color=red>+10%</color>", Name));
             }
         }
     }
-    public string Name
+
+    public string ID
     {
         get
         {
-            return Language.GetStr("FlowerName", ID);
+            return "Flower" + ID_;
         }
     }
-    public string ID
+    public string Name
     {
         get
         {
-            return "Flower" + ID_;
+            return Language.GetStr("FlowerName", ID);
         }
     }
     public string Description
@@ -101,9 +100,10 @@ public class FlowerInfo
     }
 
     public int ID_;
-    public bool _Plant;
-    public bool _Unlock;
+    public bool Plant_;
+    public bool Unlock_;
     public string Icon_;
+
     public bool Special;
 
     public Slot Slot;
@@ -131,12 +131,10 @@ public class FlowerInfo
         ID_ = int.Parse(attribute[0].Value);
         Icon_ = attribute[3].Value;
 
+
         Image.sprite = Icon;
 
-        Vector2 newSize = Icon.rect.size;
-        newSize.x *= 0.2f;
-        newSize.y *= 0.2f;
-        Image.rectTransform.sizeDelta = newSize;
+        Image.Resize(0.2f, 0.2f);
 
         Button.onClick.AddListener
         (
@@ -209,7 +207,6 @@ public class Flower : Regist, IPointerClickHandler
             }
         }
     }
-
     public Sprite RipSprite
     {
         get
@@ -247,19 +244,29 @@ public class Flower : Regist, IPointerClickHandler
     private FlowerInfo FlowerInfo_;
 
     public int ID;
-    public static string CoinFml;
+
     public Slot Slot;
     public Animator ParticleAC;
+
     public Transform GoldBk;
     public Transform GoldIcon;
+
     public List<Transform> ElfList = new List<Transform>();
 
-    private Dictionary<string, Transform> ChildDic = new Dictionary<string, Transform>();
+    public Dictionary<string, Transform> ChildDic = new Dictionary<string, Transform>();
+
+
+    public static string CoinFml;
 
     #endregion
-    
-    public override void RegistImmed()
+
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         enabled = true;
 
         Auxiliary.CompileDic(transform, ChildDic);
@@ -273,25 +280,18 @@ public class Flower : Regist, IPointerClickHandler
         OperateOutline = ChildDic["OperateOutline1"].GetComponent<SpriteRenderer>();
 
 
-        GoldBk.CreateTweenSr(new Color(1, 1, 1, 0), new Color(1, 1, 1, 1), 1f, false, true, Curve.EaseOutQuad);
-        GoldIcon.CreateTweenSr(new Color(1, 1, 1, 0), new Color(1, 1, 1, 1), 1f, false, true, Curve.EaseOutQuad);
+        GoldBk.CreateTweenSr(0, 1, 1f, false, true, Curve.EaseOutQuad);
+        GoldIcon.CreateTweenSr(0, 1, 1f, false, true, Curve.EaseOutQuad);
 
 
-        TweenRoot tween = FlowerIcon.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, true, true, Curve.EaseOutQuad);
+        TweenRoot tween = FlowerIcon.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, true, true, Curve.EaseOutQuad, false, true);
 
         tween.OnForwardFinish += () =>
         {
             FlowerIcon.TweenBacSr();
         };
 
-        tween = OperateIcon.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, true, true, Curve.EaseOutQuad);
-
-        tween.OnForwardFinish += () =>
-        {
-            OperateIcon.TweenBacSr();
-        };
-
-        tween = OperateBk.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, true, true, Curve.EaseOutQuad);
+        tween = OperateBk.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, true, true, Curve.EaseOutQuad, false, true);
 
         tween.OnForwardFinish += () =>
         {
@@ -307,11 +307,13 @@ public class Flower : Regist, IPointerClickHandler
                 OperateBk.SetActive(true);
             }
         };
+
+        return false;
     }
 
 
     #region MiniGame
-    
+
     public void GameOver()
     {
         OpType = OpType.Null;
@@ -328,6 +330,7 @@ public class Flower : Regist, IPointerClickHandler
         OperateIcon.SetActive(false);
     }
 
+
     public void SetFirstOp()
     {
         OperateBk.TweenForScale();
@@ -357,6 +360,7 @@ public class Flower : Regist, IPointerClickHandler
         OperateOutline.SetActive(false);
     }
 
+
     public void CreateOp(int sequence)
     {
         float random = Random.Range(0f, 1f);
@@ -409,6 +413,7 @@ public class Flower : Regist, IPointerClickHandler
         }
     }
 
+
     public bool Operate(OpType opType)
     {
         if (opType == OpType.Rip)
@@ -424,11 +429,10 @@ public class Flower : Regist, IPointerClickHandler
             ManaReso.Get("D_Fertilize2").TweenForScale();
         }
 
-        if (opType != OpType) //操作错误
+        if (opType != OpType)
         {
             OperateBk.TweenForSr();
             FlowerIcon.TweenForSr();
-            OperateIcon.TweenForSr();
 
             OperateIcon.Shake(0.5f, 3, new Vector3(0.2f, 0, 0), Curve.EaseOutQuad);
 
@@ -436,7 +440,7 @@ public class Flower : Regist, IPointerClickHandler
 
             return false;
         }
-        else //操作正确
+        else
         {
             ManaReso.GetHudText("+15", Color.white, 90, ChildDic["ScorePosTra"], ManaReso.Get("D_Status"), true);
 
@@ -466,6 +470,22 @@ public class Flower : Regist, IPointerClickHandler
         ElfList.Add(ManaReso.GetElf(this, new Vector4(xMin, xMax, yMin, yMax), obj));
     }
 
+    public void Retrieve()
+    {
+        ManaReso.Save(this);
+
+        for (int i = 0; i < ElfList.Count; i++)
+        {
+            ManaReso.Save(ElfList[i]);
+        }
+
+        ElfList = new List<Transform>();
+
+        Award_ = false;
+
+        ResetAward();
+    }
+
     public void PlayParticle()
     {
         ParticleAC.SetTrigger("Play");
@@ -496,6 +516,11 @@ public class Flower : Regist, IPointerClickHandler
 
         ManaReso.GetHudText("+" + coin, Color.white, 90, ChildDic["GoldPosTra"], ManaReso.Get("A_HudParent"), true);
 
+        ResetAward();
+    }
+
+    public void ResetAward()
+    {
         GoldBk.SetActive(false);
 
         GoldBk.GetTweenSr().Pause();
@@ -511,7 +536,6 @@ public class Flower : Regist, IPointerClickHandler
 
         GoldBk.TweenReForSr();
         GoldIcon.TweenReForSr();
-
         
         GoldBk.MoveOffset2D
         (

+ 13 - 21
Assets/Script/Object/Garden.cs

@@ -25,13 +25,16 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
     }
 
     public static int CurPage;
-    public static bool Flag1;
-    public static bool Flag2;
-    public static float Ratio2;
-    public static float Ratio3;
-    public static float Ratio4;
-    public static float SlideSensi;
-    public static float RatioPlayer;
+
+    public static bool Flag1 = true;
+    public static bool Flag2 = true;
+    public static float SlideSensi = 0.1f;
+
+    public static float Ratio2 = 0.25f;
+    public static float Ratio3 = 0.5f;
+    public static float Ratio4 = 0.75f;
+    public static float RatioPlayer = 0.75f;
+
     public static Garden Instance;
     public static Direction Direction;
     public static Transform Player;
@@ -59,18 +62,8 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
     public override void RegistValueA()
     {
-        Flag1 = true;
-        Flag2 = true;
         Instance = this;
 
-        Ratio2 = 0.25f;
-        Ratio3 = 0.5f;
-        Ratio4 = 0.75f;
-        SlideSensi = 0.1f;
-        RatioPlayer = 0.75f;
-
-        #region Garden
-
         #region Item
 
         ManaReso.Get("Bird0").CreateTweenSr(0, 1, 2f, false, true, Curve.EaseOutQuad, false, true);
@@ -118,7 +111,7 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
         #region GardenMini
 
-        tween = ManaReso.Get("GardenMini").CreateTweenVec2D
+        ManaReso.Get("GardenMini").CreateTweenVec2D
         (
             ManaReso.Get("MiniPos").position,
             0.5f,
@@ -145,8 +138,6 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
         };
 
         #endregion
-
-        #endregion
     }
 
     public override void RegistReference()
@@ -311,6 +302,7 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
         }
 
         Flag1 = true;
+
         Direction = Direction.Null;
     }
 
@@ -335,7 +327,7 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
             Slot slot = eventData.rawPointerPress.GetComponent<Slot>();
 
-            if (slot.Valid == false)
+            if (slot.Lock == false)
             {
                 Toast.Show(1.5f, Language.GetStr("Common", "UnlockSlot"));
             }

+ 8 - 1
Assets/Script/Object/Player.cs

@@ -43,11 +43,18 @@ public class Player : Regist
 
     #endregion
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         enabled = true;
 
         Auxiliary.CompileDic(transform, ChildDic);
+
+        return false;
     }
 
 

+ 33 - 33
Assets/Script/Object/Skill/Ability.cs

@@ -20,46 +20,46 @@ public class Ability : SkillRoot
         get { return "Ability" + ID_; }
     }
 
-    protected float Person;
-    protected float SkillCD;
-    protected float CoinPerson;
-    protected double UpgradeAmt;
+    public float Person;
+    public float SkillCD;
+    public float CoinPerson;
+    public double UpgradeAmt;
 
-    protected float Plus;
-    protected float PersonBuff;
-    protected float SkillCdBuff;
+    public float Plus;
+    public float PersonBuff;
+    public float SkillCdBuff;
 
-    protected int UnlockLv;
-    protected float UnlockAmt;
-    protected float UnlockAheadAmt;
-    protected string UnlockPos;
+    public int UnlockLv;
+    public float UnlockAmt;
+    public float UnlockAheadAmt;
+    public string UnlockPos;
 
-    protected Current UnlockCur;
-    protected Current UpgradeCur;
-    protected Current UnlockAheadCur;
+    public Current UnlockCur;
+    public Current UpgradeCur;
+    public Current UnlockAheadCur;
 
-    protected string Label;
-    protected string Anim;
+    public string Label;
+    public string Anim;
 
-    protected string UpgradeCD;
-    protected string UpgradeFml;
-    protected string UpgradePlus;
-    protected string UpgradePerson;
+    public string UpgradeCD;
+    public string UpgradeFml;
+    public string UpgradePlus;
+    public string UpgradePerson;
 
     #endregion
 
-    protected bool ElfLock = true;
+    public bool ElfLock = true;
 
-    protected string Elf;
-    protected string Item;
+    public string Elf;
+    public string Item;
 
-    protected float NewPlus;
-    protected float NewPerson;
-    protected float NewSkillCD;
-    protected float NewSkillCdBuff;
-    protected float NewPersonBuff;
-    protected float NewCoinPerson;
-    protected double NewUpgradeAmt;
+    public float NewPlus;
+    public float NewPerson;
+    public float NewSkillCD;
+    public float NewSkillCdBuff;
+    public float NewPersonBuff;
+    public float NewCoinPerson;
+    public double NewUpgradeAmt;
 
     public SkillStatus ItemStatus
     {
@@ -160,7 +160,7 @@ public class Ability : SkillRoot
     {
         if (Level > 0)
         {
-            Annul();
+            AnnulA();
         }
     }
 
@@ -480,7 +480,7 @@ public class Ability : SkillRoot
 
                 Level++;
 
-                Annul();
+                AnnulA();
 
                 NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString("0.00"));
 
@@ -527,7 +527,7 @@ public class Ability : SkillRoot
     }
 
 
-    public override void Annul()
+    public override void AnnulA()
     {
         ManaCenter.Person -= NewPerson;
         ManaCenter.CoinPerson -= NewCoinPerson;

+ 111 - 127
Assets/Script/Object/Skill/BigSkill.cs

@@ -70,14 +70,7 @@ public class BigSkill : Skill
             }
             else if (ItemStatus_ == SkillStatus.UnLock)
             {
-                if (UnlockCur == Current.Free)
-                {
-                    ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"));
-                }
-                else
-                {
-                    ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"), "\n", ImageParse(UnlockCur), UnlockAmt.ToString("0"));
-                }
+                ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"), "\n", ImageParse(UnlockCur), UnlockAmt.ToString("0"));
             }
             else if (ItemStatus_ == SkillStatus.Upgrade)
             {
@@ -98,20 +91,18 @@ public class BigSkill : Skill
     }
 
 
-    public override void Annul()
+    public override void AnnulA()
     {
         CoolTimer = CD * CdBuff;
 
-        //BarLab.color = Color.white;
-
         BarStatus = SkillStatus.Cool;
 
         ManaCenter.CoolList.Add(this);
 
-        AnnulA();
+        AnnulB();
     }
 
-    public override void AnnulA()
+    public override void AnnulB()
     {
         ManaCenter.SkillPlus -= NewPlus;
         ManaCenter.SkillPerson -= NewPerson;
@@ -119,6 +110,7 @@ public class BigSkill : Skill
         ManaCenter.SkillCoinPerson -= NewCoinPerson;
     }
 
+
     public override bool DoUse()
     {
         UseTimer -= Time.deltaTime;
@@ -129,7 +121,7 @@ public class BigSkill : Skill
 
         if (UseTimer <= 0)
         {
-            Annul();
+            AnnulA();
 
             return true;
         }
@@ -168,7 +160,7 @@ public class BigSkill : Skill
     {
         if (BarStatus == SkillStatus.Use)
         {
-            AnnulA();
+            AnnulB();
 
             ManaCenter.UseList.Remove(this);
         }
@@ -199,44 +191,35 @@ public class BigSkill : Skill
         NewCoinPerson = CoinPerson;
         NewUpgradeAmt = UpgradeAmt;
         NewCoinOnceBuff = CoinOnceBuff;
-        
-        if (SkillTab == SkillTab.Null)
-        {
-            BarBk1.sprite = BarIcon;
 
-            BarBtn.onClick.RemoveAllListeners();
-            BarBtn.onClick.AddListener(Buy);
-        }
-        else
-        {
-            BarBk1.sprite = BarIcon;
 
-            ItemLab.text = GetDescription(0);
+        BarBk1.sprite = BarIcon;
 
-            BarBtn.onClick.RemoveAllListeners();
-            BarBtn.onClick.AddListener(Buy);
+        BarBtn.onClick.RemoveAllListeners();
+        BarBtn.onClick.AddListener(Buy);
+
+        if (SkillTab != SkillTab.Null)
+        {
+            ItemLab.text = GetDescription(0);
 
             ItemBtn.onClick.RemoveAllListeners();
             ItemBtn.onClick.AddListener(OnClick);
 
-            if (Level > 0)
+            for (int i = 0; i < Level - 1; i++)
             {
-                for (int i = 0; i < Level - 1; i++)
-                {
-                    NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
-                }
+                NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
+            }
 
-                UpgradeValue(ref NewPlus, Plus, UpgradePlus, Level - 1);
-                UpgradeSkillCdBuff(ref NewSkillCdBuff, UpgradeCD, Level - 1);
-                UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, Level - 1);
-                UpgradeValue(ref NewCoinOnceBuff, UpgradeCoinOnce, Level - 1);
+            UpgradeValue(ref NewPlus, Plus, UpgradePlus, Level - 1);
+            UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, Level - 1);
+            UpgradeValue(ref NewCoinOnceBuff, UpgradeCoinOnce, Level - 1);
+            UpgradeSkillCdBuff(ref NewSkillCdBuff, UpgradeCD, Level - 1);
 
-                UpgradeValue(ref NewPerson, Person, UpgradePerson, Level - 1);
-                UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, Level - 1);
-                UpgradeValue(ref NewDuration, Duration, UpgradeDuration, Level - 1);
-                UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, Level - 1);
-                UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, Level - 1);
-            }
+            UpgradeValue(ref NewPerson, Person, UpgradePerson, Level - 1);
+            UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, Level - 1);
+            UpgradeValue(ref NewDuration, Duration, UpgradeDuration, Level - 1);
+            UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, Level - 1);
+            UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, Level - 1);
         }
 
         if (BarStatus_ == SkillStatus.Use)
@@ -253,9 +236,9 @@ public class BigSkill : Skill
                     }
                     else
                     {
-                        int ffCircle = 1 + Mathf.FloorToInt((UseTimer - ManaCenter.CircleTimer) / ManaCenter.CircleTime);
+                        int circle = 1 + Mathf.FloorToInt((UseTimer - ManaCenter.CircleTimer) / ManaCenter.CircleTime);
 
-                        useList[ffCircle].UniqueAdd(this);
+                        useList[circle].UniqueAdd(this);
                     }
                 }
             }
@@ -273,7 +256,7 @@ public class BigSkill : Skill
             ManaCenter.CoolList.Add(this);
         }
 
-        if (BarStatus != SkillStatus.UnLock)
+        if (BarStatus_ != SkillStatus.UnLock)
         {
             BarBk1.material = null;
         }
@@ -284,7 +267,7 @@ public class BigSkill : Skill
 
     public override void ReceiveCool(float amt, bool current, bool buff)
     {
-        if (!ReduceCD)
+        if (!CoolLock)
         {
             return;
         }
@@ -361,97 +344,104 @@ public class BigSkill : Skill
         BarBtn = BarBk1.GetComponent<Button>();
     }
 
-    public override void SwitchLanguage()
-    {
-        base.SwitchLanguage();
-
-        ItemStatus = ItemStatus;
-    }
-
 
     protected void Unlock()
     {
-        ManaCenter.Pay(ID, UnlockAmt, UnlockCur, () =>
-        {
-            ManaAudio.PlayClip(Clip.SkillClip);
+        ManaCenter.Pay
+        (
+            ID,
+            UnlockAmt,
+            UnlockCur,
+            () =>
+            {
+                ManaAudio.PlayClip(Clip.SkillClip);
 
-            BarStatus = SkillStatus.Buy;
-            ItemStatus = SkillStatus.Upgrade;
+                BarStatus = SkillStatus.Buy;
+                ItemStatus = SkillStatus.Upgrade;
 
-            Level = 1;
+                Level = 1;
 
-            BarBk1.material = null;
-        });
+                BarBk1.material = null;
+            }
+        );
     }
 
     protected void Upgrade()
     {
-        ManaCenter.Pay(ID, NewUpgradeAmt, UpgradeCur, () =>
-        {
-            ManaAudio.PlayClip(Clip.SkillClip);
+        ManaCenter.Pay
+        (
+            ID,
+            NewUpgradeAmt,
+            UpgradeCur,
+            () =>
+            {
+                ManaAudio.PlayClip(Clip.SkillClip);
 
-            Level++;
+                Level++;
 
-            if (BarStatus == SkillStatus.Use)
-            {
-                AnnulA();
-            }
+                if (BarStatus == SkillStatus.Use)
+                {
+                    AnnulB();
+                }
 
-            NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
+                NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString("0.00"));
 
-            UpgradeValue(ref NewPlus, Plus, UpgradePlus, 1);
-            UpgradeSkillCdBuff(ref NewSkillCdBuff, UpgradeCD, 1);
-            UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
-            UpgradeValue(ref NewCoinOnceBuff, UpgradeCoinOnce, 1);
+                UpgradeValue(ref NewPlus, Plus, UpgradePlus, 1);
+                UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
+                UpgradeValue(ref NewCoinOnceBuff, UpgradeCoinOnce, 1);
+                UpgradeSkillCdBuff(ref NewSkillCdBuff, UpgradeCD, 1);
 
-            UpgradeValue(ref NewPerson, Person, UpgradePerson, 1);
-            UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, 1);
-            UpgradeValue(ref NewDuration, Duration, UpgradeDuration, 1);
-            UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, 1);
-            UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
+                UpgradeValue(ref NewPerson, Person, UpgradePerson, 1);
+                UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, 1);
+                UpgradeValue(ref NewDuration, Duration, UpgradeDuration, 1);
+                UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, 1);
+                UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
 
-            if (BarStatus == SkillStatus.Use)
-            {
-                UseA();
+                if (BarStatus == SkillStatus.Use)
+                {
+                    UseA();
+                }
             }
-        });
+        );
     }
 
 
     protected override void Buy()
     {
-        if (ManaServer.Connect == false)
+        if (!ManaServer.Connect)
         {
             ManaReso.Get("Fg_Reconnect").TweenForCG();
 
             return;
         }
 
-        ManaCenter.Pay(ID, UseAmt, BuyCur, () =>
-        {
-            ManaReso.GetLightwall();
-
-            ManaAudio.PlayClip(Clip.SkillClip);
+        ManaCenter.Pay
+        (
+            ID,
+            UseAmt,
+            BuyCur,
+            () =>
+            {
+                ManaAudio.PlayClip(Clip.SkillClip);
 
-            ManaCenter.SkillAmt++;
+                ManaReso.GetLightwall();
 
-            UseTimer = NewDuration;
+                ManaCenter.SkillAmt++;
 
-            BarStatus = SkillStatus.Use;
+                UseTimer = NewDuration;
 
-            //BarLab.color = Color.blue;
+                BarStatus = SkillStatus.Use;
 
-            UseA();
-            UseB();
+                UseA();
+                UseB();
 
-            ManaInfo.Show(String.Format("{0}{1}", Language.GetStr("UI", "J_Info1"), Language.GetStr("SkillName", ID)), 10f);
-        });
+                ManaInfo.Show(string.Format("{0}{1}", Language.GetStr("UI", "J_Info1"), Language.GetStr("SkillName", ID)), 10f);
+            }
+        );
     }
 
     protected override void UseA()
     {
-        //BarLab.color = Color.blue;
-
         BarBtn.interactable = false;
 
         ManaCenter.UseList.Add(this);
@@ -461,7 +451,7 @@ public class BigSkill : Skill
         ManaCenter.SkillPersonBuff += NewPersonBuff;
         ManaCenter.SkillCoinPerson += NewCoinPerson;
 
-        if (Math.Abs(NewSkillCD) > 0.0005f)
+        if (!NewSkillCD.Equal(0))
         {
             for (int i = 0; i < ManaCenter.SkillList.Count; i++)
             {
@@ -469,7 +459,7 @@ public class BigSkill : Skill
             }
         }
 
-        if (Math.Abs(NewSkillCdBuff) > 0.0005f)
+        if (!NewSkillCdBuff.Equal(0))
         {
             for (int i = 0; i < ManaCenter.SkillList.Count; i++)
             {
@@ -492,6 +482,7 @@ public class BigSkill : Skill
         {
             ManaReso.SetText("Fe_Lab0", "");
             ManaReso.SetText("Fe_Lab1", GetDescription(0));
+
             ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab0"), ImageParse(UnlockAheadCur), UnlockAheadAmt));
 
             ManaReso.SetButtonEvent
@@ -510,14 +501,7 @@ public class BigSkill : Skill
             ManaReso.SetText("Fe_Lab0", "");
             ManaReso.SetText("Fe_Lab1", GetDescription(0));
 
-            if (UnlockCur == Current.Free)
-            {
-                ManaReso.SetText("Fe_BtnLab", string.Format("{0}", Language.GetStr("UI", "Fe_BtnLab1")));
-            }
-            else
-            {
-                ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab1"), ImageParse(UnlockCur), UnlockAmt));
-            }
+            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab1"), ImageParse(UnlockCur), UnlockAmt));
 
             ManaReso.SetButtonEvent
             (
@@ -534,6 +518,7 @@ public class BigSkill : Skill
         {
             ManaReso.SetText("Fe_Lab0", GetDescription(0));
             ManaReso.SetText("Fe_Lab1", GetDescription(1));
+
             ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), Auxiliary.ShrinkNumberStr(NewUpgradeAmt)));
             
             ManaReso.SetButtonEvent
@@ -559,25 +544,24 @@ public class BigSkill : Skill
 
     protected override void UnlockAhead()
     {
-        if (ItemStatus != SkillStatus.Lock)
-        {
-            ManaDebug.Log("您并不需要提前解锁");
-
-            return;
-        }
-
-        ManaCenter.Pay(ID, UnlockAheadAmt, UnlockAheadCur, () =>
-        {
-            if (UnlockCur == Current.Free)
+        ManaCenter.Pay
+        (
+            ID,
+            UnlockAheadAmt,
+            UnlockAheadCur,
+            () =>
             {
-                Unlock();
-            }
-            else
-            {
-                ManaAudio.PlayClip(Clip.SkillClip);
+                if (UnlockCur == Current.Free)
+                {
+                    Unlock();
+                }
+                else
+                {
+                    ManaAudio.PlayClip(Clip.SkillClip);
 
-                ItemStatus = SkillStatus.UnLock;
+                    ItemStatus = SkillStatus.UnLock;
+                }
             }
-        });
+        );
     }
 }

+ 93 - 57
Assets/Script/Object/Skill/Pack.cs

@@ -45,6 +45,9 @@ public class Pack : SkillRoot
     protected string Anim;
     protected string Flower;
 
+    protected string[] Flowers;
+    protected string[] Diamonds;
+
     protected Current BuyCur;
 
     #endregion
@@ -93,12 +96,12 @@ public class Pack : SkillRoot
         Flower = attribute[9].Value;
         CoinFml = attribute[7].Value;
 
-        ItemIndex = Auxiliary.IntParse(attribute[3].Value,0);
         UseAmt = Auxiliary.FloatParse(attribute[12].Value,0);
+        ItemIndex = Auxiliary.IntParse(attribute[3].Value,0);
         DiamondOnce = Auxiliary.FloatParse(attribute[8].Value,0);
         
-        SkillTab = SkillClassParse(attribute[2].Value);
         BuyCur = CurrentParse(attribute[11].Value);
+        SkillTab = SkillClassParse(attribute[2].Value);
         MinUseLv = MinLevelParse(attribute[10].Value);
         MaxUseLv = MaxLevelParse(attribute[10].Value);
 
@@ -106,35 +109,38 @@ public class Pack : SkillRoot
         ValueBuffParse(out SkillCD, out SkillCdBuff, attribute[6].Value);
         ValueBuffParse(out CoinPerson, out Plus, attribute[4].Value);
 
+        if (!string.IsNullOrEmpty(Flower))
+        {
+            Flowers = Flower.Split(' ')[0].Split(',');
+            Diamonds = Flower.Split(' ')[1].Split(',');
+        }
+
         #endregion
 
         SkillType = SkillType.Pack;
     }
 
 
-    public override void Annul()
+    public override void AnnulA()
     {
-        for (int i = 0; i < Level; i++)
-        {
-            ManaCenter.SkillPlus -= Plus;
-            ManaCenter.SkillPerson -= Person;
-            ManaCenter.SkillPersonBuff -= PersonBuff;
-            ManaCenter.SkillCoinPerson -= CoinPerson;
+        ManaCenter.SkillPlus -= Plus;
+        ManaCenter.SkillPerson -= Person;
+        ManaCenter.SkillPersonBuff -= PersonBuff;
+        ManaCenter.SkillCoinPerson -= CoinPerson;
 
-            if (Math.Abs(SkillCD) > 0.0005f)
+        if (!SkillCD.Equal(0))
+        {
+            for (int j = 0; j < ManaCenter.SkillList.Count; j++)
             {
-                for (int j = 0; j < ManaCenter.SkillList.Count; j++)
-                {
-                    ManaCenter.SkillList[j].ReceiveCool(-SkillCD, false, false);
-                }
+                ManaCenter.SkillList[j].ReceiveCool(-SkillCD, false, false);
             }
+        }
 
-            if (Math.Abs(SkillCdBuff) > 0.0005f)
+        if (!SkillCdBuff.Equal(0))
+        {
+            for (int j = 0; j < ManaCenter.SkillList.Count; j++)
             {
-                for (int j = 0; j < ManaCenter.SkillList.Count; j++)
-                {
-                    ManaCenter.SkillList[j].ReceiveCool(-SkillCdBuff, false, true);
-                }
+                ManaCenter.SkillList[j].ReceiveCool(-SkillCdBuff, false, true);
             }
         }
     }
@@ -143,21 +149,21 @@ public class Pack : SkillRoot
     {
         for (int i = 0; i < Level; i++)
         {
-            Annul();
+            AnnulA();
         }
     }
 
     public override void RegistValue(float elapse, List<List<Skill>> useList, XmlAttributeCollection attribute)
     {
         Level = int.Parse(attribute[3].Value);
+        ItemStatus_ = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
+
 
         for (int i = 0; i < Level; i++)
         {
             UseA();
         }
 
-        ItemStatus_ = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
-
         ItemBtn.onClick.RemoveAllListeners();
         ItemBtn.onClick.AddListener(OnClick);
 
@@ -165,9 +171,10 @@ public class Pack : SkillRoot
 
         ManaLan.Add(ItemTit, new LanStr("SkillName", ID));
 
-        ItemStatus = ItemStatus;
 
         ManaIAP.ProductDic.UniqueAdd(ID, PurchaseResult);
+
+        ItemStatus = ItemStatus;
     }
 
     public override void UpdateStatus()
@@ -211,16 +218,18 @@ public class Pack : SkillRoot
     {
         if (!string.IsNullOrEmpty(Flower))
         {
-            string[] strings = Flower.Split(' ');
-
-            for (int i = 0; i < strings.Length; i++)
+            for (int i = 0; i < Flowers.Length; i++)
             {
-                FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic[int.Parse(strings[i])];
+                FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic[int.Parse(Flowers[i])];
 
-                if (flowerInfo.Unlock == false)
+                if (!flowerInfo.Unlock)
                 {
                     flowerInfo.Unlock = true;
                 }
+                else
+                {
+                    ManaCenter.Diamond += int.Parse(Diamonds[i]);
+                }
             }
         }
 
@@ -229,7 +238,7 @@ public class Pack : SkillRoot
         ManaCenter.SkillPersonBuff += PersonBuff;
         ManaCenter.SkillCoinPerson += CoinPerson;
 
-        if (Math.Abs(SkillCD) > 0.0005f)
+        if (!SkillCD.Equal(0))
         {
             for (int i = 0; i < ManaCenter.SkillList.Count; i++)
             {
@@ -237,7 +246,7 @@ public class Pack : SkillRoot
             }
         }
 
-        if (Math.Abs(SkillCdBuff) > 0.0005f)
+        if (!SkillCdBuff.Equal(0))
         {
             for (int i = 0; i < ManaCenter.SkillList.Count; i++)
             {
@@ -256,10 +265,9 @@ public class Pack : SkillRoot
 
         ManaReso.SetSprite("Fe_Icon", ItemIcon.sprite);
 
-        ManaReso.SetText("Fe_Lab0", "");
-
         if (ItemStatus == SkillStatus.Buy)
         {
+            ManaReso.SetText("Fe_Lab0", "");
             ManaReso.SetText("Fe_Lab1", GetDescription(0));
 
             ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab3"), ImageParse(BuyCur), UseAmt));
@@ -286,8 +294,27 @@ public class Pack : SkillRoot
 
     protected void PurchaseResult()
     {
-        UseA();
-        UseB();
+        int tempDiamond = (int) DiamondOnce;
+
+        string tempFlower = "";
+
+        if (!string.IsNullOrEmpty(Flower))
+        {
+            for (int i = 0; i < Flowers.Length; i++)
+            {
+                FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic[int.Parse(Flowers[i])];
+
+                if (flowerInfo.Unlock == false)
+                {
+                    tempFlower += string.Format("{0}{1}{2}    ", Language.GetStr("UI", "J_Info0"), "<(花朵)>", flowerInfo.Name);
+                }
+                else
+                {
+                    tempDiamond += int.Parse(Diamonds[i]);
+                }
+            }
+        }
+
 
         StringBuilder sb = new StringBuilder();
 
@@ -296,26 +323,14 @@ public class Pack : SkillRoot
             sb.AppendFormat("{0}{1}{2}    ", Language.GetStr("UI", "J_Info0"), "<(金币)>", Auxiliary.FmlParse(CoinFml, "l", ManaCenter.Level.ToString(), "c", ManaCenter.CoinPerson.ToString("0.000")).ToString("0"));
         }
 
-        if (!DiamondOnce.Equal(0))
+        if (!tempDiamond.Equal(0))
         {
-            sb.AppendFormat("{0}{1}{2}    ", Language.GetStr("UI", "J_Info0"), "<(钻石)>", DiamondOnce);
+            sb.AppendFormat("{0}{1}{2}    ", Language.GetStr("UI", "J_Info0"), "<(钻石)>", tempDiamond);
         }
 
-        if (!string.IsNullOrEmpty(Flower))
+        if (!string.IsNullOrEmpty(tempFlower))
         {
-            string[] strings = Flower.Split(' ');
-
-            for (int i = 0; i < strings.Length; i++)
-            {
-                FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic[int.Parse(strings[i])];
-
-                if (flowerInfo.Unlock == false)
-                {
-                    flowerInfo.Unlock = true;
-                }
-
-                sb.AppendFormat("{0}{1}{2}", Language.GetStr("UI", "J_Info0"), "<(花朵)>", flowerInfo.Name);
-            }
+            sb.Append(tempFlower);
         }
 
         string str = sb.ToString();
@@ -325,6 +340,7 @@ public class Pack : SkillRoot
             ManaInfo.Show(str, 10f);
         }
 
+
         Level++;
 
         ManaAudio.PlayClip(Clip.SkillClip);
@@ -333,6 +349,9 @@ public class Pack : SkillRoot
         {
             ManaServer.Save();
         }
+
+        UseA();
+        UseB();
     }
 
 
@@ -391,13 +410,30 @@ public class Pack : SkillRoot
 
                 if (!string.IsNullOrEmpty(Flower))
                 {
-                    string[] strings1 = Flower.Split(' ');
+                    for (int j = 0; j < Flowers.Length; j++)
+                    {
+                        stringBuilder.Append(Language.GetStr("FlowerName", "Flower" + Flowers[j]));
+
+                        if (j != Flowers.Length - 1)
+                        {
+                            stringBuilder.Append(",");
+                        }
+                    }
+                }
 
-                    for (int j = 0; j < strings1.Length; j++)
+                #endregion
+            }
+            else if (strings[i].Contains("&replace&"))
+            {
+                #region MyRegion
+
+                if (!string.IsNullOrEmpty(Flower))
+                {
+                    for (int j = 0; j < Diamonds.Length; j++)
                     {
-                        stringBuilder.Append(Language.GetStr("FlowerName", "Flower" + strings1[j]));
+                        stringBuilder.Append(int.Parse(Diamonds[j]));
 
-                        if (j != strings1.Length - 1)
+                        if (j != Diamonds.Length - 1)
                         {
                             stringBuilder.Append(",");
                         }
@@ -410,7 +446,7 @@ public class Pack : SkillRoot
             {
                 #region MyRegion
 
-                if (Math.Abs(DiamondOnce) > 0.0005f)
+                if (!DiamondOnce.Equal(0))
                 {
                     stringBuilder.Append(DiamondOnce.ToString("0"));
                 }
@@ -421,11 +457,11 @@ public class Pack : SkillRoot
             {
                 #region MyRegion
 
-                if (Math.Abs(Plus) > 0.0005f)
+                if (!Plus.Equal(0))
                 {
                     stringBuilder.Append(string.Format("{0:0}%", Plus*100));
                 }
-                else if (Math.Abs(CoinPerson) > 0.0005f)
+                else if (!CoinPerson.Equal(0))
                 {
                     stringBuilder.Append(CoinPerson.ToString("0"));
                 }

+ 112 - 124
Assets/Script/Object/Skill/Skill.cs

@@ -22,7 +22,7 @@ public class Skill : SkillRoot
         }
     }
 
-    protected bool ReduceCD;
+    protected bool CoolLock;
 
     protected float CD;
     protected float Person;
@@ -83,11 +83,6 @@ public class Skill : SkillRoot
         {
             ItemStatus_ = value;
 
-            if (SkillTab == SkillTab.Null)
-            {
-                return;
-            }
-
             if (ItemStatus_ == SkillStatus.Buy)
             {
                 if (BuyCur == Current.AD)
@@ -127,8 +122,8 @@ public class Skill : SkillRoot
         UpgradeDuration = attribute[27].Value;
         UpgradeCoinOnce = attribute[26].Value;
 
-        ItemIndex = Auxiliary.IntParse(attribute[3].Value,0);
         UnlockLv = Auxiliary.IntParse(attribute[13].Value,0);
+        ItemIndex = Auxiliary.IntParse(attribute[3].Value,0);
 
         CD = Auxiliary.FloatParse(attribute[12].Value,0);
         UseAmt = Auxiliary.FloatParse(attribute[20].Value,0);
@@ -138,7 +133,7 @@ public class Skill : SkillRoot
         UnlockAheadAmt = Auxiliary.FloatParse(attribute[15].Value,0);
 
         SkillTab = SkillClassParse(attribute[2].Value);
-        ReduceCD = Auxiliary.BoolParse(attribute[5].Value, false);
+        CoolLock = Auxiliary.BoolParse(attribute[5].Value, false);
         UpgradeAmt = UpgradeAmtParse(attribute[22].Value);
         
         BuyCur = CurrentParse(attribute[19].Value);
@@ -157,34 +152,14 @@ public class Skill : SkillRoot
     }
 
 
-    public virtual bool DoCool()
-    {
-        CoolTimer -= Time.fixedDeltaTime;
-
-        TimeSpan timeSpan = new TimeSpan(0, 0, Mathf.CeilToInt(CoolTimer));
-
-        ItemBtnLab.text = string.Format("{0}\n{1}{2}:{3}", Language.GetStr("UI", "Fe_BtnLab6"), Language.GetStr("UI", "Fe_BtnLab7"), timeSpan.Minutes.ToString("00"), timeSpan.Seconds.ToString("00"));
-
-        if (CoolTimer <= 0)
-        {
-            ItemStatus = SkillStatus.Buy;
-
-            return true;
-        }
-        else
-        {
-            return false;
-        }
-    }
-
-    public virtual void AnnulA()
+    public virtual void AnnulB()
     {
         ManaCenter.SkillPlus -= NewPlus;
         ManaCenter.SkillPerson -= NewPerson;
         ManaCenter.SkillPersonBuff -= NewPersonBuff;
         ManaCenter.SkillCoinPerson -= NewCoinPerson;
 
-        if (Math.Abs(NewSkillCD) > 0.0005f)
+        if (!NewSkillCD.Equal(0))
         {
             for (int i = 0; i < ManaCenter.SkillList.Count; i++)
             {
@@ -192,7 +167,7 @@ public class Skill : SkillRoot
             }
         }
 
-        if (Math.Abs(NewSkillCdBuff) > 0.0005f)
+        if (!NewSkillCdBuff.Equal(0))
         {
             for (int i = 0; i < ManaCenter.SkillList.Count; i++)
             {
@@ -201,19 +176,27 @@ public class Skill : SkillRoot
         }
     }
 
-    public override void Annul()
+    public virtual bool DoCool()
     {
-        CoolTimer = CD * CdBuff;
-        
-        ManaCenter.CoolList.Add(this);
+        CoolTimer -= Time.fixedDeltaTime;
 
-        ItemStatus = SkillStatus.Cool;
+        TimeSpan timeSpan = new TimeSpan(0, 0, Mathf.CeilToInt(CoolTimer));
 
-        //ItemBtnLab.color = Color.white;
+        ItemBtnLab.text = string.Format("{0}\n{1}{2}:{3}", Language.GetStr("UI", "Fe_BtnLab6"), Language.GetStr("UI", "Fe_BtnLab7"), timeSpan.Minutes.ToString("00"), timeSpan.Seconds.ToString("00"));
 
-        AnnulA();
+        if (CoolTimer <= 0)
+        {
+            ItemStatus = SkillStatus.Buy;
+
+            return true;
+        }
+        else
+        {
+            return false;
+        }
     }
 
+
     public override bool DoUse()
     {
         UseTimer -= Time.fixedDeltaTime;
@@ -224,7 +207,7 @@ public class Skill : SkillRoot
 
         if (UseTimer <= 0)
         {
-            Annul();
+            AnnulA();
 
             return true;
         }
@@ -234,6 +217,17 @@ public class Skill : SkillRoot
         }
     }
 
+    public override void AnnulA()
+    {
+        CoolTimer = CD * CdBuff;
+
+        ItemStatus = SkillStatus.Cool;
+
+        ManaCenter.CoolList.Add(this);
+
+        AnnulB();
+    }
+
     public override void UpdateStatus()
     {
         if (!ManaCenter.Complete)
@@ -251,37 +245,9 @@ public class Skill : SkillRoot
     }
 
 
-    protected virtual void UseA()
-    {
-        //ItemBtnLab.color = Color.blue;
-
-        ManaCenter.UseList.Add(this);
-
-        ManaCenter.SkillPlus += NewPlus;
-        ManaCenter.SkillPerson += NewPerson;
-        ManaCenter.SkillPersonBuff += NewPersonBuff;
-        ManaCenter.SkillCoinPerson += NewCoinPerson;
-
-        if (Math.Abs(NewSkillCD) > 0.0005f)
-        {
-            for (int i = 0; i < ManaCenter.SkillList.Count; i++)
-            {
-                ManaCenter.SkillList[i].ReceiveCool(NewSkillCD, true, false);
-            }
-        }
-
-        if (Math.Abs(NewSkillCdBuff) > 0.0005f)
-        {
-            for (int i = 0; i < ManaCenter.SkillList.Count; i++)
-            {
-                ManaCenter.SkillList[i].ReceiveCool(NewSkillCdBuff, true, true);
-            }
-        }
-    }
-
     protected virtual void UseB()
     {
-        float temp = NewCoinOnce + ManaCenter.CoinPerson*NewCoinOnceBuff;
+        float temp = NewCoinOnce + ManaCenter.CoinPerson * NewCoinOnceBuff;
 
         ManaCenter.Coin += temp;
         ManaCenter.Diamond += DiamondOnce;
@@ -307,40 +273,78 @@ public class Skill : SkillRoot
         }
     }
 
-
-    protected virtual void Buy()
+    protected virtual void UseA()
     {
-        ManaCenter.Pay(ID, UseAmt, BuyCur, () =>
-        {
-            ManaAudio.PlayClip(Clip.SkillClip);
+        ManaCenter.UseList.Add(this);
 
-            if (BuyCur != Current.AD)
+        ManaCenter.SkillPlus += NewPlus;
+        ManaCenter.SkillPerson += NewPerson;
+        ManaCenter.SkillPersonBuff += NewPersonBuff;
+        ManaCenter.SkillCoinPerson += NewCoinPerson;
+
+        if (!NewSkillCD.Equal(0))
+        {
+            for (int i = 0; i < ManaCenter.SkillList.Count; i++)
             {
-                ManaCenter.SkillAmt++;
+                ManaCenter.SkillList[i].ReceiveCool(NewSkillCD, true, false);
             }
-            
-            UseTimer = NewDuration;
+        }
 
-            if (Math.Abs(Duration) < 0.0005f)
+        if (!NewSkillCdBuff.Equal(0))
+        {
+            for (int i = 0; i < ManaCenter.SkillList.Count; i++)
             {
-                ItemStatus = SkillStatus.Cool;
+                ManaCenter.SkillList[i].ReceiveCool(NewSkillCdBuff, true, true);
             }
-            else
+        }
+    }
+
+
+    protected virtual void Buy()
+    {
+        ManaCenter.Pay
+        (
+            ID,
+            UseAmt,
+            BuyCur,
+            () =>
             {
-                ItemStatus = SkillStatus.Use;
-            }
+                ManaAudio.PlayClip(Clip.SkillClip);
 
-            UseA();
-            UseB();
+                if (BuyCur != Current.AD)
+                {
+                    ManaCenter.SkillAmt++;
+                }
+
+                UseTimer = NewDuration;
+
+                if (Duration.Equal(0))
+                {
+                    ItemStatus = SkillStatus.Cool;
+                }
+                else
+                {
+                    ItemStatus = SkillStatus.Use;
+                }
 
-            ManaInfo.Show(String.Format("{0}{1}", Language.GetStr("UI", "J_Info1"), Language.GetStr("SkillName", ID)), 10f);
-        });
+                UseA();
+                UseB();
+
+                ManaInfo.Show(string.Format("{0}{1}", Language.GetStr("UI", "J_Info1"), Language.GetStr("SkillName", ID)), 10f);
+            }
+        );
     }
 
     protected virtual void OnClick()
     {
         ManaAudio.PlayClip(Clip.BtnClip);
 
+        ManaReso.Get("Fe_Info").TweenForCG();
+
+        ManaReso.SetText("Fe_Tit", Name);
+
+        ManaReso.SetSprite("Fe_Icon", Icon);
+
         if (ItemStatus == SkillStatus.Buy)
         {
             if (BuyCur == Current.AD)
@@ -349,13 +353,6 @@ public class Skill : SkillRoot
             }
             else
             {
-                ManaReso.Get("Fe_Info").TweenForCG();
-
-                ManaReso.SetText("Fe_Tit", Name);
-
-                ManaReso.SetSprite("Fe_Icon", Icon);
-
-
                 ManaReso.SetText("Fe_Lab0", "");
                 ManaReso.SetText("Fe_Lab1", GetDescription(0));
 
@@ -375,13 +372,6 @@ public class Skill : SkillRoot
         }
         else if (ItemStatus == SkillStatus.Lock)
         {
-            ManaReso.Get("Fe_Info").TweenForCG();
-
-            ManaReso.SetText("Fe_Tit", Name);
-
-            ManaReso.SetSprite("Fe_Icon", Icon);
-
-
             ManaReso.SetText("Fe_Lab0", "");
             ManaReso.SetText("Fe_Lab1", GetDescription(0));
 
@@ -402,19 +392,18 @@ public class Skill : SkillRoot
 
     protected virtual void UnlockAhead()
     {
-        if (ItemStatus != SkillStatus.Lock)
-        {
-            Toast.Show(1.5f, "您并不需要提前解锁");
-
-            return;
-        }
-
-        ManaCenter.Pay(ID, UnlockAheadAmt, UnlockAheadCur, () =>
-        {
-            ManaAudio.PlayClip(Clip.BtnClip);
+        ManaCenter.Pay
+        (
+            ID,
+            UnlockAheadAmt,
+            UnlockAheadCur,
+            () =>
+            {
+                ManaAudio.PlayClip(Clip.BtnClip);
 
-            ItemStatus = SkillStatus.Buy;
-        });
+                ItemStatus = SkillStatus.Buy;
+            }
+        );
     }
 
 
@@ -422,7 +411,7 @@ public class Skill : SkillRoot
     {
         if (ItemStatus == SkillStatus.Use)
         {
-            AnnulA();
+            AnnulB();
 
             ManaCenter.UseList.Remove(this);
         }
@@ -466,17 +455,15 @@ public class Skill : SkillRoot
                     }
                     else
                     {
-                        int ffCircle = 1 + Mathf.FloorToInt((UseTimer - ManaCenter.CircleTimer)/ManaCenter.CircleTime);
+                        int circle = 1 + Mathf.FloorToInt((UseTimer - ManaCenter.CircleTimer)/ManaCenter.CircleTime);
 
-                        useList[ffCircle].UniqueAdd(this);
+                        useList[circle].UniqueAdd(this);
                     }
                 }
             }
             else
             {
                 UseTimer -= elapse;
-
-                //ItemBtnLab.color = Color.blue;
             }
         }
         else if (ItemStatus_ == SkillStatus.Cool)
@@ -496,7 +483,7 @@ public class Skill : SkillRoot
 
     public override void ReceiveCool(float amt, bool current, bool buff)
     {
-        if (!ReduceCD)
+        if (!CoolLock)
         {
             return;
         }
@@ -530,6 +517,7 @@ public class Skill : SkillRoot
         }
     }
 
+
     #region 解读器
 
     protected double UpgradeAmtParse(string str)
@@ -561,7 +549,7 @@ public class Skill : SkillRoot
             {
                 #region MyRegion
 
-                if (Math.Abs(Person) > 0.0005f)
+                if (!Person.Equal(0))
                 {
                     temp = NewPerson;
 
@@ -579,7 +567,7 @@ public class Skill : SkillRoot
                         stringBuilder.Append(temp.ToString("0"));
                     }
                 }
-                else if (Math.Abs(PersonBuff) > 0.0005f)
+                else if (!PersonBuff.Equal(0))
                 {
                     temp = NewPersonBuff;
 
@@ -608,7 +596,7 @@ public class Skill : SkillRoot
             {
                 #region MyRegion
 
-                if (Math.Abs(CoinOnce) > 0.0005f)
+                if (!CoinOnce.Equal(0))
                 {
                     temp = NewCoinOnce;
 
@@ -616,7 +604,7 @@ public class Skill : SkillRoot
 
                     stringBuilder.Append(temp.ToString("0"));
                 }
-                else if (Math.Abs(CoinOnceBuff) > 0.0005f)
+                else if (!CoinOnceBuff.Equal(0))
                 {
                     temp = NewCoinOnceBuff;
                     
@@ -639,7 +627,7 @@ public class Skill : SkillRoot
             {
                 #region MyRegion
                 
-                if (Math.Abs(CoinPerson) > 0.0005f)
+                if (!CoinPerson.Equal(0))
                 {
                     temp = NewCoinPerson;
 
@@ -656,7 +644,7 @@ public class Skill : SkillRoot
                         stringBuilder.Append(temp.ToString("0"));
                     }
                 }
-                else if (Math.Abs(Plus) > 0.0005f)
+                else if (!Plus.Equal(0))
                 {
                     temp = NewPlus;
 

+ 21 - 20
Assets/Script/Object/Skill/SkillRoot.cs

@@ -96,7 +96,19 @@ public abstract class SkillRoot
         {
             Level_ = value;
 
-            RegistName(ItemTit);
+            if (SkillTab == SkillTab.Null)
+            {
+                return;
+            }
+
+            if (Level == 0)
+            {
+                ManaLan.Add(ItemTit, new LanStr("SkillName", ID));
+            }
+            else
+            {
+                ManaLan.Add(ItemTit, new LanStr("SkillName", ID), Level);
+            }
         }
     }
 
@@ -174,7 +186,7 @@ public abstract class SkillRoot
     }
 
     
-    public virtual void Annul()
+    public virtual void AnnulA()
     {
 
     }
@@ -197,23 +209,6 @@ public abstract class SkillRoot
 
     #region 解读器
 
-    protected void RegistName(Text text)
-    {
-        if (SkillTab == SkillTab.Null)
-        {
-            return;
-        }
-
-        if (Level == 0)
-        {
-            ManaLan.Add(text, new LanStr("SkillName", ID));
-        }
-        else
-        {
-            ManaLan.Add(text, new LanStr("SkillName", ID), Level);
-        }
-    }
-
     protected string ImageParse(Current current)
     {
         if (current == Current.Coin)
@@ -386,4 +381,10 @@ public abstract class SkillRoot
     }
 
     #endregion
-}
+}
+
+#region DebugList
+
+//语言切换
+
+#endregion

+ 20 - 28
Assets/Script/Object/Slot.cs

@@ -1,21 +1,25 @@
 using UnityEngine;
+using UnityEngine.UI;
 
 using System.Collections;
 using System.Collections.Generic;
-using UnityEngine.UI;
 
 public class Slot : Regist
 {
     #region 变量
 
-    public bool Valid
+    public int ID
     {
-        get { return _Valid; }
+        get { return FlowerInfo.ID_; }
+    }
+    public bool Lock
+    {
+        get { return Lock_; }
         set
         {
-            _Valid = value;
+            Lock_ = value;
 
-            if (_Valid)
+            if (Lock_)
             {
                 Icon.SetActive(false);
             }
@@ -26,11 +30,11 @@ public class Slot : Regist
         }
     }
 
-    private bool _Valid;
+    public bool Lock_;
 
-    public int ID;
     public int Index;
     public bool Available;
+
     public Flower Flower;
     public TextMesh TextMesh;
     public FlowerInfo FlowerInfo;
@@ -39,8 +43,13 @@ public class Slot : Regist
 
     #endregion
 
-	public override void RegistImmed()
+	public override bool RegistImmed()
 	{
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         enabled = true;
 
         Icon = transform.GetChild(0).gameObject;
@@ -48,6 +57,8 @@ public class Slot : Regist
         TextMesh = transform.GetChild(0).GetChild(0).GetComponent<TextMesh>();
 
         ManaLan.Add(TextMesh, new LanStr("Object", "SlotSign"));
+
+        return false;
     }
 
 
@@ -55,8 +66,6 @@ public class Slot : Regist
     {
         FlowerInfo = flowerInfo;
 
-        ID = flowerInfo.ID_;
-
         Collider.enabled = false;
 
         Available = false;
@@ -82,25 +91,8 @@ public class Slot : Regist
 
         FlowerInfo.Plant = false;
 
-        ManaReso.Save(Flower);
-
         ManaGarden.PlantList.Remove(this);
 
-        for (int i = 0; i < Flower.ElfList.Count; i++)
-        {
-            ManaReso.Save(Flower.ElfList[i]);
-        }
-
-        Flower.ElfList = new List<Transform>();
-
-        Flower.Award_ = false;
-
-        Flower.GoldBk.SetActive(false);
-
-        Flower.GoldBk.GetTweenSr().Pause();
-        Flower.GoldIcon.GetTweenSr().Pause();
-
-        Flower.GoldBk.GetTweenSr().InOrigin = true;
-        Flower.GoldIcon.GetTweenSr().InOrigin = true;
+        Flower.Retrieve();
     }
 }

+ 8 - 1
Assets/Script/Object/Tutorial.cs

@@ -21,10 +21,17 @@ public class Tutorial : Regist, IPointerClickHandler
 
     #endregion
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         Arrow = ManaReso.Get("N_Arrow");
         Material = ManaReso.Get<Image>("N_Mask").material;
+
+        return false;
     }
 
 

+ 15 - 2
Assets/Script/Tool/Auxiliary.cs

@@ -91,16 +91,29 @@ public class Auxiliary : Regist
 
     #endregion
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         enabled = true;
+
+        return false;
     }
 
+    public UnityAction action;
     private void Awake()
     {
         Instance = this;
 
-        //gameObject.AddComponent<ManaAnim>().RegistImmed();
+        action += () => { Debug.Log("2"); };
+
+        action = action.AddEventOnetime(() => Debug.Log("1"));
+
+        action.SafeInvoke();
+        action.SafeInvoke();
     }
 
     private void Update()

+ 8 - 1
Assets/Script/Tool/SceneMask.cs

@@ -12,11 +12,18 @@ public class SceneMask : Regist
 
     #endregion
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         enabled = true;
         Material = GetComponent<SpriteRenderer>().material;
         BoxCollider = ManaReso.Get<BoxCollider2D>("TutorialCollider");
+
+        return false;
     }
 
     public static void SetArea(Transform tra, Vector3 screenPos, float radiusX, float radiusY)

+ 8 - 1
Assets/Script/Tool/UI/Bubble.cs

@@ -18,8 +18,13 @@ public class Bubble : Regist
 
     #endregion
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         Box = ManaReso.Get("K_Bubble0");
         Background = ManaReso.Get("K_Bubble");
 
@@ -33,6 +38,8 @@ public class Bubble : Regist
         Box.CreateTweenScale(Vector3.zero, Vector3.one, 0.25f, false, true, Curve.EaseOutQuad);
 
         Background.CreateTweenGra(0, 180 / 255f, 0.25f, false, true, Curve.EaseOutQuad, true);
+
+        return false;
     }
 
 

+ 8 - 1
Assets/Script/Tool/UI/HudText.cs

@@ -28,9 +28,16 @@ public class HudText : Regist
 
     #endregion
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         enabled = true;
+
+        return false;
     }
 
     private void FixedUpdate()

+ 8 - 1
Assets/Script/Tool/UI/Toast.cs

@@ -30,13 +30,20 @@ public class Toast : Regist
         }
     }
 
-    public override void RegistImmed()
+    public override bool RegistImmed()
     {
+        if (base.RegistImmed())
+        {
+            return true;
+        }
+
         Text = GetComponentInChildren<Text>();
         Transform = transform;
 
         transform.CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
         transform.CreateTweenVec2D(ManaReso.Get("O_Pos").position, 0.25f, false, false, true, Curve.EaseOutQuad);
+
+        return false;
     }
 
 

+ 26 - 23
MyLovelyGarden.sln

@@ -1,13 +1,13 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2015
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyLovelyGarden.Plugins", "MyLovelyGarden.Plugins.csproj", "{6E74E584-9DFC-C050-676F-69A7C37E7E0C}"
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2008
+
+Project("{8A8BB0A8-D809-F2DF-89D6-F26151FFF558}") = "MyLovelyGarden", "Assembly-CSharp-firstpass.csproj", "{76439BDA-6081-7FA3-9C3B-368968A7EA5E}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyLovelyGarden", "MyLovelyGarden.csproj", "{9F3A3259-D53B-F6C8-8878-C5B99621035A}"
+Project("{8A8BB0A8-D809-F2DF-89D6-F26151FFF558}") = "MyLovelyGarden", "Assembly-CSharp.csproj", "{21BB93BC-2239-D8F5-1219-201F8DCBAF49}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyLovelyGarden.Editor.Plugins", "MyLovelyGarden.Editor.Plugins.csproj", "{30FF29F4-DBAE-475C-A2D4-DCA87549A28A}"
+Project("{8A8BB0A8-D809-F2DF-89D6-F26151FFF558}") = "MyLovelyGarden", "Assembly-CSharp-Editor-firstpass.csproj", "{527B5E1B-6A56-0EB9-22D1-0FE7785A959A}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyLovelyGarden.Editor", "MyLovelyGarden.Editor.csproj", "{B575449E-FD9A-1672-368B-EC1E1252F6E4}"
+Project("{8A8BB0A8-D809-F2DF-89D6-F26151FFF558}") = "MyLovelyGarden", "Assembly-CSharp-Editor.csproj", "{A08052E5-32CE-91C0-FF56-C60C901D6BEF}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,24 +15,27 @@ Global
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{6E74E584-9DFC-C050-676F-69A7C37E7E0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{6E74E584-9DFC-C050-676F-69A7C37E7E0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{6E74E584-9DFC-C050-676F-69A7C37E7E0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{6E74E584-9DFC-C050-676F-69A7C37E7E0C}.Release|Any CPU.Build.0 = Release|Any CPU
-		{9F3A3259-D53B-F6C8-8878-C5B99621035A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9F3A3259-D53B-F6C8-8878-C5B99621035A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9F3A3259-D53B-F6C8-8878-C5B99621035A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{9F3A3259-D53B-F6C8-8878-C5B99621035A}.Release|Any CPU.Build.0 = Release|Any CPU
-		{30FF29F4-DBAE-475C-A2D4-DCA87549A28A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{30FF29F4-DBAE-475C-A2D4-DCA87549A28A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{30FF29F4-DBAE-475C-A2D4-DCA87549A28A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{30FF29F4-DBAE-475C-A2D4-DCA87549A28A}.Release|Any CPU.Build.0 = Release|Any CPU
-		{B575449E-FD9A-1672-368B-EC1E1252F6E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B575449E-FD9A-1672-368B-EC1E1252F6E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{B575449E-FD9A-1672-368B-EC1E1252F6E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{B575449E-FD9A-1672-368B-EC1E1252F6E4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{76439BDA-6081-7FA3-9C3B-368968A7EA5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{76439BDA-6081-7FA3-9C3B-368968A7EA5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{76439BDA-6081-7FA3-9C3B-368968A7EA5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{76439BDA-6081-7FA3-9C3B-368968A7EA5E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{21BB93BC-2239-D8F5-1219-201F8DCBAF49}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{21BB93BC-2239-D8F5-1219-201F8DCBAF49}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{21BB93BC-2239-D8F5-1219-201F8DCBAF49}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{21BB93BC-2239-D8F5-1219-201F8DCBAF49}.Release|Any CPU.Build.0 = Release|Any CPU
+		{527B5E1B-6A56-0EB9-22D1-0FE7785A959A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{527B5E1B-6A56-0EB9-22D1-0FE7785A959A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{527B5E1B-6A56-0EB9-22D1-0FE7785A959A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{527B5E1B-6A56-0EB9-22D1-0FE7785A959A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A08052E5-32CE-91C0-FF56-C60C901D6BEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A08052E5-32CE-91C0-FF56-C60C901D6BEF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A08052E5-32CE-91C0-FF56-C60C901D6BEF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A08052E5-32CE-91C0-FF56-C60C901D6BEF}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
+	GlobalSection(MonoDevelopProperties) = preSolution
+		StartupItem = Assembly-CSharp.csproj
+	EndGlobalSection
 EndGlobal

+ 6 - 15
ToList.txt

@@ -1,11 +1,8 @@
-编存档 下载随机存档失败时就编一个存档
-
-
 注册Bug
 
-存档损坏Bug
+存花的Bug
 
-为什么GetDescription不能合并 为什么要用RegistName
+存档损坏Bug
 
 
 分享图片报错
@@ -16,21 +13,15 @@
 
 从Hierrarchy视图中检查是否有Bug
 
-如果存档被删除了就重新下载一次
+清空存档时也要清空PlayerPreb中的ID
 
-发布前把服务器中的存档清理一次
+如果存档被删除了就重新下载一次(检查PlayerPreb中的ID来判断是否是第一次登录)
 
-分享的标题和文字在语言文档里
-
-红色小蝴蝶和教程B冲突了
-
-
-Hud换装
+发布前把服务器中的存档清理一次
 
-Auxiliary中的Shrink、Formular、Parse改到Extension中
 
 Tween中的AddEventOneTime改到UnityAction的Extension中
 
 释放掉不用的Bundle
 
-PageView有点不合适
+Page的数量应减少