LiuQilin 8 years ago
parent
commit
f01f7e10b0
54 changed files with 1489 additions and 1005 deletions
  1. BIN
      .vs/MyLovelyGarden/v14/.suo
  2. BIN
      Assets/Resource/Garden.unity
  3. BIN
      Assets/Resource/Prefab/Object/Flower.prefab
  4. BIN
      Assets/Resource/Prefab/Object/Garden.prefab
  5. BIN
      Assets/Resource/Prefab/PrefabUI/Canvas.prefab
  6. BIN
      Assets/Resource/Prefab/PrefabUI/FlowerItemG.prefab
  7. 48 42
      Assets/Resource/XML/PlayerConfig.xml
  8. 10 0
      Assets/Script/Interface/Regist.cs
  9. 23 11
      Assets/Script/Manage/Initializer.cs
  10. 119 94
      Assets/Script/Manage/ManaAchieve.cs
  11. 235 67
      Assets/Script/Manage/ManaAnim.cs
  12. 7 10
      Assets/Script/Manage/ManaAudio.cs
  13. 1 3
      Assets/Script/Manage/ManaColor.cs
  14. 149 238
      Assets/Script/Manage/ManaData.cs
  15. 16 7
      Assets/Script/Manage/ManaGarden.cs
  16. 22 9
      Assets/Script/Manage/ManaMiniGame.cs
  17. 1 0
      Assets/Script/Manage/ManaPlayer.cs
  18. 16 2
      Assets/Script/Manage/ManaReso.cs
  19. 27 0
      Assets/Script/Manage/ManaSkill.cs
  20. 2 2
      Assets/Script/Manage/ManaSkill.cs.meta
  21. 3 8
      Assets/Script/Manage/ManaText.cs
  22. 20 20
      Assets/Script/Manage/ManaUI.cs
  23. 1 1
      Assets/Script/Object/DropDiamond.cs
  24. 1 1
      Assets/Script/Object/DropGold.cs
  25. 10 10
      Assets/Script/Object/Flower.cs
  26. 23 23
      Assets/Script/Object/Garden.cs
  27. 27 23
      Assets/Script/Object/Skill/Ability.cs
  28. 14 4
      Assets/Script/Object/Skill/BigSkill.cs
  29. 22 18
      Assets/Script/Object/Skill/Pack.cs
  30. 40 35
      Assets/Script/Object/Skill/Skill.cs
  31. 3 2
      Assets/Script/Object/Skill/SkillRoot.cs
  32. 2 2
      Assets/Script/Object/Slot.cs
  33. 0 24
      Assets/Script/Tool/Anim/Anim.cs
  34. 9 137
      Assets/Script/Tool/Anim/Move.cs
  35. 2 2
      Assets/Script/Tool/Anim/Move.cs.meta
  36. 152 0
      Assets/Script/Tool/Anim/Move2D.cs
  37. 12 0
      Assets/Script/Tool/Anim/Move2D.cs.meta
  38. 151 0
      Assets/Script/Tool/Anim/Move3D.cs
  39. 12 0
      Assets/Script/Tool/Anim/Move3D.cs.meta
  40. 5 5
      Assets/Script/Tool/Anim/Shake.cs
  41. 1 1
      Assets/Script/Tool/Anim/TweenAudio.cs
  42. 1 1
      Assets/Script/Tool/Anim/TweenCG.cs
  43. 1 1
      Assets/Script/Tool/Anim/TweenGra.cs
  44. 1 1
      Assets/Script/Tool/Anim/TweenRect.cs
  45. 1 1
      Assets/Script/Tool/Anim/TweenScale.cs
  46. 1 1
      Assets/Script/Tool/Anim/TweenSr.cs
  47. 1 1
      Assets/Script/Tool/Anim/TweenText.cs
  48. 1 1
      Assets/Script/Tool/Anim/TweenVec.cs
  49. 170 68
      Assets/Script/Tool/Data.cs
  50. 98 75
      Assets/Script/Tool/Extension.cs
  51. 6 6
      Assets/Script/Tool/UI/FlowerCard.cs
  52. 5 1
      MyLovelyGarden.csproj
  53. 13 16
      MyLovelyGarden.sln
  54. 4 31
      ToList.txt

BIN
.vs/MyLovelyGarden/v14/.suo


BIN
Assets/Resource/Garden.unity


BIN
Assets/Resource/Prefab/Object/Flower.prefab


BIN
Assets/Resource/Prefab/Object/Garden.prefab


BIN
Assets/Resource/Prefab/PrefabUI/Canvas.prefab


BIN
Assets/Resource/Prefab/PrefabUI/FlowerItemG.prefab


+ 48 - 42
Assets/Resource/XML/PlayerConfig.xml

@@ -1,54 +1,60 @@
 <PlayerConfig>
 <PlayerConfig>
-  <Version value="16" />
-  <Tutorial value="1" />
-  <Slot value="1" />
+  <Version value="31" />
+  
   <Player value="PlayerBlond" />
   <Player value="PlayerBlond" />
-  <SignIndex value="0" />
+  <QuitTime value="2/3/2017 09:30:00 AM" />
+  
+  <Slot value="1" />
   <Coin value="0" />
   <Coin value="0" />
   <Level value="0" />
   <Level value="0" />
   <Person value="0" />
   <Person value="0" />
+  <Tutorial value="0" />
   <Diamond value="0" />
   <Diamond value="0" />
-  <QuitTime value="3/24/2017 10:40:04 PM" />
+  <SignIndex value="0" />
   <MiniTimer value="0" />
   <MiniTimer value="0" />
-  <CircleTimer value="10" />
   <CoinPerson value="0" />
   <CoinPerson value="0" />
-  <MiniGameAmt value="0" />
-  <PlantList/>
-  <FlowerList ID="" />
-  <AchieveList></AchieveList>
+  <CircleTimer value="0" />
+  <MiniGameIndex value="0" />
+  
+  <PlantList value =""/>
+  <FlowerList value="" />
+  <AchieveList value="" />
   <AchieveData AD="0" Skill="0" Sign="0" Share="0" MiniGame="0" FlowerCoin="0"/>
   <AchieveData AD="0" Skill="0" Sign="0" Share="0" MiniGame="0" FlowerCoin="0"/>
+  
   <SkillList>
   <SkillList>
-    <Skill5 SkillType="Skill" ItemStatus="Lock" Level="0" CdTimer="0" EffectTimer="0" />
-    <Skill6 SkillType="Skill" ItemStatus="Lock" Level="0" CdTimer="0" EffectTimer="0" />
-    <Skill7 SkillType="BigSkill" ItemStatus="Lock" BarStatus="Buy" Level="0" CdTimer="0" EffectTimer="0" />
-    <Ability1 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill4 SkillType="Skill" ItemStatus="Lock" Level="0" CdTimer="0" EffectTimer="0" />
-    <Ability5 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill1 SkillType="BigSkill" ItemStatus="Lock" BarStatus="Buy" Level="0" CdTimer="0" EffectTimer="0" />
-    <Ability6 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <礼包 SkillType="Pack" Name="Pack1" ItemStatus="Lock" Level="0" />
-    <礼包 SkillType="Pack" Name="Pack4" ItemStatus="Lock" Level="0" />
-    <Skill2 SkillType="BigSkill" ItemStatus="Lock" BarStatus="Buy" Level="0" CdTimer="0" EffectTimer="0" />
-    <礼包 SkillType="Pack" Name="Pack2" ItemStatus="Lock" Level="0" />
-    <礼包 SkillType="Pack" Name="Pack5" ItemStatus="Lock" Level="0" />
-    <Ability7 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <礼包 SkillType="Pack" Name="Pack6" ItemStatus="Lock" Level="0" />
-    <礼包 SkillType="Pack" Name="Pack3" ItemStatus="Lock" Level="0" />
-    <Ability8 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Skill3 SkillType="BigSkill" ItemStatus="Lock" BarStatus="Buy" Level="0" CdTimer="0" EffectTimer="0" />
-    <Ability9 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Ability2 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <礼包 SkillType="Pack" Name="Pack7" ItemStatus="Lock" Level="0" />
-    <Ability10 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <礼包 SkillType="Pack" Name="Pack8" ItemStatus="Lock" Level="0" />
-    <Ability3 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Ability11 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <礼包 SkillType="Pack" Name="Pack9" ItemStatus="Lock" Level="0" />
-    <Ability4 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <Ability12 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <礼包 SkillType="Pack" Name="Pack10" ItemStatus="Lock" Level="0" />
-    <Ability13 SkillType="Ability" ItemStatus="Lock" Level="0" />
-    <礼包 SkillType="Pack" Name="Pack11" ItemStatus="Lock" Level="0" />
-    <Ability14 SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Skill4" SkillType="Skill" ItemStatus="Lock" Level="0" CdTimer="0" EffectTimer="0" />
+    <Skill ID="Skill5" SkillType="Skill" ItemStatus="Lock" Level="0" CdTimer="0" EffectTimer="0" />
+    <Skill ID="Skill6" SkillType="Skill" ItemStatus="Lock" Level="0" CdTimer="0" EffectTimer="0" />
+    <Skill ID="Skill1" SkillType="BigSkill" ItemStatus="Lock" BarStatus="Buy" Level="0" CdTimer="0" EffectTimer="0" />
+    <Skill ID="Skill2" SkillType="BigSkill" ItemStatus="Lock" BarStatus="Buy" Level="0" CdTimer="0" EffectTimer="0" />
+    <Skill ID="Skill3" SkillType="BigSkill" ItemStatus="Lock" BarStatus="Buy" Level="0" CdTimer="0" EffectTimer="0" />
+    <Skill ID="Skill7" SkillType="BigSkill" ItemStatus="Lock" BarStatus="Buy" Level="0" CdTimer="0" EffectTimer="0" />
+
+    <Skill ID="Pack1" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack2" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack3" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack4" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack5" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack6" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack7" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack8" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack9" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack10" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    <Skill ID="Pack11" SkillType="Pack" ItemStatus="Lock" Level="0" />
+    
+    <Skill ID="Ability1" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability2" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability3" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability4" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability5" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability6" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability7" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability8" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability9" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability10" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability11" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability12" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability13" SkillType="Ability" ItemStatus="Lock" Level="0" />
+    <Skill ID="Ability14" SkillType="Ability" ItemStatus="Lock" Level="0" />
   </SkillList>
   </SkillList>
 </PlayerConfig>
 </PlayerConfig>

+ 10 - 0
Assets/Script/Interface/Regist.cs

@@ -30,6 +30,11 @@ public class Regist : MonoBehaviour
     }
     }
 
 
 
 
+    public virtual void TutorialToRegular()
+    {
+
+    }
+
     public virtual void TutorialInstantiate()
     public virtual void TutorialInstantiate()
     {
     {
 
 
@@ -40,6 +45,11 @@ public class Regist : MonoBehaviour
 
 
     }
     }
 
 
+    public virtual void TutorialRegistValueL()
+    {
+
+    }
+
     public virtual void TutorialRegistReference()
     public virtual void TutorialRegistReference()
     {
     {
 
 

+ 23 - 11
Assets/Script/Manage/Initializer.cs

@@ -12,16 +12,28 @@ public class Initializer : MonoBehaviour
 {
 {
     #region
     #region
 
 
-    public static bool Tutorial;
+    public static List<Regist> RegistList
+    {
+        get
+        {
+            if (_RegistList == null)
+            {
+                _RegistList = new List<Regist>();
+            }
+
+            return _RegistList;
+        }
+        set { _RegistList = value; }
+    }
 
 
-    public static List<Regist> RegistList;
+    public static List<Regist> _RegistList;
+
+    public static bool Tutorial;
 
 
     #endregion
     #endregion
 
 
     private void Awake()
     private void Awake()
     {
     {
-        RegistList = new List<Regist>();
-
         if (Bundle.Instance == null)
         if (Bundle.Instance == null)
         {
         {
             gameObject.AddScript<Bundle>();
             gameObject.AddScript<Bundle>();
@@ -32,12 +44,11 @@ public class Initializer : MonoBehaviour
             gameObject.AddScript<Auxiliary>();
             gameObject.AddScript<Auxiliary>();
         }
         }
 
 
+        gameObject.AddScript<ManaText>();
         gameObject.AddScript<ManaReso>();
         gameObject.AddScript<ManaReso>();
         gameObject.AddScript<ManaAnim>();
         gameObject.AddScript<ManaAnim>();
         gameObject.AddScript<ManaAudio>();
         gameObject.AddScript<ManaAudio>();
 
 
-        gameObject.AddScript<ManaText>();
-
         gameObject.AddScript<ManaUI>();
         gameObject.AddScript<ManaUI>();
         gameObject.AddScript<ManaSign>();
         gameObject.AddScript<ManaSign>();
         gameObject.AddScript<ManaGarden>();
         gameObject.AddScript<ManaGarden>();
@@ -52,9 +63,10 @@ public class Initializer : MonoBehaviour
         StartCoroutine(IInitialize());
         StartCoroutine(IInitialize());
     }
     }
 
 
+
     public static void Initialize()
     public static void Initialize()
     {
     {
-        Tutorial = Convert.ToBoolean(int.Parse(Data.PlayerNode.SelectSingleNode("Tutorial").Attributes[0].Value));
+        Tutorial = Data.PlayerBool("Tutorial");
 
 
         if (Tutorial)
         if (Tutorial)
         {
         {
@@ -71,8 +83,6 @@ public class Initializer : MonoBehaviour
         for (int i = 0; i < RegistList.Count; i++)
         for (int i = 0; i < RegistList.Count; i++)
         {
         {
             RegistList[i].TutorialInstantiate();
             RegistList[i].TutorialInstantiate();
-
-            RegistList[i].enabled = true;
         }
         }
 
 
         for (int i = 0; i < RegistList.Count; i++)
         for (int i = 0; i < RegistList.Count; i++)
@@ -83,6 +93,8 @@ public class Initializer : MonoBehaviour
         for (int i = 0; i < RegistList.Count; i++)
         for (int i = 0; i < RegistList.Count; i++)
         {
         {
             RegistList[i].TutorialRegistValue();
             RegistList[i].TutorialRegistValue();
+
+            RegistList[i].enabled = true;
         }
         }
     }
     }
 
 
@@ -91,8 +103,6 @@ public class Initializer : MonoBehaviour
         for (int i = 0; i < RegistList.Count; i++)
         for (int i = 0; i < RegistList.Count; i++)
         {
         {
             RegistList[i].Instantiate();
             RegistList[i].Instantiate();
-
-            RegistList[i].enabled = true;
         }
         }
 
 
         for (int i = 0; i < RegistList.Count; i++)
         for (int i = 0; i < RegistList.Count; i++)
@@ -113,6 +123,8 @@ public class Initializer : MonoBehaviour
         for (int i = 0; i < RegistList.Count; i++)
         for (int i = 0; i < RegistList.Count; i++)
         {
         {
             RegistList[i].RegistValueC();
             RegistList[i].RegistValueC();
+
+            RegistList[i].enabled = true;
         }
         }
     }
     }
 
 

+ 119 - 94
Assets/Script/Manage/ManaAchieve.cs

@@ -1,12 +1,13 @@
-using System;
-using UnityEngine;
+using UnityEngine;
+using UnityEngine.UI;
+using UnityEngine.Events;
 
 
+using System;
+using System.Xml;
+using System.Text;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Text;
-using System.Xml;
-using UnityEngine.Events;
-using UnityEngine.UI;
+
 using Object = UnityEngine.Object;
 using Object = UnityEngine.Object;
 
 
 public enum AchieveType
 public enum AchieveType
@@ -17,12 +18,12 @@ public enum AchieveType
     Share,
     Share,
     Flower,
     Flower,
     Person,
     Person,
+    Garden,
     ElfLevel,
     ElfLevel,
     TotalCoin,
     TotalCoin,
     MiniGame,
     MiniGame,
     FlowerCoin,
     FlowerCoin,
     CurrentCoin,
     CurrentCoin,
-    GardenLevel,
 }
 }
 
 
 public class Achieve
 public class Achieve
@@ -36,31 +37,31 @@ public class Achieve
 
 
             if (_Regist)
             if (_Regist)
             {
             {
-                AchieveItem = ManaReso.Get("AchieveItem", Folder.UI, false, ManaReso.Get("M_Grid"), false, ObjType.AchieveItem);
-
-                ObjRoot objRoot = AchieveItem.GetComponent<ObjRoot>();
-
-                if (objRoot == null)
-                {
-                    AchieveItem.AddComponent<ObjRoot>().ObjType = ObjType.AchieveItem;
-                }
+                AchieveItem = ManaReso.GetAchieveItem();
 
 
                 RegistValue();
                 RegistValue();
             }
             }
         }
         }
     }
     }
+    public string ID
+    {
+        get
+        {
+            return "Achieve" + _ID;
+        }
+    }
     public string Desc
     public string Desc
     {
     {
         get
         get
         {
         {
-            return Language.GetStr("AchieveDescription", "Achieve" + ID);
+            return Language.GetStr("AchieveDescription", ID);
         }
         }
     }
     }
     public string Name
     public string Name
     {
     {
         get
         get
         {
         {
-            return Language.GetStr("AchieveName", "Achieve" + ID);
+            return Language.GetStr("AchieveName", ID);
         }
         }
     }
     }
     public List<Achieve> PostAchieveList
     public List<Achieve> PostAchieveList
@@ -77,10 +78,10 @@ public class Achieve
         set { _PostAchieveList = value; }
         set { _PostAchieveList = value; }
     }
     }
 
 
+    public int _ID;
     public bool _Regist;
     public bool _Regist;
     public List<Achieve> _PostAchieveList;
     public List<Achieve> _PostAchieveList;
 
 
-    public int ID;
     public int Index;
     public int Index;
     public int Parent;
     public int Parent;
     public bool Valid;
     public bool Valid;
@@ -90,7 +91,7 @@ public class Achieve
     public float CoinPerson;
     public float CoinPerson;
     public float DiamondOnce;
     public float DiamondOnce;
     public string Icon;
     public string Icon;
-    public double TargetValue;
+    public double Value;
     public AchieveType Type;
     public AchieveType Type;
 
 
     public Text Tit;
     public Text Tit;
@@ -107,18 +108,18 @@ public class Achieve
 
 
         Icon = attribute[11].Value;
         Icon = attribute[11].Value;
         Type = TypeParse(attribute[4].Value);
         Type = TypeParse(attribute[4].Value);
-        Parent = ParentParse(attribute[6].Value);
+        Value = double.Parse(attribute[5].Value);
         Delete = Convert.ToBoolean(int.Parse(attribute[7].Value));
         Delete = Convert.ToBoolean(int.Parse(attribute[7].Value));
-        TargetValue = double.Parse(attribute[5].Value);
+        Parent = ParentParse(attribute[6].Value);
 
 
-        ID = int.Parse(attribute[0].Value);
+        _ID = int.Parse(attribute[0].Value);
         Index = int.Parse(attribute[1].Value);
         Index = int.Parse(attribute[1].Value);
 
 
         Person = AwardParse(attribute[10].Value);
         Person = AwardParse(attribute[10].Value);
         CoinPerson = AwardParse(attribute[9].Value);
         CoinPerson = AwardParse(attribute[9].Value);
         DiamondOnce = AwardParse(attribute[8].Value);
         DiamondOnce = AwardParse(attribute[8].Value);
 
 
-        ManaAchieve.AchieveDic.Add(ID, this);
+        ManaAchieve.AchieveDic.Add(_ID, this);
         
         
         if (Parent != -1)
         if (Parent != -1)
         {
         {
@@ -169,8 +170,8 @@ public class Achieve
         Button = dic["Btn"].GetComponent<Button>();
         Button = dic["Btn"].GetComponent<Button>();
         BtnLab = dic["BtnLab"].GetComponent<Text>();
         BtnLab = dic["BtnLab"].GetComponent<Text>();
 
 
-        ManaText.Add(Tit, new LanStr("AchieveName", "Achieve" + ID));
-        ManaText.Add(Lab, new LanStr("AchieveDescription", "Achieve" + ID));
+        ManaText.Add(Tit, new LanStr("AchieveName", ID));
+        ManaText.Add(Lab, new LanStr("AchieveDescription", ID));
 
 
         Image.sprite = ManaReso.Load<Sprite>(Icon, Folder.UI);
         Image.sprite = ManaReso.Load<Sprite>(Icon, Folder.UI);
 
 
@@ -234,7 +235,7 @@ public class Achieve
         {
         {
             value = ManaData.Coin;
             value = ManaData.Coin;
         }
         }
-        else if (Type == AchieveType.GardenLevel)
+        else if (Type == AchieveType.Garden)
         {
         {
             value = ManaData.Level;
             value = ManaData.Level;
         }
         }
@@ -243,9 +244,9 @@ public class Achieve
             throw new Exception();
             throw new Exception();
         }
         }
 
 
-        Slider.value = (float)(value / TargetValue);
+        Slider.value = (float)(value / Value);
 
 
-        if (value >= TargetValue)
+        if (value >= Value)
         {
         {
             Finish = true;
             Finish = true;
         }
         }
@@ -258,9 +259,9 @@ public class Achieve
             return;
             return;
         }
         }
 
 
-        Slider.value = (float)(value/TargetValue);
+        Slider.value = (float)(value/Value);
 
 
-        if (value >= TargetValue)
+        if (value >= Value)
         {
         {
             Finish = true;
             Finish = true;
 
 
@@ -272,77 +273,94 @@ public class Achieve
     {
     {
         if (Finish == false)
         if (Finish == false)
         {
         {
-            StringBuilder strB = new StringBuilder();
-
-            strB.Append(Language.GetStr("Object", "AchieveItem_BtnLab0") + "\n");
-
-            if (Math.Abs(DiamondOnce) > 0.0005f)
-            {
-                strB.Append("<(钻石)>" + DiamondOnce.ToString("0"));
-            }
-
-            if (Math.Abs(CoinPerson) > 0.0005f)
+            StatusProcess();
+        }
+        else
+        {
+            if (Valid)
             {
             {
-                strB.Append(Language.GetStr("Common", "CoinPerson") + "+" + CoinPerson.ToString("0") + " ");
+                StatusAvailible();
             }
             }
-
-            if (Math.Abs(Person) > 0.0005f)
+            else
             {
             {
-                strB.Append(Language.GetStr("Common", "Person") + "+" + Person.ToString("0"));
+                StausComplete();
             }
             }
+        }
+    }
 
 
-            Button.interactable = false;
-
-            Button.image.material = ManaReso.Load<Material>("GrayMat", Folder.Shader);
+    public void StatusProcess()
+    {
+        List<object> objList = new List<object>();
+        
+        objList.Add(new LanStr("Object", "AchieveItem_BtnLab0"));
+        objList.Add("\n");
 
 
-            BtnLab.text = strB.ToString();
+        if (Math.Abs(DiamondOnce) > 0.0005f)
+        {
+            objList.Add("<(钻石)>" + DiamondOnce.ToString("0"));
         }
         }
-        else
+
+        if (Math.Abs(CoinPerson) > 0.0005f)
         {
         {
-            if (Valid)
-            {
-                StringBuilder strB = new StringBuilder();
+            objList.Add(new LanStr("Common", "CoinPerson"));
+            objList.Add("+");
+            objList.Add(CoinPerson.ToString("0") + " ");
+        }
 
 
-                strB.Append(Language.GetStr("Object", "AchieveItem_BtnLab1") + "\n");
+        if (Math.Abs(Person) > 0.0005f)
+        {
+            objList.Add(new LanStr("Common", "Person"));
+            objList.Add("+");
+            objList.Add(Person.ToString("0") + " ");
+        }
 
 
-                if (Math.Abs(DiamondOnce) > 0.0005f)
-                {
-                    strB.Append("<(钻石)>" + DiamondOnce.ToString("0"));
-                }
+        Button.interactable = false;
 
 
-                if (Math.Abs(CoinPerson) > 0.0005f)
-                {
-                    strB.Append(Language.GetStr("Common", "CoinPerson") + "+" + CoinPerson.ToString("0") + " ");
-                }
+        Button.image.material = ManaReso.Load<Material>("GrayMat", Folder.Shader);
 
 
-                if (Math.Abs(Person) > 0.0005f)
-                {
-                    strB.Append(Language.GetStr("Common", "Person") + "+" + Person.ToString("0"));
-                }
+        ManaText.Add(BtnLab, objList.ToArray());
+    }
 
 
-                Button.interactable = true;
+    public void StatusAvailible()
+    {
+        List<object> objList = new List<object>();
 
 
-                Button.image.material = null;
+        objList.Add(new LanStr("Object", "AchieveItem_BtnLab1"));
+        objList.Add("\n");
 
 
-                BtnLab.text = strB.ToString();
-            }
-            else
-            {
-                Button.interactable = false;
+        if (Math.Abs(DiamondOnce) > 0.0005f)
+        {
+            objList.Add("<(钻石)>" + DiamondOnce.ToString("0"));
+        }
 
 
-                Button.image.material = null;
+        if (Math.Abs(CoinPerson) > 0.0005f)
+        {
+            objList.Add(new LanStr("Common", "CoinPerson"));
+            objList.Add("+");
+            objList.Add(CoinPerson.ToString("0") + " ");
+        }
 
 
-                BtnLab.text = Language.GetStr("Object", "AchieveItem_BtnLab2");
-            }
+        if (Math.Abs(Person) > 0.0005f)
+        {
+            objList.Add(new LanStr("Common", "Person"));
+            objList.Add("+");
+            objList.Add(Person.ToString("0") + " ");
         }
         }
+
+        Button.interactable = true;
+
+        Button.image.material = null;
+
+        ManaText.Add(BtnLab, objList.ToArray());
     }
     }
 
 
-    public void SwitchLanguage()
+    public void StausComplete()
     {
     {
-        if (Regist)
-        {
-            UpdateStatus();
-        }
+        Button.interactable = false;
+
+        Button.image.material = null;
+
+        ManaText.Add(BtnLab, new LanStr("Object", "AchieveItem_BtnLab2"));
     }
     }
 
 
 
 
@@ -370,14 +388,13 @@ public class Achieve
         }
         }
     }
     }
 
 
-
     public AchieveType TypeParse(string str)
     public AchieveType TypeParse(string str)
     {
     {
         int integer = int.Parse(str);
         int integer = int.Parse(str);
 
 
         if (integer == 1)
         if (integer == 1)
         {
         {
-            return AchieveType.GardenLevel;
+            return AchieveType.Garden;
         }
         }
         else if (integer == 2)
         else if (integer == 2)
         {
         {
@@ -466,7 +483,7 @@ public class ManaAchieve : Regist
                 _DeleDic.Add(AchieveType.MiniGame, MiniGame);
                 _DeleDic.Add(AchieveType.MiniGame, MiniGame);
                 _DeleDic.Add(AchieveType.FlowerCoin, FlowerCoin);
                 _DeleDic.Add(AchieveType.FlowerCoin, FlowerCoin);
                 _DeleDic.Add(AchieveType.CurrentCoin, CurrentCoin);
                 _DeleDic.Add(AchieveType.CurrentCoin, CurrentCoin);
-                _DeleDic.Add(AchieveType.GardenLevel, GardenLevel);
+                _DeleDic.Add(AchieveType.Garden, Garden);
             }
             }
 
 
             return _DeleDic;
             return _DeleDic;
@@ -483,12 +500,12 @@ public class ManaAchieve : Regist
     public static UnityAction<double> Share;
     public static UnityAction<double> Share;
     public static UnityAction<double> Flower;
     public static UnityAction<double> Flower;
     public static UnityAction<double> Person;
     public static UnityAction<double> Person;
+    public static UnityAction<double> Garden;
     public static UnityAction<double> ElfLevel;
     public static UnityAction<double> ElfLevel;
     public static UnityAction<double> TotalCoin;
     public static UnityAction<double> TotalCoin;
     public static UnityAction<double> MiniGame;
     public static UnityAction<double> MiniGame;
     public static UnityAction<double> FlowerCoin;
     public static UnityAction<double> FlowerCoin;
     public static UnityAction<double> CurrentCoin;
     public static UnityAction<double> CurrentCoin;
-    public static UnityAction<double> GardenLevel;
 
 
     #endregion
     #endregion
 
 
@@ -501,19 +518,16 @@ public class ManaAchieve : Regist
             new Achieve(attributeList[i]);
             new Achieve(attributeList[i]);
         }
         }
 
 
-        XmlNode node = Data.PlayerNode.SelectSingleNode("AchieveList");
-        
-        if (!string.IsNullOrEmpty(node.InnerText))
-        {
-            string[] strings = node.InnerText.Split(' ');
 
 
-            for (int i = 0; i < strings.Length; i++)
-            {
-                AchieveDic[int.Parse(strings[i])].Valid = false;
-                AchieveDic[int.Parse(strings[i])].Finish = true;
-            }
+        List<int> achieveList = Data.GetAchieveList();
+
+        for (int i = 0; i < achieveList.Count; i++)
+        {
+            AchieveDic[achieveList[i]].Valid = false;
+            AchieveDic[achieveList[i]].Finish = true;
         }
         }
 
 
+
         foreach (var kv in AchieveDic)
         foreach (var kv in AchieveDic)
         {
         {
             if (kv.Value.Valid)
             if (kv.Value.Valid)
@@ -533,4 +547,15 @@ public class ManaAchieve : Regist
             }
             }
         }
         }
     }
     }
+
+
+    public static void UpdateStatus(AchieveType type, double value)
+    {
+        UnityAction<double> action = DeleDic[type];
+
+        if (action != null)
+        {
+            action.Invoke(value);
+        }
+    }
 }
 }

+ 235 - 67
Assets/Script/Manage/ManaAnim.cs

@@ -29,19 +29,22 @@ public class ManaAnim : Regist
 {
 {
     #region 变量
     #region 变量
 
 
-    public static List<Anim> AnimList;
+    public static List<Move> MoveList;
     public static List<Tween> TweenForList;
     public static List<Tween> TweenForList;
     public static List<Tween> TweenBacList;
     public static List<Tween> TweenBacList;
 
 
-    public static Dictionary<Curve, ShakeFunctionF> ShakeFunctionDicF;
-    public static Dictionary<Curve, ShakeFunctionC> ShakeFunctionDicC;
-    public static Dictionary<Curve, ShakeFunctionV> ShakeFunctionDicV;
-    public static Dictionary<Curve, CurveFunctionF> CurveFunctionDicF;
-    public static Dictionary<Curve, CurveFunctionC> CurveFunctionDicC;
-    public static Dictionary<Curve, CurveFunctionV> CurveFunctionDicV;
+    public static Dictionary<Curve, ShakeFunctionF> ShakeFuncDicF;
+    public static Dictionary<Curve, ShakeFunctionC> ShakeFuncDicC;
+    public static Dictionary<Curve, ShakeFunctionV> ShakeFuncDicV;
+
+    public static Dictionary<Curve, CurveFunctionF> CurveFuncDicF;
+    public static Dictionary<Curve, CurveFunctionC> CurveFuncDicC;
+    public static Dictionary<Curve, CurveFunctionV> CurveFuncDicV;
     
     
-    public static Dictionary<Transform, Move> MoveDic;
     public static Dictionary<Transform, Shake> ShakeDic;
     public static Dictionary<Transform, Shake> ShakeDic;
+    public static Dictionary<Transform, Move2D> MoveDic2D;
+    public static Dictionary<Transform, Move3D> MoveDic3D;
+
     public static Dictionary<Transform, TweenSr> TweenSrDic;
     public static Dictionary<Transform, TweenSr> TweenSrDic;
     public static Dictionary<Transform, TweenCG> TweenCgDic;
     public static Dictionary<Transform, TweenCG> TweenCgDic;
     public static Dictionary<Transform, TweenGra> TweenGraDic;
     public static Dictionary<Transform, TweenGra> TweenGraDic;
@@ -53,11 +56,11 @@ public class ManaAnim : Regist
 
 
     #endregion
     #endregion
 
 
-    private void FixedUpdate()
+    public void FixedUpdate()
     {
     {
-        for (int i = 0; i < AnimList.Count; i++)
+        for (int i = 0; i < MoveList.Count; i++)
         {
         {
-            if (AnimList[i].Do())
+            if (MoveList[i].Do())
             {
             {
                 i--;
                 i--;
             }
             }
@@ -83,19 +86,22 @@ public class ManaAnim : Regist
 
 
     public override void RegistValueA()
     public override void RegistValueA()
     {
     {
-        AnimList = new List<Anim>();
+        MoveList = new List<Move>();
         TweenForList = new List<Tween>();
         TweenForList = new List<Tween>();
         TweenBacList = new List<Tween>();
         TweenBacList = new List<Tween>();
 
 
-        CurveFunctionDicF = new Dictionary<Curve, CurveFunctionF>();
-        CurveFunctionDicC = new Dictionary<Curve, CurveFunctionC>();
-        CurveFunctionDicV = new Dictionary<Curve, CurveFunctionV>();
-        ShakeFunctionDicF = new Dictionary<Curve, ShakeFunctionF>();
-        ShakeFunctionDicC = new Dictionary<Curve, ShakeFunctionC>();
-        ShakeFunctionDicV = new Dictionary<Curve, ShakeFunctionV>();
+        ShakeFuncDicF = new Dictionary<Curve, ShakeFunctionF>();
+        ShakeFuncDicC = new Dictionary<Curve, ShakeFunctionC>();
+        ShakeFuncDicV = new Dictionary<Curve, ShakeFunctionV>();
+
+        CurveFuncDicF = new Dictionary<Curve, CurveFunctionF>();
+        CurveFuncDicC = new Dictionary<Curve, CurveFunctionC>();
+        CurveFuncDicV = new Dictionary<Curve, CurveFunctionV>();
 
 
-        MoveDic = new Dictionary<Transform, Move>();
         ShakeDic = new Dictionary<Transform, Shake>();
         ShakeDic = new Dictionary<Transform, Shake>();
+        MoveDic3D = new Dictionary<Transform, Move3D>();
+        MoveDic2D = new Dictionary<Transform, Move2D>();
+
         TweenSrDic = new Dictionary<Transform, TweenSr>();
         TweenSrDic = new Dictionary<Transform, TweenSr>();
         TweenCgDic = new Dictionary<Transform, TweenCG>();
         TweenCgDic = new Dictionary<Transform, TweenCG>();
         TweenGraDic = new Dictionary<Transform, TweenGra>();
         TweenGraDic = new Dictionary<Transform, TweenGra>();
@@ -105,23 +111,23 @@ public class ManaAnim : Regist
         TweenScaleDic = new Dictionary<Transform, TweenScale>();
         TweenScaleDic = new Dictionary<Transform, TweenScale>();
         TweenAudioDic = new Dictionary<Transform, TweenAudio>();
         TweenAudioDic = new Dictionary<Transform, TweenAudio>();
 
 
-        ShakeFunctionDicF.Add(Curve.Linear, ShakeLinear);
-        ShakeFunctionDicF.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
+        ShakeFuncDicF.Add(Curve.Linear, ShakeLinear);
+        ShakeFuncDicF.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
 
 
-        ShakeFunctionDicC.Add(Curve.Linear, ShakeLinear);
-        ShakeFunctionDicC.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
+        ShakeFuncDicC.Add(Curve.Linear, ShakeLinear);
+        ShakeFuncDicC.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
 
 
-        ShakeFunctionDicV.Add(Curve.Linear, ShakeLinear);
-        ShakeFunctionDicV.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
+        ShakeFuncDicV.Add(Curve.Linear, ShakeLinear);
+        ShakeFuncDicV.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
 
 
-        CurveFunctionDicF.Add(Curve.Linear, Linear);
-        CurveFunctionDicF.Add(Curve.EaseOutQuad, EaseOutQuad);
+        CurveFuncDicF.Add(Curve.Linear, Linear);
+        CurveFuncDicF.Add(Curve.EaseOutQuad, EaseOutQuad);
 
 
-        CurveFunctionDicC.Add(Curve.Linear, Linear);
-        CurveFunctionDicC.Add(Curve.EaseOutQuad, EaseOutQuad);
+        CurveFuncDicC.Add(Curve.Linear, Linear);
+        CurveFuncDicC.Add(Curve.EaseOutQuad, EaseOutQuad);
 
 
-        CurveFunctionDicV.Add(Curve.Linear, Linear);
-        CurveFunctionDicV.Add(Curve.EaseOutQuad, EaseOutQuad);
+        CurveFuncDicV.Add(Curve.Linear, Linear);
+        CurveFuncDicV.Add(Curve.EaseOutQuad, EaseOutQuad);
     }
     }
 
 
 
 
@@ -401,35 +407,51 @@ public class ManaAnim : Regist
 
 
     #region 播放动画
     #region 播放动画
 
 
-    public static void Move(Transform target, Vector3 destination, float duration, bool local, Curve curve)
+    public static void Shake(Transform target, float duration, int repeat, Vector3 strength, Curve curve)
     {
     {
-        Move move;
+        Shake shake;
 
 
-        if (MoveDic.TryGetValue(target, out move))
+        if (ShakeDic.TryGetValue(target, out shake))
         {
         {
-            move.StartMove(destination, duration, local, curve);
+            shake.StartShake(repeat, duration, strength, curve);
         }
         }
         else
         else
         {
         {
-            move = CreateMove(target);
+            shake = CreateShake(target);
 
 
-            move.StartMove(destination, duration, local, curve);
+            shake.StartShake(repeat, duration, strength, curve);
         }
         }
     }
     }
 
 
-    public static void Shake(Transform target, float duration, int repeat, Vector3 strength, Curve curve)
+    public static void Move2D(Transform target, Vector3 destination, float duration, bool local, Curve curve)
     {
     {
-        Shake shake;
+        Move2D move2D;
 
 
-        if (ShakeDic.TryGetValue(target, out shake))
+        if (MoveDic2D.TryGetValue(target, out move2D))
         {
         {
-            shake.StartShake(repeat, duration, strength, curve);
+            move2D.StartMove(destination, duration, local, curve);
         }
         }
         else
         else
         {
         {
-            shake = CreateShake(target);
+            move2D = CreateMove2D(target);
 
 
-            shake.StartShake(repeat, duration, strength, curve);
+            move2D.StartMove(destination, duration, local, curve);
+        }
+    }
+
+    public static void Move3D(Transform target, Vector3 destination, float duration, bool local, Curve curve)
+    {
+        Move3D move3D;
+
+        if (MoveDic3D.TryGetValue(target, out move3D))
+        {
+            move3D.StartMove(destination, duration, local, curve);
+        }
+        else
+        {
+            move3D = CreateMove3D(target);
+
+            move3D.StartMove(destination, duration, local, curve);
         }
         }
     }
     }
 
 
@@ -889,13 +911,13 @@ public class ManaAnim : Regist
 
 
     #region 得到动画
     #region 得到动画
 
 
-    public static Move GetMove(Transform target)
+    public static Shake GetShake(Transform target)
     {
     {
-        Move move;
+        Shake shake;
 
 
-        if (MoveDic.TryGetValue(target, out move))
+        if (ShakeDic.TryGetValue(target, out shake))
         {
         {
-            return move;
+            return shake;
         }
         }
         else
         else
         {
         {
@@ -903,13 +925,27 @@ public class ManaAnim : Regist
         }
         }
     }
     }
 
 
-    public static Shake GetShake(Transform target)
+    public static Move2D GetMove2D(Transform target)
     {
     {
-        Shake shake;
+        Move2D move2D;
 
 
-        if (ShakeDic.TryGetValue(target, out shake))
+        if (MoveDic2D.TryGetValue(target, out move2D))
         {
         {
-            return shake;
+            return move2D;
+        }
+        else
+        {
+            throw new Exception();
+        }
+    }
+
+    public static Move3D GetMove3D(Transform target)
+    {
+        Move3D move3D;
+
+        if (MoveDic3D.TryGetValue(target, out move3D))
+        {
+            return move3D;
         }
         }
         else
         else
         {
         {
@@ -1034,46 +1070,122 @@ public class ManaAnim : Regist
 
 
     #region 创建动画
     #region 创建动画
 
 
-    public static Move CreateMove(Transform target)
+    public static Shake CreateShake(Transform target)
     {
     {
-        if (MoveDic.ContainsKey(target))
+        if (ShakeDic.ContainsKey(target))
         {
         {
-            Move move = MoveDic[target];
+            Shake shake = ShakeDic[target];
 
 
-            move = new Move(target);
+            shake = new Shake(target);
 
 
-            return move;
+            return shake;
         }
         }
         else
         else
         {
         {
-            Move move = new Move(target);
+            Shake shake = new Shake(target);
 
 
-            MoveDic.Add(target, move);
+            ShakeDic.Add(target, shake);
 
 
-            return move;
+            return shake;
         }
         }
     }
     }
 
 
-    public static Shake CreateShake(Transform target)
+    public static Move2D CreateMove2D(Transform target)
     {
     {
-        if (ShakeDic.ContainsKey(target))
+        if (MoveDic2D.ContainsKey(target))
         {
         {
-            Shake shake = ShakeDic[target];
+            Move2D move2D = MoveDic2D[target];
 
 
-            shake = new Shake(target);
+            move2D = new Move2D(target);
 
 
-            return shake;
+            return move2D;
         }
         }
         else
         else
         {
         {
-            Shake shake = new Shake(target);
+            Move2D move2D = new Move2D(target);
 
 
-            ShakeDic.Add(target, shake);
+            MoveDic2D.Add(target, move2D);
 
 
-            return shake;
+            return move2D;
         }
         }
     }
     }
 
 
+    public static Move3D CreateMove3D(Transform target)
+    {
+        if (MoveDic3D.ContainsKey(target))
+        {
+            Move3D move3D = MoveDic3D[target];
+
+            move3D = new Move3D(target);
+
+            return move3D;
+        }
+        else
+        {
+            Move3D move3D = new Move3D(target);
+
+            MoveDic3D.Add(target, move3D);
+
+            return move3D;
+        }
+    }
+
+
+    public static TweenSr CreateTweenSr(Transform target, float originAlpha, float destinationAlpha, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    {
+        TweenSr tween;
+        SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
+
+        Color origin = sr.color;
+        Color destination = sr.color;
+
+        origin.a = originAlpha;
+        destination.a = destinationAlpha;
+
+        if (TweenSrDic.ContainsKey(target))
+        {
+             tween = TweenSrDic[target];
+
+            tween = new TweenSr(sr, origin, destination, duration, group, originActive, destActive, curve);
+
+            return tween;
+        }
+        else
+        {
+             tween = new TweenSr(sr, origin, destination, duration, group, originActive, destActive, curve);
+
+            TweenSrDic.Add(target, tween);
+
+            return tween;
+        }
+    }
+
+    public static TweenSr CreateTweenSr(Transform target, float destinationAlpha, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    {
+        TweenSr tween;
+        SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
+
+        Color destination = sr.color;
+
+        destination.a = destinationAlpha;
+
+        if (TweenSrDic.ContainsKey(target))
+        {
+             tween = TweenSrDic[target];
+
+            tween = new TweenSr(sr, sr.color, destination, duration, group, originActive, destActive, curve);
+
+            return tween;
+        }
+        else
+        {
+             tween = new TweenSr(sr, sr.color, destination, duration, group, originActive, destActive, curve);
+
+            TweenSrDic.Add(target, tween);
+
+            return tween;
+        }
+    }
 
 
     public static TweenSr CreateTweenSr(Transform target, Color origin, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
     public static TweenSr CreateTweenSr(Transform target, Color origin, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
     {
     {
@@ -1171,6 +1283,62 @@ public class ManaAnim : Regist
         }
         }
     }
     }
 
 
+    public static TweenGra CreateTweenGra(Transform target, float originAlpha, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve)
+    {
+        Graphic graphic = target.GetComponent<Graphic>();
+        TweenGra tween;
+
+        Color origin = graphic.color;
+        Color destination = graphic.color;
+
+        origin.a = originAlpha;
+        destination.a = destinationAlpha;
+
+        if (TweenGraDic.ContainsKey(target))
+        {
+            tween = TweenGraDic[target];
+
+            tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
+
+            return tween;
+        }
+        else
+        {
+            tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
+
+            TweenGraDic.Add(target, tween);
+
+            return tween;
+        }
+    }
+
+    public static TweenGra CreateTweenGra(Transform target, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve)
+    {
+        Graphic graphic = target.GetComponent<Graphic>();
+        TweenGra tween;
+
+        Color destination = graphic.color;
+
+        destination.a = destinationAlpha;
+
+        if (TweenGraDic.ContainsKey(target))
+        {
+             tween = TweenGraDic[target];
+
+            tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
+
+            return tween;
+        }
+        else
+        {
+             tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
+
+            TweenGraDic.Add(target, tween);
+
+            return tween;
+        }
+    }
+
     public static TweenGra CreateTweenGra(Transform target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
     public static TweenGra CreateTweenGra(Transform target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
     {
     {
         if (TweenGraDic.ContainsKey(target))
         if (TweenGraDic.ContainsKey(target))

+ 7 - 10
Assets/Script/Manage/ManaAudio.cs

@@ -6,15 +6,13 @@ public class ManaAudio : Regist
 {
 {
     #region 变量
     #region 变量
 
 
-    public static ManaAudio Instance;
-
-    public static bool Music;
     public static bool Audio;
     public static bool Audio;
-    public static Transform AudioParent;
-    public static Transform MusicParent;
-
+    public static bool Music;
     public static Coroutine CoroTheme;
     public static Coroutine CoroTheme;
     public static Coroutine CoroMiniGame;
     public static Coroutine CoroMiniGame;
+    public static Transform AudioParent;
+    public static Transform MusicParent;
+    public static ManaAudio Instance;
     public static AudioSource MusicMini;
     public static AudioSource MusicMini;
     public static AudioSource MusicTheme;
     public static AudioSource MusicTheme;
 
 
@@ -30,11 +28,10 @@ public class ManaAudio : Regist
     
     
     public override void RegistValueA()
     public override void RegistValueA()
     {
     {
+        Audio = true;
+        Music = true;
         Instance = this;
         Instance = this;
 
 
-        Music = true;
-        Audio = true;
-        
         #region MusicMini
         #region MusicMini
 
 
         Transform tra = MusicMini.transform;
         Transform tra = MusicMini.transform;
@@ -144,7 +141,7 @@ public class ManaAudio : Regist
     }
     }
 
 
 
 
-    private IEnumerator Loop(AudioSource audioSource)
+    public IEnumerator Loop(AudioSource audioSource)
     {
     {
         while (true)
         while (true)
         {
         {

+ 1 - 3
Assets/Script/Manage/ManaColor.cs

@@ -3,10 +3,8 @@
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 
 
-public class ManaColor : MonoBehaviour
+public class ManaColor
 {
 {
 	public static Color Orange = new Color(233/255f, 63/255f, 20/255f, 1);
 	public static Color Orange = new Color(233/255f, 63/255f, 20/255f, 1);
 	public static Color LightGray = new Color(165/255f, 192/255f, 200/255f, 1);
 	public static Color LightGray = new Color(165/255f, 192/255f, 200/255f, 1);
-
-    public static Color HudText = new Color(1f, 1f, 1f, 1f);
 }
 }

+ 149 - 238
Assets/Script/Manage/ManaData.cs

@@ -21,10 +21,7 @@ public class ManaData : Regist
         {
         {
             _AD = value;
             _AD = value;
 
 
-            if (ManaAchieve.DeleDic[AchieveType.AD] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.AD].Invoke(_AD);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.AD, _AD);
         }
         }
     }
     }
     public static double Skill
     public static double Skill
@@ -34,10 +31,7 @@ public class ManaData : Regist
         {
         {
             _Skill = value;
             _Skill = value;
 
 
-            if (ManaAchieve.DeleDic[AchieveType.Skill] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.Skill].Invoke(_Skill);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.Skill, _Skill);
         }
         }
     }
     }
     public static double Sign
     public static double Sign
@@ -47,10 +41,7 @@ public class ManaData : Regist
         {
         {
             _Sign = value;
             _Sign = value;
 
 
-            if (ManaAchieve.DeleDic[AchieveType.Sign] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.Sign].Invoke(_Sign);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.Sign, _Sign);
         }
         }
     }
     }
     public static double Share
     public static double Share
@@ -60,10 +51,7 @@ public class ManaData : Regist
         {
         {
             _Share = value;
             _Share = value;
 
 
-            if (ManaAchieve.DeleDic[AchieveType.Share] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.Share].Invoke(_Share);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.Share, _Share);
         }
         }
     }
     }
     public static double ElfLevel
     public static double ElfLevel
@@ -73,10 +61,7 @@ public class ManaData : Regist
         {
         {
             _ElfLevel = value;
             _ElfLevel = value;
 
 
-            if (ManaAchieve.DeleDic[AchieveType.ElfLevel] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.ElfLevel].Invoke(_ElfLevel);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.ElfLevel, _ElfLevel);
         }
         }
     }
     }
     public static double TotalCoin
     public static double TotalCoin
@@ -86,10 +71,7 @@ public class ManaData : Regist
         {
         {
             _TotalCoin = value;
             _TotalCoin = value;
 
 
-            if (ManaAchieve.DeleDic[AchieveType.TotalCoin] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.TotalCoin].Invoke(_TotalCoin);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.TotalCoin, _TotalCoin);
         }
         }
     }
     }
     public static double MiniGame
     public static double MiniGame
@@ -99,10 +81,7 @@ public class ManaData : Regist
         {
         {
             _MiniGame = value;
             _MiniGame = value;
 
 
-            if (ManaAchieve.DeleDic[AchieveType.MiniGame] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.MiniGame].Invoke(_MiniGame);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.MiniGame, _MiniGame);
         }
         }
     }
     }
     public static double FlowerCoin
     public static double FlowerCoin
@@ -111,11 +90,8 @@ public class ManaData : Regist
         set
         set
         {
         {
             _FlowerCoin = value;
             _FlowerCoin = value;
-
-            if (ManaAchieve.DeleDic[AchieveType.FlowerCoin] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.FlowerCoin].Invoke(_FlowerCoin);
-            }
+            
+            ManaAchieve.UpdateStatus(AchieveType.FlowerCoin, _FlowerCoin);
         }
         }
     }
     }
 
 
@@ -154,10 +130,7 @@ public class ManaData : Regist
                 SkillList[i].UpdateStatus();
                 SkillList[i].UpdateStatus();
             }
             }
 
 
-            if (ManaAchieve.DeleDic[AchieveType.GardenLevel] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.GardenLevel].Invoke(_Level);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.Garden, _Level);
         }
         }
     }
     }
     public static bool Pause
     public static bool Pause
@@ -188,12 +161,9 @@ public class ManaData : Regist
         {
         {
             _Person = value;
             _Person = value;
 
 
-            if (ManaAchieve.DeleDic[AchieveType.Person] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.Person].Invoke(_Person);
-            }
-
             ManaReso.SetText("F_PersonLab", _Person.ToString("0.0"));
             ManaReso.SetText("F_PersonLab", _Person.ToString("0.0"));
+
+            ManaAchieve.UpdateStatus(AchieveType.Person, _Person);
         }
         }
     }
     }
     public static float CoinPerson
     public static float CoinPerson
@@ -220,11 +190,8 @@ public class ManaData : Regist
 
 
             ManaReso.SetText("F_CoinLab", _Coin.ToString("0"));
             ManaReso.SetText("F_CoinLab", _Coin.ToString("0"));
             ManaReso.SetText("C_CoinLab", _Coin.ToString("0"));
             ManaReso.SetText("C_CoinLab", _Coin.ToString("0"));
-
-            if (ManaAchieve.DeleDic[AchieveType.CurrentCoin] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.CurrentCoin].Invoke(_Coin);
-            }
+            
+            ManaAchieve.UpdateStatus(AchieveType.CurrentCoin, _Coin);
         }
         }
     }
     }
     public static double Diamond
     public static double Diamond
@@ -246,93 +213,58 @@ public class ManaData : Regist
     private static double _Coin;
     private static double _Coin;
     private static double _Diamond;
     private static double _Diamond;
 
 
-    public static float SkillPlus;
-    public static float SkillPerson;
-    public static float SkillPersonBuff;
-    public static float SkillCoinPerson;
-
-    public static int Main;
-    public static int SignIndex;
-    public static bool Mini;
-    public static bool SkillBar;
-    public static bool Connect;
-    public static float OpTime;
-    public static float OpTimer;
-    public static float MiniTimer;
-    public static float CircleTime;
-    public static float CircleTimer;
-    public static float NewPerson;
-    public static float NewCoinPerson;
-
-    public static List<Skill> CoolList;
-    public static List<SkillRoot> UseList;
-    public static List<SkillRoot> SkillList;
-    public static Dictionary<string, SkillRoot> SkillDic;
-
-    #endregion
-
-    public override void Instantiate()
+    public static List<SkillRoot> SkillList
     {
     {
-        #region 生成技能条
-
-        #region 读技能配置
-
-        SkillDic = new Dictionary<string, SkillRoot>();
-        SkillList = new List<SkillRoot>();
-
-        List<XmlAttributeCollection> attributesList = Data.GetSkillConfig();
-
-        for (int i = 0; i < attributesList.Count; i++)
+        get
         {
         {
-            SkillRoot skillRoot;
-
-            #region MyRegion
-
-            if (attributesList[i].Count == 17)
-            {
-                skillRoot = new Pack(attributesList[i]);
-            }
-            else if (attributesList[i].Count == 23)
+            if (_SkillList == null)
             {
             {
-                skillRoot = new Ability(attributesList[i]);
+                _SkillList = new List<SkillRoot>();
             }
             }
-            else if (attributesList[i].Count == 33)
-            {
-                if (string.IsNullOrEmpty(attributesList[i][4].Value))
-                {
-                    skillRoot = new Skill(attributesList[i]);
-                }
-                else
-                {
-                    skillRoot = new BigSkill(attributesList[i]);
-                }
-            }
-            else
+
+            return _SkillList;
+        }
+        set { _SkillList = value; }
+    }
+    public static Dictionary<string, SkillRoot> SkillDic
+    {
+        get
+        {
+            if (_SkillDic == null)
             {
             {
-                throw new Exception(attributesList[i].Count.ToString());
+                _SkillDic = new Dictionary<string, SkillRoot>();
             }
             }
 
 
-            #endregion
-            
-            SkillDic.Add(skillRoot._Name, skillRoot);
-            SkillList.Add(skillRoot);
+            return _SkillDic;
         }
         }
+        set { _SkillDic = value; }
+    }
 
 
-        SkillList.Sort(SkillRoot.Sort);
+    public static List<SkillRoot> _SkillList;
+    public static Dictionary<string, SkillRoot> _SkillDic;
 
 
-        #endregion
+    public static int SignIndex;
+    public static int MainDepth;
+    public static bool Mini;
+    public static bool SkillBar;
+    public static bool Connect;
+    public static float OpTime = 90;
+    public static float OpTimer;
+    public static float MiniTimer;
+    public static float CircleTime = 10;
+    public static float CircleTimer;
+    public static float NewPerson;
+    public static float NewCoinPerson;
 
 
-        for (int i = 0; i < SkillList.Count; i++)
-        {
-            if (SkillList[i].SkillTab != SkillTab.Null)
-            {
-                ManaReso.GetSkillItem(SkillList[i]);
-            }
-        }
+    public static float SkillPlus;
+    public static float SkillPerson;
+    public static float SkillPersonBuff;
+    public static float SkillCoinPerson;
 
 
-        #endregion
-    }
+    public static List<Skill> CoolList = new List<Skill>();
+    public static List<SkillRoot> UseList = new List<SkillRoot>();
 
 
+    #endregion
 
 
     private void Update()
     private void Update()
     {
     {
@@ -374,7 +306,7 @@ public class ManaData : Regist
         {
         {
             OpTimer = 0;
             OpTimer = 0;
 
 
-            if (Main == 0)
+            if (MainDepth == 0)
             {
             {
                 ManaReso.Get("C_Main").TweenForCG();
                 ManaReso.Get("C_Main").TweenForCG();
             }
             }
@@ -387,7 +319,7 @@ public class ManaData : Regist
             {
             {
                 OpTimer = 0;
                 OpTimer = 0;
 
 
-                if (Main == -1)
+                if (MainDepth == -1)
                 {
                 {
                     ManaReso.Get("C_Main").TweenBacCG();
                     ManaReso.Get("C_Main").TweenBacCG();
                 }
                 }
@@ -407,7 +339,7 @@ public class ManaData : Regist
             RegularFixedUpdate();
             RegularFixedUpdate();
         }
         }
     }
     }
-
+    
     private void TutorialFixedUpdate()
     private void TutorialFixedUpdate()
     {
     {
         
         
@@ -415,7 +347,7 @@ public class ManaData : Regist
 
 
     private void RegularFixedUpdate()
     private void RegularFixedUpdate()
     {
     {
-        #region 使用技能
+        #region 技能
 
 
         for (int i = 0; i < UseList.Count; i++)
         for (int i = 0; i < UseList.Count; i++)
         {
         {
@@ -425,10 +357,6 @@ public class ManaData : Regist
             }
             }
         }
         }
 
 
-        #endregion
-
-        #region 冷却技能
-
         for (int i = 0; i < CoolList.Count; i++)
         for (int i = 0; i < CoolList.Count; i++)
         {
         {
             if (CoolList[i].DoCool())
             if (CoolList[i].DoCool())
@@ -439,7 +367,7 @@ public class ManaData : Regist
 
 
         #endregion
         #endregion
 
 
-        #region 计算参观收入
+        #region 参观收入
 
 
         CircleTimer -= Time.deltaTime;
         CircleTimer -= Time.deltaTime;
 
 
@@ -454,9 +382,9 @@ public class ManaData : Regist
 
 
             Coin += temp;
             Coin += temp;
 
 
-            if (Main == -1)
+            if (MainDepth == -1)
             {
             {
-                ManaReso.GetHudText("+" + temp.ToString("0"), ManaColor.HudText, 25, ManaReso.Get("C_HudTra"), ManaReso.Get("C_Main"), false);
+                ManaReso.GetHudText("+" + temp.ToString("0"), Color.white, 25, ManaReso.Get("C_PosTra"), ManaReso.Get("C_Main"), false);
             }
             }
 
 
             ManaDebug.Log(string.Format("参观收益<color=red>{0:0}</color> = <color=red>{1}</color> * <color=red>{2}</color> * <color=red>{3}</color> * <color=red>{4}</color> (人次*金币*时间*加成)", temp, NewPerson, NewCoinPerson, CircleTime, 1 + SkillPlus));
             ManaDebug.Log(string.Format("参观收益<color=red>{0:0}</color> = <color=red>{1}</color> * <color=red>{2}</color> * <color=red>{3}</color> * <color=red>{4}</color> (人次*金币*时间*加成)", temp, NewPerson, NewCoinPerson, CircleTime, 1 + SkillPlus));
@@ -466,71 +394,112 @@ public class ManaData : Regist
     }
     }
 
 
 
 
-    public override void RegistValueA()
+    public override void Instantiate()
     {
     {
-        OpTime = 90;
-        MiniTimer = 0;
-        CircleTime = 10;
+        #region 生成技能条
 
 
-        #region 调试
+        #region 读技能配置
 
 
-        if (ManaReso.Get("B_SignIn").gameObject.activeSelf)
+        List<XmlAttributeCollection> attributeList = Data.GetSkillConfig();
+
+        for (int i = 0; i < attributeList.Count; i++)
         {
         {
-            Main = 1;
+            SkillRoot skillRoot;
+
+            #region MyRegion
+
+            if (attributeList[i].Count == 17)
+            {
+                skillRoot = new Pack(attributeList[i]);
+            }
+            else if (attributeList[i].Count == 23)
+            {
+                skillRoot = new Ability(attributeList[i]);
+            }
+            else if (attributeList[i].Count == 33)
+            {
+                if (string.IsNullOrEmpty(attributeList[i][4].Value))
+                {
+                    skillRoot = new Skill(attributeList[i]);
+                }
+                else
+                {
+                    skillRoot = new BigSkill(attributeList[i]);
+                }
+            }
+            else
+            {
+                throw new Exception(attributeList[i].Count.ToString());
+            }
+
+            #endregion
+
+            SkillDic.Add(skillRoot._Name, skillRoot);
+            SkillList.Add(skillRoot);
         }
         }
-        else
+
+        SkillList.Sort(SkillRoot.Sort);
+
+        #endregion
+
+        for (int i = 0; i < SkillList.Count; i++)
         {
         {
-            Main = 0;
+            if (SkillList[i].SkillTab != SkillTab.Null)
+            {
+                ManaReso.GetSkillItem(SkillList[i]);
+            }
         }
         }
 
 
         #endregion
         #endregion
+    }
 
 
-        #region 读数据存档
-
-        SignIndex = int.Parse(Data.PlayerNode.SelectSingleNode("SignIndex").Attributes[0].Value);
-        ManaMiniGame.MiniGameAmt = int.Parse(Data.PlayerNode.SelectSingleNode("MiniGameAmt").Attributes[0].Value);
+    public override void RegistValueA()
+    {
+        if (ManaReso.Get("B_SignIn").gameObject.activeSelf)
+        {
+            MainDepth = 1;
+        }
+        else
+        {
+            MainDepth = 0;
+        }
 
 
-        CircleTimer = float.Parse(Data.PlayerNode.SelectSingleNode("CircleTimer").Attributes[0].Value);
+        #region 读数据存档
 
 
-        int slot = int.Parse(Data.PlayerNode.SelectSingleNode("Slot").Attributes[0].Value);
+        SignIndex = Data.PlayerInt("SignIndex");
+        CircleTimer = Data.PlayerFloat("CircleTimer");
 
 
-        for (int i = 0; i < slot; i++)
+        for (int i = 0; i < Data.PlayerInt("Slot"); i++)
         {
         {
             ManaGarden.UnlockSlot();
             ManaGarden.UnlockSlot();
         }
         }
 
 
-        AD = double.Parse(Data.PlayerNode.SelectSingleNode("AchieveData").Attributes[0].Value);
-        Skill = double.Parse(Data.PlayerNode.SelectSingleNode("AchieveData").Attributes[1].Value);
-        Sign = double.Parse(Data.PlayerNode.SelectSingleNode("AchieveData").Attributes[2].Value);
-        Share = double.Parse(Data.PlayerNode.SelectSingleNode("AchieveData").Attributes[3].Value);
-        MiniGame = double.Parse(Data.PlayerNode.SelectSingleNode("AchieveData").Attributes[4].Value);
-        FlowerCoin = double.Parse(Data.PlayerNode.SelectSingleNode("AchieveData").Attributes[5].Value);
+        List<double> dataList = Data.GetAchieveData();
+
+        AD = dataList[0];
+        Skill = dataList[1];
+        Sign = dataList[2];
+        Share = dataList[3];
+        MiniGame = dataList[4];
+        FlowerCoin = dataList[5];
 
 
         #endregion
         #endregion
 
 
         #region 读花朵存档
         #region 读花朵存档
 
 
-        XmlAttributeCollection attributes = Data.PlayerNode.SelectSingleNode("FlowerList").Attributes;
+        List<int> flowerList = Data.GetFlowerList();
 
 
-        if (!string.IsNullOrEmpty(attributes[0].Value))
+        for (int i = 0; i < flowerList.Count; i++)
         {
         {
-            string[] strings = attributes[0].Value.Split(' ');
-
-            for (int i = 0; i < strings.Length; i++)
-            {
-                int id = int.Parse(strings[i]);
-
-                ManaGarden.FlowerInfoList[id].Unlock = true;
-            }
+            ManaGarden.FlowerInfoList[flowerList[i]].Unlock = true;
         }
         }
 
 
-        attributes = Data.PlayerNode.SelectSingleNode("PlantList").Attributes;
 
 
-        for (int i = 0; i < attributes.Count; i++)
-        {
-            int id = int.Parse(attributes[i].Value);
+        List<KV<int, string>> plantList = Data.GetPlantList();
 
 
-            ManaGarden.PlantFlower(id, attributes[i].Name);
+        for (int i = 0; i < plantList.Count; i++)
+        {
+            ManaGarden.PlantFlower(plantList[i].Key, plantList[i].Value);
         }
         }
 
 
         #endregion
         #endregion
@@ -540,9 +509,6 @@ public class ManaData : Regist
     {
     {
         #region 读技能存档
         #region 读技能存档
 
 
-        UseList = new List<SkillRoot>();
-        CoolList = new List<Skill>();
-
         float elapse = (float) DateTime.Now.Subtract(DateTime.Parse(Data.PlayerNode.SelectSingleNode("QuitTime").Attributes[0].Value)).TotalSeconds;
         float elapse = (float) DateTime.Now.Subtract(DateTime.Parse(Data.PlayerNode.SelectSingleNode("QuitTime").Attributes[0].Value)).TotalSeconds;
 
 
         if (elapse > 43200)
         if (elapse > 43200)
@@ -552,8 +518,6 @@ public class ManaData : Regist
         
         
         ManaDebug.Log(string.Format("离线时间<color=red>{0}</color>", elapse));
         ManaDebug.Log(string.Format("离线时间<color=red>{0}</color>", elapse));
 
 
-        XmlNodeList xmlNodeList = Data.PlayerNode.SelectSingleNode("SkillList").ChildNodes;
-
         List<SkillRoot> ffCoolList = new List<SkillRoot>();
         List<SkillRoot> ffCoolList = new List<SkillRoot>();
         List<List<SkillRoot>> ffUseList = new List<List<SkillRoot>>();
         List<List<SkillRoot>> ffUseList = new List<List<SkillRoot>>();
 
 
@@ -573,79 +537,28 @@ public class ManaData : Regist
             ManaDebug.Log(string.Format("离线周期<color=red>{0}</color>", 0));
             ManaDebug.Log(string.Format("离线周期<color=red>{0}</color>", 0));
         }
         }
 
 
-        for (int i = 0; i < xmlNodeList.Count; i++)
-        {
-            if (xmlNodeList[i].Attributes[0].Value == SkillType.Skill.ToString())
-            {
-                Skill skill = (Skill)SkillDic[xmlNodeList[i].Name];
-
-                skill.RegistReference();
-
-                skill.Level = int.Parse(xmlNodeList[i].Attributes[2].Value);
-                skill.CoolTimer = float.Parse(xmlNodeList[i].Attributes[3].Value);
-                skill.UseTimer = float.Parse(xmlNodeList[i].Attributes[4].Value);
+        List<XmlAttributeCollection> attributeList = Data.GetSkillList();
 
 
-                skill._ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), xmlNodeList[i].Attributes[1].Value);
-
-                skill.RegistValue(elapse, ffUseList);
-            }
-            else if (xmlNodeList[i].Attributes[0].Value == SkillType.BigSkill.ToString())
-            {
-                BigSkill bigSkill = (BigSkill)SkillDic[xmlNodeList[i].Name];
-
-                bigSkill.RegistReference();
-
-                bigSkill.Level = int.Parse(xmlNodeList[i].Attributes[3].Value);
-                bigSkill.CoolTimer = float.Parse(xmlNodeList[i].Attributes[4].Value);
-                bigSkill.UseTimer = float.Parse(xmlNodeList[i].Attributes[5].Value);
-
-                bigSkill._ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), xmlNodeList[i].Attributes[1].Value);
-                bigSkill._BarStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), xmlNodeList[i].Attributes[2].Value);
-
-                bigSkill.RegistValue(elapse, ffUseList);
-            }
-            else if (xmlNodeList[i].Attributes[0].Value == SkillType.Pack.ToString())
-            {
-                Pack pack = (Pack)SkillDic[xmlNodeList[i].Attributes[1].Value];
-
-                pack.RegistReference();
-
-                pack.Level = int.Parse(xmlNodeList[i].Attributes[3].Value);
-
-                pack._ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), xmlNodeList[i].Attributes[2].Value);
-
-                pack.RegistValue(elapse, ffUseList);
-            }
-            else if (xmlNodeList[i].Attributes[0].Value == SkillType.Ability.ToString())
-            {
-                Ability ability = (Ability)SkillDic[xmlNodeList[i].Name];
-
-                ability.RegistReference();
-
-                ability.Level = int.Parse(xmlNodeList[i].Attributes[2].Value);
+        for (int i = 0; i < attributeList.Count; i++)
+        {
+            SkillRoot skillRoot = SkillDic[attributeList[i][0].Value];
 
 
-                ability._ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), xmlNodeList[i].Attributes[1].Value);
+            skillRoot.RegistReference();
 
 
-                ability.RegistValue(elapse, ffUseList);
-            }
-            else
-            {
-                throw new Exception();
-            }
+            skillRoot.RegistValue(elapse, ffUseList, attributeList[i]);
         }
         }
 
 
         #endregion
         #endregion
 
 
         #region 读数据存档
         #region 读数据存档
 
 
-        Level = int.Parse(Data.PlayerNode.SelectSingleNode("Level").Attributes[0].Value);
-        MiniTimer = float.Parse(Data.PlayerNode.SelectSingleNode("MiniTimer").Attributes[0].Value);
+        Coin = Data.PlayerDouble("Coin");
+        Level = Data.PlayerInt("Level");
+        Diamond = Data.PlayerDouble("Diamond");
+        MiniTimer = Data.PlayerFloat("MiniTimer");
 
 
         ManaDebug.Log(string.Format("<color=red>{0:0}</color>秒后激活小游戏", MiniTimer));
         ManaDebug.Log(string.Format("<color=red>{0:0}</color>秒后激活小游戏", MiniTimer));
 
 
-        Coin = double.Parse(Data.PlayerNode.SelectSingleNode("Coin").Attributes[0].Value);
-        Diamond = double.Parse(Data.PlayerNode.SelectSingleNode("Diamond").Attributes[0].Value);
-
         #endregion
         #endregion
 
 
         #region 计算离线收入
         #region 计算离线收入
@@ -711,9 +624,7 @@ public class ManaData : Regist
 
 
     public override void TutorialRegistValue()
     public override void TutorialRegistValue()
     {
     {
-        int slot = int.Parse(Data.PlayerNode.SelectSingleNode("Slot").Attributes[0].Value);
-
-        for (int i = 0; i < slot; i++)
+        for (int i = 0; i < Data.PlayerInt("Slot"); i++)
         {
         {
             ManaGarden.UnlockSlot();
             ManaGarden.UnlockSlot();
         }
         }

+ 16 - 7
Assets/Script/Manage/ManaGarden.cs

@@ -11,6 +11,18 @@ using System.Collections.Generic;
 
 
 using Random = UnityEngine.Random;
 using Random = UnityEngine.Random;
 
 
+public struct KV<T1,T2>
+{
+    public T1 Key;
+    public T2 Value;
+
+    public KV(T1 key, T2 value)
+    {
+        Key = key;
+        Value = value;
+    }
+}
+
 public class ManaGarden : Regist
 public class ManaGarden : Regist
 {
 {
     #region 变量
     #region 变量
@@ -22,10 +34,7 @@ public class ManaGarden : Regist
         {
         {
             _MyFlower = value;
             _MyFlower = value;
 
 
-            if (ManaAchieve.DeleDic[AchieveType.Flower] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.Flower].Invoke(_MyFlower);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.Flower, _MyFlower);
 
 
             ManaReso.SetText("F_FlowerLab", string.Format("{0}", MyFlower));
             ManaReso.SetText("F_FlowerLab", string.Format("{0}", MyFlower));
             ManaReso.SetText("G_CollectLab1", string.Format("{0}/{1}", MyFlower, TotalFlower));
             ManaReso.SetText("G_CollectLab1", string.Format("{0}/{1}", MyFlower, TotalFlower));
@@ -207,11 +216,11 @@ public class ManaGarden : Regist
         PlantList = new List<Slot>();
         PlantList = new List<Slot>();
         FlowerInfoList = new List<FlowerInfo>();
         FlowerInfoList = new List<FlowerInfo>();
 
 
-        List<XmlAttributeCollection> attributesList = Data.GetFlowerConfig();
+        List<XmlAttributeCollection> attributeList = Data.GetFlowerConfig();
 
 
-        for (int i = 0; i < attributesList.Count; i++)
+        for (int i = 0; i < attributeList.Count; i++)
         {
         {
-            FlowerInfo flowerInfo = new FlowerInfo(attributesList[i]);
+            FlowerInfo flowerInfo = new FlowerInfo(attributeList[i]);
 
 
             if (flowerInfo.Special)
             if (flowerInfo.Special)
             {
             {

+ 22 - 9
Assets/Script/Manage/ManaMiniGame.cs

@@ -117,19 +117,29 @@ public class Award
             {
             {
                 ManaReso.SetActive("Da_Flower", true);
                 ManaReso.SetActive("Da_Flower", true);
 
 
+                int Anti = 0;
                 FlowerInfo flowerInfo;
                 FlowerInfo flowerInfo;
 
 
                 while (true)
                 while (true)
                 {
                 {
+                    Anti++;
+
+                    if (Anti > 1000)
+                    {
+                        ManaReso.SetText("Da_FlowerLab", "没有可用的花朵");
+
+                        break;
+                    }
+
                     flowerInfo = ManaGarden.FlowerInfoList.Random();
                     flowerInfo = ManaGarden.FlowerInfoList.Random();
 
 
                     if (flowerInfo.Unlock)
                     if (flowerInfo.Unlock)
                     {
                     {
+                        ManaReso.SetText("Da_FlowerLab", Language.GetStr("FlowerName", "Flower" + flowerInfo.ID));
+
                         break;
                         break;
                     }
                     }
                 }
                 }
-
-                ManaReso.SetText("Da_FlowerLab", Language.GetStr("FlowerName", "Flower" + flowerInfo.Id));
             }
             }
         }
         }
 
 
@@ -258,7 +268,7 @@ public class ManaMiniGame : Regist
     private static float _GameTimer;
     private static float _GameTimer;
     private static float _PrepareTimer;
     private static float _PrepareTimer;
 
 
-    public static int MiniGameAmt;
+    public static int MiniGameIndex;
     public static bool DropDiamond;
     public static bool DropDiamond;
     public static List<DropGold> GoldList;
     public static List<DropGold> GoldList;
     public static List<DropDiamond> DiamondList;
     public static List<DropDiamond> DiamondList;
@@ -374,15 +384,18 @@ public class ManaMiniGame : Regist
 
 
         OpTimer = OpTime;
         OpTimer = OpTime;
         GameTimer = GameTime;
         GameTimer = GameTime;
+        MiniGameIndex = Data.PlayerInt("MiniGameIndex");
 
 
         Award = new Award(Data.GetAwardConfig());
         Award = new Award(Data.GetAwardConfig());
 
 
-        PrepareLab.CreateTweenGra(ManaColor.Orange, new Color(ManaColor.Orange.r, ManaColor.Orange.g, ManaColor.Orange.b, 0), 0.25f, true, false, Curve.EaseOutQuad);
+        PrepareLab.color = ManaColor.Orange;
+        PrepareLab.CreateTweenGra(1, 0, 0.25f, true, false, Curve.EaseOutQuad);
+
         Tween tween = PrepareLab.CreateTweenText(90, 100, 0.25f, true, false, Curve.EaseOutQuad);
         Tween tween = PrepareLab.CreateTweenText(90, 100, 0.25f, true, false, Curve.EaseOutQuad);
 
 
         tween.OnForwardFinish += () =>
         tween.OnForwardFinish += () =>
         {
         {
-            PrepareLab.color = ManaColor.Orange;
+            PrepareLab.SetAlpha(1);
             PrepareLab.fontSize = 90;
             PrepareLab.fontSize = 90;
         };
         };
     }
     }
@@ -507,16 +520,16 @@ public class ManaMiniGame : Regist
 
 
     public static void GameBegin()
     public static void GameBegin()
     {
     {
-        MiniGameAmt++;
+        MiniGameIndex++;
 
 
         GoldTimer = Random.Range(3f, 6f);
         GoldTimer = Random.Range(3f, 6f);
         DIamondTimer = Random.Range(0f, 40f);
         DIamondTimer = Random.Range(0f, 40f);
 
 
-        ManaDebug.Log(string.Format("第<color=red>{0}</color>次小游戏", MiniGameAmt));
+        ManaDebug.Log(string.Format("第<color=red>{0}</color>次小游戏", MiniGameIndex));
 
 
-        if (Random.Range(5, 9) <= MiniGameAmt)
+        if (Random.Range(5, 9) <= MiniGameIndex)
         {
         {
-            MiniGameAmt = 0;
+            MiniGameIndex = 0;
 
 
             DropDiamond = true;
             DropDiamond = true;
         }
         }

+ 1 - 0
Assets/Script/Manage/ManaPlayer.cs

@@ -21,6 +21,7 @@ public class ManaPlayer : Regist
 
 
         Transform tra = ManaReso.Get(player, Folder.Character, false, transform, false);
         Transform tra = ManaReso.Get(player, Folder.Character, false, transform, false);
         tra.name = "Player";
         tra.name = "Player";
+        tra.localScale = new Vector3(0.5f, 0.5f, 0.5f);
         tra.AddScript<Player>();
         tra.AddScript<Player>();
 
 
         ManaReso.TraDic.Add(tra.name, tra);
         ManaReso.TraDic.Add(tra.name, tra);

+ 16 - 2
Assets/Script/Manage/ManaReso.cs

@@ -195,7 +195,7 @@ public class ManaReso : Regist
 
 
     public static DropGold GetGold()
     public static DropGold GetGold()
     {
     {
-        Vector3 pos = Vector3.Lerp(Get("LeftTraMini").position, Get("RightTraMini").position, Random.Range(0, 1f));
+        Vector3 pos = Vector3.Lerp(Get("LeftPosTraMini").position, Get("RightPosTraMini").position, Random.Range(0, 1f));
         pos.z = -2;
         pos.z = -2;
 
 
         Transform tra = Get("DropGold", Folder.UI, false, null, pos, ObjType.DropGold);
         Transform tra = Get("DropGold", Folder.UI, false, null, pos, ObjType.DropGold);
@@ -214,7 +214,7 @@ public class ManaReso : Regist
 
 
     public static DropDiamond GetDiamond()
     public static DropDiamond GetDiamond()
     {
     {
-        Vector3 pos = Vector3.Lerp(Get("LeftTraMini").position, Get("RightTraMini").position, Random.Range(0, 1f));
+        Vector3 pos = Vector3.Lerp(Get("LeftPosTraMini").position, Get("RightPosTraMini").position, Random.Range(0, 1f));
         pos.z = -2;
         pos.z = -2;
 
 
         Transform tra = Get("DropDiamond", Folder.UI, false, null, pos, ObjType.DropDiamond);
         Transform tra = Get("DropDiamond", Folder.UI, false, null, pos, ObjType.DropDiamond);
@@ -374,6 +374,20 @@ public class ManaReso : Regist
         return tra;
         return tra;
     }
     }
 
 
+    public static Transform GetAchieveItem()
+    {
+        Transform tra = Get("AchieveItem", Folder.UI, false, ManaReso.Get("M_Grid"), false, ObjType.AchieveItem);
+
+        ObjRoot objRoot = tra.GetComponent<ObjRoot>();
+
+        if (objRoot == null)
+        {
+            tra.AddComponent<ObjRoot>().ObjType = ObjType.AchieveItem;
+        }
+
+        return tra;
+    }
+
     public static Transform GetFlowerItemH()
     public static Transform GetFlowerItemH()
     {
     {
         Transform tra = Get("FlowerItemH", Folder.UI, false, Get("H_Grid"), false, ObjType.FlowerItem);
         Transform tra = Get("FlowerItemH", Folder.UI, false, Get("H_Grid"), false, ObjType.FlowerItem);

+ 27 - 0
Assets/Script/Manage/ManaSkill.cs

@@ -0,0 +1,27 @@
+using UnityEngine;
+
+using System.Collections;
+
+public class ManaSkill : Regist 
+{
+    #region 变量
+
+
+
+    #endregion
+
+    public override void Instantiate()
+    {
+
+    }
+
+    public override void RegistValueA()
+    {
+        
+    }
+
+    public override void RegistReference()
+    {
+        
+    }
+}

+ 2 - 2
Assets/Script/Tool/Anim/Anim.cs.meta → Assets/Script/Manage/ManaSkill.cs.meta

@@ -1,6 +1,6 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
-guid: 8231cf803f7d7c1408fd9470fb977135
-timeCreated: 1489628126
+guid: e5825f1caa9d464488580e78d56dd229
+timeCreated: 1491730064
 licenseType: Pro
 licenseType: Pro
 MonoImporter:
 MonoImporter:
   serializedVersion: 2
   serializedVersion: 2

+ 3 - 8
Assets/Script/Manage/ManaText.cs

@@ -6,18 +6,18 @@ using UnityEngine.UI;
 
 
 public class LanStr
 public class LanStr
 {
 {
-    public string Id;
+    public string ID;
     public string Page;
     public string Page;
 
 
     public LanStr(string id, string page)
     public LanStr(string id, string page)
     {
     {
-        Id = id;
+        ID = id;
         Page = page;
         Page = page;
     }
     }
 
 
     public override string ToString()
     public override string ToString()
     {
     {
-        return Language.GetStr(Id, Page);
+        return Language.GetStr(ID, Page);
     }
     }
 }
 }
 
 
@@ -105,11 +105,6 @@ public class ManaText : Regist
             kv.Key.text = LanguageText(kv.Value);
             kv.Key.text = LanguageText(kv.Value);
         }
         }
 
 
-        foreach (var kv in ManaAchieve.AchieveDic)
-        {
-            kv.Value.SwitchLanguage();
-        }
-
         for (int i = 0; i < ManaData.SkillList.Count; i++)
         for (int i = 0; i < ManaData.SkillList.Count; i++)
         {
         {
             ManaData.SkillList[i].SwitchLanguage();
             ManaData.SkillList[i].SwitchLanguage();

+ 20 - 20
Assets/Script/Manage/ManaUI.cs

@@ -43,12 +43,12 @@ public class ManaUI : Regist
 
 
         tween.OnForwardStart += () =>
         tween.OnForwardStart += () =>
         {
         {
-            ManaData.Main++;
+            ManaData.MainDepth++;
         };
         };
 
 
         tween.OnBackwardFinish += () =>
         tween.OnBackwardFinish += () =>
         {
         {
-            ManaData.Main--;
+            ManaData.MainDepth--;
         };
         };
 
 
         #endregion
         #endregion
@@ -117,12 +117,12 @@ public class ManaUI : Regist
 
 
         tween.OnForwardStart += () =>
         tween.OnForwardStart += () =>
         {
         {
-            ManaData.Main = -1;
+            ManaData.MainDepth = -1;
         };
         };
 
 
         tween.OnBackwardStart += () =>
         tween.OnBackwardStart += () =>
         {
         {
-            ManaData.Main = 0;
+            ManaData.MainDepth = 0;
         };
         };
 
 
         #endregion
         #endregion
@@ -322,7 +322,7 @@ public class ManaUI : Regist
 
 
             ManaReso.SetActive("E_Debug", false);
             ManaReso.SetActive("E_Debug", false);
 
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
 
 
             ManaReso.SetActive("Da_Quit", true);
             ManaReso.SetActive("Da_Quit", true);
             ManaReso.SetActive("Da_Cancel", true);
             ManaReso.SetActive("Da_Cancel", true);
@@ -726,7 +726,7 @@ public class ManaUI : Regist
             ManaReso.Get("F_Manage0").TweenBacVec();
             ManaReso.Get("F_Manage0").TweenBacVec();
         };
         };
 
 
-         tween = ManaReso.Get("F_Manage0").CreateTweenVec2D(ManaReso.Get("F_PageTra").position, 0.5f, false, false, true, Curve.EaseOutQuad);
+         tween = ManaReso.Get("F_Manage0").CreateTweenVec2D(ManaReso.Get("F_PosTra").position, 0.5f, false, false, true, Curve.EaseOutQuad);
 
 
         tween.OnForwardStart += () =>
         tween.OnForwardStart += () =>
         {
         {
@@ -734,7 +734,7 @@ public class ManaUI : Regist
 
 
             ManaReso.SetActive("F_Manage", true);
             ManaReso.SetActive("F_Manage", true);
 
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
         };
         };
 
 
         tween.OnForwardFinish += () =>
         tween.OnForwardFinish += () =>
@@ -744,7 +744,7 @@ public class ManaUI : Regist
 
 
         tween.OnBackwardStart += () =>
         tween.OnBackwardStart += () =>
         {
         {
-            ManaData.Main--;
+            ManaData.MainDepth--;
         };
         };
 
 
         tween.OnBackwardFinish += () =>
         tween.OnBackwardFinish += () =>
@@ -849,12 +849,12 @@ public class ManaUI : Regist
 
 
         tween.OnForwardStart += () =>
         tween.OnForwardStart += () =>
         {
         {
-            if (ManaData.Main == -1)
+            if (ManaData.MainDepth == -1)
             {
             {
                 ManaReso.Get("C_Main").TweenBacCG();
                 ManaReso.Get("C_Main").TweenBacCG();
             }
             }
 
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
 
 
             if (ManaGarden.MyFlowerSpec == 0)
             if (ManaGarden.MyFlowerSpec == 0)
             {
             {
@@ -864,7 +864,7 @@ public class ManaUI : Regist
 
 
         tween.OnBackwardStart += () =>
         tween.OnBackwardStart += () =>
         {
         {
-            ManaData.Main--;
+            ManaData.MainDepth--;
         };
         };
 
 
         #endregion
         #endregion
@@ -888,7 +888,7 @@ public class ManaUI : Regist
 
 
         #region G_Regular
         #region G_Regular
 
 
-        ManaReso.Get("G_Regular").CreateTweenVec2D(ManaReso.Get("G_PageTraL").position, ManaReso.Get("G_PageTraR").position, 0.25f, false, true, true, Curve.EaseOutQuad);
+        ManaReso.Get("G_Regular").CreateTweenVec2D(ManaReso.Get("G_PosTraL").position, ManaReso.Get("G_PosTraR").position, 0.25f, false, true, true, Curve.EaseOutQuad);
 
 
         ManaReso.AddButtonEvent
         ManaReso.AddButtonEvent
         (
         (
@@ -1009,17 +1009,17 @@ public class ManaUI : Regist
 
 
         tween.OnForwardStart += () =>
         tween.OnForwardStart += () =>
         {
         {
-            if (ManaData.Main == -1)
+            if (ManaData.MainDepth == -1)
             {
             {
                 ManaReso.Get("C_Main").TweenBacCG();
                 ManaReso.Get("C_Main").TweenBacCG();
             }
             }
 
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
         };
         };
 
 
         tween.OnBackwardStart += () =>
         tween.OnBackwardStart += () =>
         {
         {
-            ManaData.Main--;
+            ManaData.MainDepth--;
         };
         };
 
 
         #endregion
         #endregion
@@ -1079,7 +1079,7 @@ public class ManaUI : Regist
         {
         {
             ManaReso.Get("C_Main").TweenBacCG();
             ManaReso.Get("C_Main").TweenBacCG();
 
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
         };
         };
 
 
         tween.OnBackwardFinish += () =>
         tween.OnBackwardFinish += () =>
@@ -1194,7 +1194,7 @@ public class ManaUI : Regist
             ManaReso.Get("M_Achieve0").TweenBacVec();
             ManaReso.Get("M_Achieve0").TweenBacVec();
         };
         };
 
 
-        tween = ManaReso.Get("M_Achieve0").CreateTweenVec2D(ManaReso.Get("M_PageTra").position, 0.5f, false, false, true, Curve.EaseOutQuad);
+        tween = ManaReso.Get("M_Achieve0").CreateTweenVec2D(ManaReso.Get("M_PosTra").position, 0.5f, false, false, true, Curve.EaseOutQuad);
 
 
         tween.OnForwardStart += () =>
         tween.OnForwardStart += () =>
         {
         {
@@ -1202,7 +1202,7 @@ public class ManaUI : Regist
 
 
             ManaReso.SetActive("M_Achieve", true);
             ManaReso.SetActive("M_Achieve", true);
 
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
         };
         };
 
 
         tween.OnForwardFinish += () =>
         tween.OnForwardFinish += () =>
@@ -1212,7 +1212,7 @@ public class ManaUI : Regist
 
 
         tween.OnBackwardStart += () =>
         tween.OnBackwardStart += () =>
         {
         {
-            ManaData.Main--;
+            ManaData.MainDepth--;
         };
         };
 
 
         tween.OnBackwardFinish += () =>
         tween.OnBackwardFinish += () =>
@@ -1393,7 +1393,7 @@ public class ManaUI : Regist
 
 
             ManaReso.SetActive("E_Debug", false);
             ManaReso.SetActive("E_Debug", false);
 
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
 
 
             ManaReso.SetActive("Da_Quit", true);
             ManaReso.SetActive("Da_Quit", true);
             ManaReso.SetActive("Da_Cancel", true);
             ManaReso.SetActive("Da_Cancel", true);

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

@@ -26,6 +26,6 @@ public class DropDiamond : Drop
         int diamond = Random.Range(1, 6);
         int diamond = Random.Range(1, 6);
         Award.BonusDiamond += diamond;
         Award.BonusDiamond += diamond;
 
 
-        ManaReso.GetHudText("+" + diamond, ManaColor.HudText, 25, transform, ManaReso.Get("D_Status"), true);
+        ManaReso.GetHudText("+" + diamond, Color.white, 25, transform, ManaReso.Get("D_Status"), true);
     }
     }
 }
 }

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

@@ -26,6 +26,6 @@ public class DropGold : Drop
         int coin = Random.Range(5, 16);
         int coin = Random.Range(5, 16);
         Award.BonusCoin += coin;
         Award.BonusCoin += coin;
 
 
-        ManaReso.GetHudText("+" + coin, ManaColor.HudText, 25, transform, ManaReso.Get("D_Status"), true);
+        ManaReso.GetHudText("+" + coin, Color.white, 25, transform, ManaReso.Get("D_Status"), true);
     }
     }
 }
 }

+ 10 - 10
Assets/Script/Object/Flower.cs

@@ -89,7 +89,7 @@ public class FlowerInfo
     public bool _Unlock;
     public bool _Unlock;
     public string _Name;
     public string _Name;
 
 
-    public int Id;
+    public int ID;
     public bool Special;
     public bool Special;
     public string Description;
     public string Description;
 
 
@@ -102,7 +102,7 @@ public class FlowerInfo
 
 
     #endregion
     #endregion
 
 
-    public FlowerInfo(XmlAttributeCollection attributes)
+    public FlowerInfo(XmlAttributeCollection attribute)
     {
     {
         Transform tra = ManaReso.Get("FlowerItemG", Folder.UI, false, ManaReso.Get("G_RegularGrid"),  false);
         Transform tra = ManaReso.Get("FlowerItemG", Folder.UI, false, ManaReso.Get("G_RegularGrid"),  false);
 
 
@@ -115,11 +115,11 @@ public class FlowerInfo
         Button = dic["FlowerItemG"].GetComponent<Button>();
         Button = dic["FlowerItemG"].GetComponent<Button>();
         UIPartical = dic["UIParticle System"].GetComponent<UIPartical>();
         UIPartical = dic["UIParticle System"].GetComponent<UIPartical>();
 
 
-        Id = int.Parse(attributes[0].Value);
-        Sprite = ManaReso.Load<Sprite>(attributes[3].Value, Folder.Garden);
+        ID = int.Parse(attribute[0].Value);
+        Sprite = ManaReso.Load<Sprite>(attribute[3].Value, Folder.Garden);
 
 
-        _Name = "Flower" + Id;
-        Description = attributes[2].Value;
+        _Name = "Flower" + ID;
+        Description = attribute[2].Value;
 
 
         Image.sprite = Sprite;
         Image.sprite = Sprite;
 
 
@@ -159,7 +159,7 @@ public class Flower : ObjRoot, IPointerClickHandler
                 OperateIcon.SetActive(false);
                 OperateIcon.SetActive(false);
                 OperateOutline.SetActive(false);
                 OperateOutline.SetActive(false);
 
 
-                ManaReso.GetHudText("得分+15", ManaColor.HudText, 25, ChildDic["ScoreTra"], ManaReso.Get("D_Status"), true);
+                ManaReso.GetHudText("得分+15", Color.white, 25, ChildDic["ScorePosTra"], ManaReso.Get("D_Status"), true);
 
 
                 ManaMiniGame.Score += 15;
                 ManaMiniGame.Score += 15;
             }
             }
@@ -207,7 +207,7 @@ public class Flower : ObjRoot, IPointerClickHandler
     public bool _Award;
     public bool _Award;
     private FlowerInfo _FlowerInfo;
     private FlowerInfo _FlowerInfo;
 
 
-    public int Id;
+    public int ID;
     public Slot Slot;
     public Slot Slot;
     public Vector3 LocalPos;
     public Vector3 LocalPos;
     public Animator ParticleAC;
     public Animator ParticleAC;
@@ -388,7 +388,7 @@ public class Flower : ObjRoot, IPointerClickHandler
         ManaData.Coin += coin;
         ManaData.Coin += coin;
         ManaData.FlowerCoin += coin;
         ManaData.FlowerCoin += coin;
 
 
-        ManaReso.GetHudText("+" + coin, ManaColor.HudText, 25, ChildDic["GoldTra"], ManaReso.Get("A_HudParent"), true);
+        ManaReso.GetHudText("+" + coin, Color.white, 25, ChildDic["GoldPosTra"], ManaReso.Get("A_HudParent"), true);
 
 
         GoldBk.SetActive(false);
         GoldBk.SetActive(false);
     }
     }
@@ -403,7 +403,7 @@ public class Flower : ObjRoot, IPointerClickHandler
         GoldBk.TweenForSr();
         GoldBk.TweenForSr();
         GoldIcon.TweenForSr();
         GoldIcon.TweenForSr();
 
 
-        GoldBk.Move
+        GoldBk.Move2D
         (
         (
             GoldBk.transform.localPosition + new Vector3(0, 0.5f, 0),
             GoldBk.transform.localPosition + new Vector3(0, 0.5f, 0),
             1f,
             1f,

+ 23 - 23
Assets/Script/Object/Garden.cs

@@ -105,14 +105,14 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
 
         #region GardenA
         #region GardenA
 
 
-        Move move = GardenA.CreateMove();
+        Move2D move2D = GardenA.CreateMove2D();
 
 
-        move.OnStart += () =>
+        move2D.OnStart += () =>
         {
         {
             Flag2 = false;
             Flag2 = false;
         };
         };
 
 
-        move.OnFinish += () =>
+        move2D.OnFinish += () =>
         {
         {
             Flag2 = true;
             Flag2 = true;
         };
         };
@@ -123,7 +123,7 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
         
         
         tween = ManaReso.Get("GardenMini").CreateTweenVec2D
         tween = ManaReso.Get("GardenMini").CreateTweenVec2D
         (
         (
-            ManaReso.Get("PageTraMini").position,
+            ManaReso.Get("PosTraMini").position,
             0.5f, 
             0.5f, 
             false,
             false,
             false, 
             false, 
@@ -339,14 +339,14 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
 
         #region GardenA
         #region GardenA
 
 
-        Move move = GardenA.CreateMove();
+        Move2D move2D = GardenA.CreateMove2D();
 
 
-        move.OnStart += () =>
+        move2D.OnStart += () =>
         {
         {
             Flag2 = false;
             Flag2 = false;
         };
         };
 
 
-        move.OnFinish += () =>
+        move2D.OnFinish += () =>
         {
         {
             Flag2 = true;
             Flag2 = true;
         };
         };
@@ -357,7 +357,7 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
 
         tween = ManaReso.Get("GardenMini").CreateTweenVec2D
         tween = ManaReso.Get("GardenMini").CreateTweenVec2D
         (
         (
-            ManaReso.Get("PageTraMini").position,
+            ManaReso.Get("PosTraMini").position,
             0.5f,
             0.5f,
             false,
             false,
             false,
             false,
@@ -614,11 +614,11 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
     {
     {
         Flag1 = false;
         Flag1 = false;
 
 
-        Player.Move(PlayerPos[Page], 0.25f, false, Curve.EaseOutQuad);
-        GardenA.Move(GardenPosA[Page], 0.25f, false, Curve.EaseOutQuad);
-        GardenBk2.Move(GardenPosBk2[Page], 0.25f, false, Curve.EaseOutQuad);
-        GardenBk3.Move(GardenPosBk3[Page], 0.25f, false, Curve.EaseOutQuad);
-        GardenBk4.Move(GardenPosBk4[Page], 0.25f, false, Curve.EaseOutQuad);
+        Player.Move2D(PlayerPos[Page], 0.25f, false, Curve.EaseOutQuad);
+        GardenA.Move2D(GardenPosA[Page], 0.25f, false, Curve.EaseOutQuad);
+        GardenBk2.Move2D(GardenPosBk2[Page], 0.25f, false, Curve.EaseOutQuad);
+        GardenBk3.Move2D(GardenPosBk3[Page], 0.25f, false, Curve.EaseOutQuad);
+        GardenBk4.Move2D(GardenPosBk4[Page], 0.25f, false, Curve.EaseOutQuad);
     }
     }
 
 
     private void PrevPage()
     private void PrevPage()
@@ -627,11 +627,11 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
         
         
         Flag1 = false;
         Flag1 = false;
 
 
-        Player.Move(PlayerPos[Page], 0.5f, false, Curve.EaseOutQuad);
-        GardenA.Move(GardenPosA[Page], 0.5f, false, Curve.EaseOutQuad);
-        GardenBk2.Move(GardenPosBk2[Page], 0.5f, false, Curve.EaseOutQuad);
-        GardenBk3.Move(GardenPosBk3[Page], 0.5f, false, Curve.EaseOutQuad);
-        GardenBk4.Move(GardenPosBk4[Page], 0.5f, false, Curve.EaseOutQuad);
+        Player.Move2D(PlayerPos[Page], 0.5f, false, Curve.EaseOutQuad);
+        GardenA.Move2D(GardenPosA[Page], 0.5f, false, Curve.EaseOutQuad);
+        GardenBk2.Move2D(GardenPosBk2[Page], 0.5f, false, Curve.EaseOutQuad);
+        GardenBk3.Move2D(GardenPosBk3[Page], 0.5f, false, Curve.EaseOutQuad);
+        GardenBk4.Move2D(GardenPosBk4[Page], 0.5f, false, Curve.EaseOutQuad);
     }
     }
 
 
     private void NextPage()
     private void NextPage()
@@ -640,10 +640,10 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
         
         
         Flag1 = false;
         Flag1 = false;
 
 
-        Player.Move(PlayerPos[Page], 0.5f, false, Curve.EaseOutQuad);
-        GardenA.Move(GardenPosA[Page], 0.5f, false, Curve.EaseOutQuad);
-        GardenBk2.Move(GardenPosBk2[Page], 0.5f, false, Curve.EaseOutQuad);
-        GardenBk3.Move(GardenPosBk3[Page], 0.5f, false, Curve.EaseOutQuad);
-        GardenBk4.Move(GardenPosBk4[Page], 0.5f, false, Curve.EaseOutQuad);
+        Player.Move2D(PlayerPos[Page], 0.5f, false, Curve.EaseOutQuad);
+        GardenA.Move2D(GardenPosA[Page], 0.5f, false, Curve.EaseOutQuad);
+        GardenBk2.Move2D(GardenPosBk2[Page], 0.5f, false, Curve.EaseOutQuad);
+        GardenBk3.Move2D(GardenPosBk3[Page], 0.5f, false, Curve.EaseOutQuad);
+        GardenBk4.Move2D(GardenPosBk4[Page], 0.5f, false, Curve.EaseOutQuad);
     }
     }
 }
 }

+ 27 - 23
Assets/Script/Object/Skill/Ability.cs

@@ -96,38 +96,38 @@ public class Ability : SkillRoot
 
 
     #endregion
     #endregion
 
 
-    public Ability(XmlAttributeCollection attributes)
+    public Ability(XmlAttributeCollection attribute)
     {
     {
         #region 配置
         #region 配置
 
 
-        ID = int.Parse(attributes[0].Value);
-        Icon = attributes[20].Value;
-        Anim = attributes[21].Value;
-        Label = attributes[22].Value;
+        ID = int.Parse(attribute[0].Value);
+        Icon = attribute[20].Value;
+        Anim = attribute[21].Value;
+        Label = attribute[22].Value;
         _Name = "Ability" + ID;
         _Name = "Ability" + ID;
 
 
-        UnlockPos = attributes[12].Value;
-        UpgradeCD = attributes[18].Value;
-        UpgradeFml = attributes[15].Value;
-        UpgradePlus = attributes[16].Value;
-        UpgradePerson = attributes[17].Value;
+        UnlockPos = attribute[12].Value;
+        UpgradeCD = attribute[18].Value;
+        UpgradeFml = attribute[15].Value;
+        UpgradePlus = attribute[16].Value;
+        UpgradePerson = attribute[17].Value;
 
 
-        ClassID = IntParse(attributes[3].Value);
-        UnlockLv = IntParse(attributes[7].Value);
+        ClassID = IntParse(attribute[3].Value);
+        UnlockLv = IntParse(attribute[7].Value);
 
 
-        UnlockAmt = FloatParse(attributes[11].Value);
-        UnlockAheadAmt = FloatParse(attributes[9].Value);
+        UnlockAmt = FloatParse(attribute[11].Value);
+        UnlockAheadAmt = FloatParse(attribute[9].Value);
 
 
-        SkillTab = SkillClassParse(attributes[2].Value);
-        UpgradeAmt = UpgradeAmtParse(attributes[14].Value);
+        SkillTab = SkillClassParse(attribute[2].Value);
+        UpgradeAmt = UpgradeAmtParse(attribute[14].Value);
         
         
-        UnlockCur = CurrentParse(attributes[10].Value);
-        UpgradeCur = CurrentParse(attributes[13].Value);
-        UnlockAheadCur = CurrentParse(attributes[8].Value);
+        UnlockCur = CurrentParse(attribute[10].Value);
+        UpgradeCur = CurrentParse(attribute[13].Value);
+        UnlockAheadCur = CurrentParse(attribute[8].Value);
 
 
-        ValueBuffParse(out Person, out PersonBuff, attributes[5].Value);
-        ValueBuffParse(out SkillCD, out SkillCdBuff, attributes[6].Value);
-        ValueBuffParse(out CoinPerson, out Plus, attributes[4].Value);
+        ValueBuffParse(out Person, out PersonBuff, attribute[5].Value);
+        ValueBuffParse(out SkillCD, out SkillCdBuff, attribute[6].Value);
+        ValueBuffParse(out CoinPerson, out Plus, attribute[4].Value);
         
         
         #endregion
         #endregion
 
 
@@ -172,8 +172,12 @@ public class Ability : SkillRoot
         }
         }
     }
     }
 
 
-    public override void RegistValue(float elapse, List<List<SkillRoot>> ffList)
+    public override void RegistValue(float elapse, List<List<SkillRoot>> ffList, XmlAttributeCollection attribute)
     {
     {
+        Level = int.Parse(attribute[3].Value);
+
+        _ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
+
         NewPlus = Plus;
         NewPlus = Plus;
         NewPerson = Person;
         NewPerson = Person;
         NewSkillCD = SkillCD;
         NewSkillCD = SkillCD;

+ 14 - 4
Assets/Script/Object/Skill/BigSkill.cs

@@ -103,9 +103,9 @@ public class BigSkill : Skill
 
 
     #endregion
     #endregion
 
 
-    public BigSkill(XmlAttributeCollection attributes) : base(attributes)
+    public BigSkill(XmlAttributeCollection attribute) : base(attribute)
     {
     {
-        SkillIndex = IntParse(attributes[4].Value);
+        SkillIndex = IntParse(attribute[4].Value);
 
 
         SkillType = SkillType.BigSkill;
         SkillType = SkillType.BigSkill;
     }
     }
@@ -189,8 +189,15 @@ public class BigSkill : Skill
         }
         }
     }
     }
 
 
-    public override void RegistValue(float elapse, List<List<SkillRoot>> ffList)
+    public override void RegistValue(float elapse, List<List<SkillRoot>> ffList, XmlAttributeCollection attribute)
     {
     {
+        Level = int.Parse(attribute[4].Value);
+        UseTimer = float.Parse(attribute[6].Value);
+        CoolTimer = float.Parse(attribute[5].Value);
+        
+        _ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
+        _BarStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[3].Value);
+        
         BarBtn.onClick.AddListener(Buy);
         BarBtn.onClick.AddListener(Buy);
 
 
         BarBk1.sprite = ManaReso.Load<Sprite>(Icon + "副", Folder.Skill);
         BarBk1.sprite = ManaReso.Load<Sprite>(Icon + "副", Folder.Skill);
@@ -266,6 +273,9 @@ public class BigSkill : Skill
                 {
                 {
                     UseTimer -= elapse;
                     UseTimer -= elapse;
 
 
+                    ManaData.UseList.Add(this);
+                    BarBk1.SetActive(true);
+
                     BarLab.color = Color.blue;
                     BarLab.color = Color.blue;
                 }
                 }
             }
             }
@@ -274,7 +284,7 @@ public class BigSkill : Skill
                 CoolTimer -= elapse;
                 CoolTimer -= elapse;
             }
             }
         }
         }
-
+        
         ItemStatus = ItemStatus;
         ItemStatus = ItemStatus;
         BarStatus = BarStatus;
         BarStatus = BarStatus;
     }
     }

+ 22 - 18
Assets/Script/Object/Skill/Pack.cs

@@ -63,30 +63,30 @@ public class Pack : SkillRoot
 
 
     #endregion
     #endregion
 
 
-    public Pack(XmlAttributeCollection attributes)
+    public Pack(XmlAttributeCollection attribute)
     {
     {
         #region 配置
         #region 配置
 
 
-        ID = int.Parse(attributes[0].Value);
-        Icon = attributes[14].Value;
-        Anim = attributes[15].Value;
-        Label = attributes[16].Value;
+        ID = int.Parse(attribute[0].Value);
+        Icon = attribute[14].Value;
+        Anim = attribute[15].Value;
+        Label = attribute[16].Value;
         _Name = "Pack" + ID;
         _Name = "Pack" + ID;
-        Flower = attributes[9].Value;
+        Flower = attribute[9].Value;
 
 
-        ClassID = IntParse(attributes[3].Value);
-        UseAmt = FloatParse(attributes[12].Value);
-        CoinOnce = FloatParse(attributes[7].Value);
-        DiamondOnce = FloatParse(attributes[8].Value);
+        ClassID = IntParse(attribute[3].Value);
+        UseAmt = FloatParse(attribute[12].Value);
+        CoinOnce = FloatParse(attribute[7].Value);
+        DiamondOnce = FloatParse(attribute[8].Value);
         
         
-        SkillTab = SkillClassParse(attributes[2].Value);
-        BuyCur = CurrentParse(attributes[11].Value);
-        MinUseLv = MinLevelParse(attributes[10].Value);
-        MaxUseLv = MaxLevelParse(attributes[10].Value);
+        SkillTab = SkillClassParse(attribute[2].Value);
+        BuyCur = CurrentParse(attribute[11].Value);
+        MinUseLv = MinLevelParse(attribute[10].Value);
+        MaxUseLv = MaxLevelParse(attribute[10].Value);
 
 
-        ValueBuffParse(out Person, out PersonBuff, attributes[5].Value);
-        ValueBuffParse(out SkillCD, out SkillCdBuff, attributes[6].Value);
-        ValueBuffParse(out CoinPerson, out Plus, attributes[4].Value);
+        ValueBuffParse(out Person, out PersonBuff, attribute[5].Value);
+        ValueBuffParse(out SkillCD, out SkillCdBuff, attribute[6].Value);
+        ValueBuffParse(out CoinPerson, out Plus, attribute[4].Value);
 
 
         #endregion
         #endregion
 
 
@@ -94,8 +94,12 @@ public class Pack : SkillRoot
     }
     }
 
 
 
 
-    public override void RegistValue(float elapse, List<List<SkillRoot>> ffList)
+    public override void RegistValue(float elapse, List<List<SkillRoot>> ffList, XmlAttributeCollection attribute)
     {
     {
+        Level = int.Parse(attribute[3].Value);
+
+        _ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
+
         ManaText.Add(ItemTit, new LanStr("SkillName", _Name));
         ManaText.Add(ItemTit, new LanStr("SkillName", _Name));
 
 
         ItemLab.text = Description(0);
         ItemLab.text = Description(0);

+ 40 - 35
Assets/Script/Object/Skill/Skill.cs

@@ -114,47 +114,47 @@ public class Skill : SkillRoot
 
 
     #endregion
     #endregion
 
 
-    public Skill(XmlAttributeCollection attributes)
+    public Skill(XmlAttributeCollection attribute)
     {
     {
         #region 配置
         #region 配置
 
 
-        ID = int.Parse(attributes[0].Value);
-        Icon = attributes[30].Value;
-        Anim = attributes[31].Value;
-        Label = attributes[32].Value;
+        ID = int.Parse(attribute[0].Value);
+        Icon = attribute[30].Value;
+        Anim = attribute[31].Value;
+        Label = attribute[32].Value;
         _Name ="Skill" +ID;
         _Name ="Skill" +ID;
 
 
-        UnlockPos = attributes[18].Value;
-        UpgradeCD = attributes[28].Value;
-        UpgradeFml = attributes[23].Value;
-        UpgradePlus = attributes[24].Value;
-        UpgradePerson = attributes[25].Value;
-        UpgradeDuration = attributes[27].Value;
-        UpgradeCoinOnce = attributes[26].Value;
-
-        ClassID = IntParse(attributes[3].Value);
-        UnlockLv = IntParse(attributes[13].Value);
-
-        CD = FloatParse(attributes[12].Value);
-        UseAmt = FloatParse(attributes[20].Value);
-        Duration = FloatParse(attributes[11].Value);
-        UnlockAmt = FloatParse(attributes[17].Value);
-        DiamondOnce = FloatParse(attributes[9].Value);
-        UnlockAheadAmt = FloatParse(attributes[15].Value);
-
-        SkillTab = SkillClassParse(attributes[2].Value);
-        ReduceCD = BoolParse(attributes[5].Value);
-        UpgradeAmt = UpgradeAmtParse(attributes[22].Value);
+        UnlockPos = attribute[18].Value;
+        UpgradeCD = attribute[28].Value;
+        UpgradeFml = attribute[23].Value;
+        UpgradePlus = attribute[24].Value;
+        UpgradePerson = attribute[25].Value;
+        UpgradeDuration = attribute[27].Value;
+        UpgradeCoinOnce = attribute[26].Value;
+
+        ClassID = IntParse(attribute[3].Value);
+        UnlockLv = IntParse(attribute[13].Value);
+
+        CD = FloatParse(attribute[12].Value);
+        UseAmt = FloatParse(attribute[20].Value);
+        Duration = FloatParse(attribute[11].Value);
+        UnlockAmt = FloatParse(attribute[17].Value);
+        DiamondOnce = FloatParse(attribute[9].Value);
+        UnlockAheadAmt = FloatParse(attribute[15].Value);
+
+        SkillTab = SkillClassParse(attribute[2].Value);
+        ReduceCD = BoolParse(attribute[5].Value);
+        UpgradeAmt = UpgradeAmtParse(attribute[22].Value);
         
         
-        BuyCur = CurrentParse(attributes[19].Value);
-        UnlockCur = CurrentParse(attributes[16].Value);
-        UpgradeCur = CurrentParse(attributes[21].Value);
-        UnlockAheadCur = CurrentParse(attributes[14].Value);
+        BuyCur = CurrentParse(attribute[19].Value);
+        UnlockCur = CurrentParse(attribute[16].Value);
+        UpgradeCur = CurrentParse(attribute[21].Value);
+        UnlockAheadCur = CurrentParse(attribute[14].Value);
         
         
-        ValueBuffParse(out Person, out PersonBuff, attributes[7].Value);
-        ValueBuffParse(out SkillCD, out SkillCdBuff, attributes[10].Value);
-        ValueBuffParse(out CoinOnce, out CoinOnceBuff, attributes[8].Value);
-        ValueBuffParse(out CoinPerson, out Plus, attributes[6].Value);
+        ValueBuffParse(out Person, out PersonBuff, attribute[7].Value);
+        ValueBuffParse(out SkillCD, out SkillCdBuff, attribute[10].Value);
+        ValueBuffParse(out CoinOnce, out CoinOnceBuff, attribute[8].Value);
+        ValueBuffParse(out CoinPerson, out Plus, attribute[6].Value);
         
         
         #endregion
         #endregion
 
 
@@ -256,8 +256,13 @@ public class Skill : SkillRoot
         }
         }
     }
     }
 
 
-    public override void RegistValue(float elapse, List<List<SkillRoot>> ffList)
+    public override void RegistValue(float elapse, List<List<SkillRoot>> ffList, XmlAttributeCollection attribute)
     {
     {
+        Level = int.Parse(attribute[3].Value);
+        UseTimer = float.Parse(attribute[5].Value);
+        CoolTimer = float.Parse(attribute[4].Value);
+        _ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
+
         NewPlus = Plus;
         NewPlus = Plus;
         NewPerson = Person;
         NewPerson = Person;
         NewSkillCD = SkillCD;
         NewSkillCD = SkillCD;

+ 3 - 2
Assets/Script/Object/Skill/SkillRoot.cs

@@ -4,6 +4,7 @@ using UnityEngine.UI;
 using System;
 using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using System.Xml;
 
 
 public enum Current
 public enum Current
 {
 {
@@ -84,7 +85,7 @@ public abstract class SkillRoot
     public SkillType SkillType;
     public SkillType SkillType;
     public Transform SkillItem;
     public Transform SkillItem;
 
 
-    public abstract void RegistValue(float elapse, List<List<SkillRoot>> ffList);
+    public abstract void RegistValue(float elapse, List<List<SkillRoot>> ffList, XmlAttributeCollection attribute);
     public abstract void UpdateStatus();
     public abstract void UpdateStatus();
 
 
     #endregion
     #endregion
@@ -140,7 +141,7 @@ public abstract class SkillRoot
         {
         {
             return;
             return;
         }
         }
-
+        
         Dictionary<string, Transform> childDic = new Dictionary<string, Transform>();
         Dictionary<string, Transform> childDic = new Dictionary<string, Transform>();
 
 
         Auxiliary.CompileDic(SkillItem, childDic);
         Auxiliary.CompileDic(SkillItem, childDic);

+ 2 - 2
Assets/Script/Object/Slot.cs

@@ -28,7 +28,7 @@ public class Slot : MonoBehaviour
 
 
     private bool _Valid;
     private bool _Valid;
 
 
-    public int Id;
+    public int ID;
     public bool Available;
     public bool Available;
     public Flower Flower;
     public Flower Flower;
     public TextMesh TextMesh;
     public TextMesh TextMesh;
@@ -52,7 +52,7 @@ public class Slot : MonoBehaviour
     {
     {
         FlowerInfo = flowerInfo;
         FlowerInfo = flowerInfo;
 
 
-        Id = flowerInfo.Id;
+        ID = flowerInfo.ID;
 
 
         Collider.enabled = false;
         Collider.enabled = false;
 
 

+ 0 - 24
Assets/Script/Tool/Anim/Anim.cs

@@ -1,24 +0,0 @@
-using UnityEngine;
-
-using System.Collections;
-using UnityEngine.Events;
-
-public abstract class Anim 
-{
-    #region 变量
-
-    protected virtual bool InDestination
-    {
-        get { return _InDestination; }
-        set { _InDestination = value; }
-    }
-
-    protected bool _InDestination;
-
-    public UnityAction OnStart;
-    public UnityAction OnFinish;
-
-    #endregion
-
-    public abstract bool Do();
-}

+ 9 - 137
Assets/Script/Tool/Anim/Move.cs

@@ -1,152 +1,24 @@
 using UnityEngine;
 using UnityEngine;
-using UnityEngine.Events;
 
 
-using System;
 using System.Collections;
 using System.Collections;
+using UnityEngine.Events;
 
 
-public class Move : Anim
+public abstract class Move 
 {
 {
     #region 变量
     #region 变量
 
 
-    protected override bool InDestination
+    protected virtual bool InDestination
     {
     {
-        get
-        {
-            if (Local)
-            {
-                if (Target.localPosition == Destination)
-                {
-                    _InDestination = true;
-                }
-                else
-                {
-                    _InDestination = false;
-                }
-            }
-            else
-            {
-                if (Target.position == Destination)
-                {
-                    _InDestination = true;
-                }
-                else
-                {
-                    _InDestination = false;
-                }
-            }
-
-            return _InDestination;
-        }
-        set
-        {
-            _InDestination = value;
-
-            if (Local)
-            {
-                if (_InDestination)
-                {
-                    Target.localPosition = Destination;
-                }
-            }
-            else
-            {
-                if (_InDestination)
-                {
-                    Target.position = Destination;
-                }
-            }
-
-        }
+        get { return _InDestination; }
+        set { _InDestination = value; }
     }
     }
 
 
-    protected bool Local;
-    protected float Timer;
-    protected float Duration;
-    protected Vector3 Delta;
-    protected Vector3 Origin;
-    protected Vector3 Destination;
-    protected Transform Target;
+    protected bool _InDestination;
 
 
-    protected CurveFunctionV Func;
+    public UnityAction OnStart;
+    public UnityAction OnFinish;
 
 
     #endregion
     #endregion
 
 
-    public Move(Transform target)
-    {
-        Target = target;
-    }
-
-
-    public override bool Do()
-    {
-        Timer += Time.fixedDeltaTime;
-
-        if (Timer > Duration)
-        {
-            Timer = 0;
-
-            if (Local)
-            {
-                Target.localPosition = Destination;
-            }
-            else
-            {
-                Target.position = Destination;
-            }
-
-            ManaAnim.AnimList.Remove(this);
-
-            if (OnFinish != null)
-            {
-                OnFinish.Invoke();
-            }
-
-            return true;
-        }
-        else
-        {
-            if (Local)
-            {
-                Target.localPosition = Func(Timer, Duration, Origin, Delta);
-            }
-            else
-            {
-                Target.position = Func(Timer, Duration, Origin, Delta);
-            }
-
-            return false;
-        }
-    }
-
-    public void StartMove(Vector3 destination, float duration, bool local, Curve curve)
-    {
-        InDestination = false;
-        destination.z = Target.position.z;
-
-        Local = local;
-
-        if (Local)
-        {
-            Delta = destination - Target.localPosition;
-            Origin = Target.localPosition;
-        }
-        else
-        {
-            Delta = destination - Target.position;
-            Origin = Target.position;
-        }
-
-        Duration = duration;
-        Destination = destination;
-
-        Func = ManaAnim.CurveFunctionDicV[curve];
-
-        if (OnStart != null)
-        {
-            OnStart.Invoke();
-        }
-
-        ManaAnim.AnimList.Remove(this);
-        ManaAnim.AnimList.Add(this);
-    }
+    public abstract bool Do();
 }
 }

+ 2 - 2
Assets/Script/Tool/Anim/Move.cs.meta

@@ -1,6 +1,6 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
-guid: 15d25b48775dc7c4dbc614ce0c80df93
-timeCreated: 1488182161
+guid: 8231cf803f7d7c1408fd9470fb977135
+timeCreated: 1489628126
 licenseType: Pro
 licenseType: Pro
 MonoImporter:
 MonoImporter:
   serializedVersion: 2
   serializedVersion: 2

+ 152 - 0
Assets/Script/Tool/Anim/Move2D.cs

@@ -0,0 +1,152 @@
+using UnityEngine;
+using UnityEngine.Events;
+
+using System;
+using System.Collections;
+
+public class Move2D : Move
+{
+    #region 变量
+
+    protected override bool InDestination
+    {
+        get
+        {
+            if (Local)
+            {
+                if (Target.localPosition == Destination)
+                {
+                    _InDestination = true;
+                }
+                else
+                {
+                    _InDestination = false;
+                }
+            }
+            else
+            {
+                if (Target.position == Destination)
+                {
+                    _InDestination = true;
+                }
+                else
+                {
+                    _InDestination = false;
+                }
+            }
+
+            return _InDestination;
+        }
+        set
+        {
+            _InDestination = value;
+
+            if (Local)
+            {
+                if (_InDestination)
+                {
+                    Target.localPosition = Destination;
+                }
+            }
+            else
+            {
+                if (_InDestination)
+                {
+                    Target.position = Destination;
+                }
+            }
+
+        }
+    }
+
+    protected bool Local;
+    protected float Timer;
+    protected float Duration;
+    protected Vector3 Delta;
+    protected Vector3 Origin;
+    protected Vector3 Destination;
+    protected Transform Target;
+
+    protected CurveFunctionV Func;
+
+    #endregion
+
+    public Move2D(Transform target)
+    {
+        Target = target;
+    }
+
+
+    public override bool Do()
+    {
+        Timer += Time.fixedDeltaTime;
+
+        if (Timer > Duration)
+        {
+            Timer = 0;
+
+            if (Local)
+            {
+                Target.localPosition = Destination;
+            }
+            else
+            {
+                Target.position = Destination;
+            }
+
+            ManaAnim.MoveList.Remove(this);
+
+            if (OnFinish != null)
+            {
+                OnFinish.Invoke();
+            }
+
+            return true;
+        }
+        else
+        {
+            if (Local)
+            {
+                Target.localPosition = Func(Timer, Duration, Origin, Delta);
+            }
+            else
+            {
+                Target.position = Func(Timer, Duration, Origin, Delta);
+            }
+
+            return false;
+        }
+    }
+
+    public void StartMove(Vector3 destination, float duration, bool local, Curve curve)
+    {
+        InDestination = false;
+        destination.z = Target.position.z;
+
+        Local = local;
+
+        if (Local)
+        {
+            Delta = destination - Target.localPosition;
+            Origin = Target.localPosition;
+        }
+        else
+        {
+            Delta = destination - Target.position;
+            Origin = Target.position;
+        }
+
+        Duration = duration;
+        Destination = destination;
+
+        Func = ManaAnim.CurveFuncDicV[curve];
+
+        if (OnStart != null)
+        {
+            OnStart.Invoke();
+        }
+
+        ManaAnim.MoveList.Remove(this);
+        ManaAnim.MoveList.Add(this);
+    }
+}

+ 12 - 0
Assets/Script/Tool/Anim/Move2D.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 15d25b48775dc7c4dbc614ce0c80df93
+timeCreated: 1488182161
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 151 - 0
Assets/Script/Tool/Anim/Move3D.cs

@@ -0,0 +1,151 @@
+using UnityEngine;
+using UnityEngine.Events;
+
+using System;
+using System.Collections;
+
+public class Move3D : Move
+{
+    #region 变量
+
+    protected override bool InDestination
+    {
+        get
+        {
+            if (Local)
+            {
+                if (Target.localPosition == Destination)
+                {
+                    _InDestination = true;
+                }
+                else
+                {
+                    _InDestination = false;
+                }
+            }
+            else
+            {
+                if (Target.position == Destination)
+                {
+                    _InDestination = true;
+                }
+                else
+                {
+                    _InDestination = false;
+                }
+            }
+
+            return _InDestination;
+        }
+        set
+        {
+            _InDestination = value;
+
+            if (Local)
+            {
+                if (_InDestination)
+                {
+                    Target.localPosition = Destination;
+                }
+            }
+            else
+            {
+                if (_InDestination)
+                {
+                    Target.position = Destination;
+                }
+            }
+
+        }
+    }
+
+    protected bool Local;
+    protected float Timer;
+    protected float Duration;
+    protected Vector3 Delta;
+    protected Vector3 Origin;
+    protected Vector3 Destination;
+    protected Transform Target;
+
+    protected CurveFunctionV Func;
+
+    #endregion
+
+    public Move3D(Transform target)
+    {
+        Target = target;
+    }
+
+
+    public override bool Do()
+    {
+        Timer += Time.fixedDeltaTime;
+
+        if (Timer > Duration)
+        {
+            Timer = 0;
+
+            if (Local)
+            {
+                Target.localPosition = Destination;
+            }
+            else
+            {
+                Target.position = Destination;
+            }
+
+            ManaAnim.MoveList.Remove(this);
+
+            if (OnFinish != null)
+            {
+                OnFinish.Invoke();
+            }
+
+            return true;
+        }
+        else
+        {
+            if (Local)
+            {
+                Target.localPosition = Func(Timer, Duration, Origin, Delta);
+            }
+            else
+            {
+                Target.position = Func(Timer, Duration, Origin, Delta);
+            }
+
+            return false;
+        }
+    }
+
+    public void StartMove(Vector3 destination, float duration, bool local, Curve curve)
+    {
+        InDestination = false;
+
+        Local = local;
+
+        if (Local)
+        {
+            Delta = destination - Target.localPosition;
+            Origin = Target.localPosition;
+        }
+        else
+        {
+            Delta = destination - Target.position;
+            Origin = Target.position;
+        }
+
+        Duration = duration;
+        Destination = destination;
+
+        Func = ManaAnim.CurveFuncDicV[curve];
+
+        if (OnStart != null)
+        {
+            OnStart.Invoke();
+        }
+
+        ManaAnim.MoveList.Remove(this);
+        ManaAnim.MoveList.Add(this);
+    }
+}

+ 12 - 0
Assets/Script/Tool/Anim/Move3D.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 79842d9a055a2904b9e790817295d008
+timeCreated: 1491639151
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 5 - 5
Assets/Script/Tool/Anim/Shake.cs

@@ -4,7 +4,7 @@ using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using Debug = System.Diagnostics.Debug;
 using Debug = System.Diagnostics.Debug;
 
 
-public class Shake : Anim
+public class Shake : Move
 {
 {
     #region 变量
     #region 变量
 
 
@@ -61,7 +61,7 @@ public class Shake : Anim
 
 
             InDestination = true;
             InDestination = true;
 
 
-            ManaAnim.AnimList.Remove(this);
+            ManaAnim.MoveList.Remove(this);
 
 
             if (OnFinish != null)
             if (OnFinish != null)
             {
             {
@@ -91,14 +91,14 @@ public class Shake : Anim
         Strength = strength;
         Strength = strength;
         Duration = duration;
         Duration = duration;
 
 
-        Func = ManaAnim.ShakeFunctionDicV[curve];
+        Func = ManaAnim.ShakeFuncDicV[curve];
 
 
         if (OnStart != null)
         if (OnStart != null)
         {
         {
             OnStart.Invoke();
             OnStart.Invoke();
         }
         }
 
 
-        ManaAnim.AnimList.Remove(this);
-        ManaAnim.AnimList.Add(this);
+        ManaAnim.MoveList.Remove(this);
+        ManaAnim.MoveList.Add(this);
     }
     }
 }
 }

+ 1 - 1
Assets/Script/Tool/Anim/TweenAudio.cs

@@ -70,7 +70,7 @@ public class TweenAudio : Tween
 
 
     public TweenAudio(AudioSource target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
     public TweenAudio(AudioSource target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
     {
     {
-        Func = ManaAnim.CurveFunctionDicF[curve];
+        Func = ManaAnim.CurveFuncDicF[curve];
         Target = target;
         Target = target;
 
 
         InForward = false;
         InForward = false;

+ 1 - 1
Assets/Script/Tool/Anim/TweenCG.cs

@@ -73,7 +73,7 @@ public class TweenCG : Tween
 
 
     public TweenCG(CanvasGroup target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
     public TweenCG(CanvasGroup target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
     {
     {
-        Func = ManaAnim.CurveFunctionDicF[curve];
+        Func = ManaAnim.CurveFuncDicF[curve];
         Target = target;
         Target = target;
 
 
         InForward = false;
         InForward = false;

+ 1 - 1
Assets/Script/Tool/Anim/TweenGra.cs

@@ -74,7 +74,7 @@ public class TweenGra : Tween
 
 
     public TweenGra(Graphic target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
     public TweenGra(Graphic target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
     {
     {
-        Func = ManaAnim.CurveFunctionDicC[curve];
+        Func = ManaAnim.CurveFuncDicC[curve];
         Target = target;
         Target = target;
 
 
         InForward = false;
         InForward = false;

+ 1 - 1
Assets/Script/Tool/Anim/TweenRect.cs

@@ -73,7 +73,7 @@ public class TweenRect : Tween
     public TweenRect(RectTransform target, Vector2 origin, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve)
     public TweenRect(RectTransform target, Vector2 origin, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve)
     {
     {
         CG = target.GetComponent<CanvasGroup>();
         CG = target.GetComponent<CanvasGroup>();
-        Func = ManaAnim.CurveFunctionDicV[curve];
+        Func = ManaAnim.CurveFuncDicV[curve];
         Target = target;
         Target = target;
 
 
         InForward = false;
         InForward = false;

+ 1 - 1
Assets/Script/Tool/Anim/TweenScale.cs

@@ -74,7 +74,7 @@ public class TweenScale : Tween
     public TweenScale(Transform target, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
     public TweenScale(Transform target, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
     {
     {
         CG = target.GetComponent<CanvasGroup>();
         CG = target.GetComponent<CanvasGroup>();
-        Func = ManaAnim.CurveFunctionDicV[curve];
+        Func = ManaAnim.CurveFuncDicV[curve];
         Target = target;
         Target = target;
 
 
         InForward = false;
         InForward = false;

+ 1 - 1
Assets/Script/Tool/Anim/TweenSr.cs

@@ -86,7 +86,7 @@ public class TweenSr : Tween
 
 
     public TweenSr(SpriteRenderer target, Color origin, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
     public TweenSr(SpriteRenderer target, Color origin, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
     {
     {
-        Func = ManaAnim.CurveFunctionDicC[curve];
+        Func = ManaAnim.CurveFuncDicC[curve];
         Target = target;
         Target = target;
 
 
         InForward = false;
         InForward = false;

+ 1 - 1
Assets/Script/Tool/Anim/TweenText.cs

@@ -74,7 +74,7 @@ public class TweenText : Tween
 
 
     public TweenText(Text target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
     public TweenText(Text target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
     {
     {
-        Func = ManaAnim.CurveFunctionDicF[curve];
+        Func = ManaAnim.CurveFuncDicF[curve];
         Target = target;
         Target = target;
 
 
         InForward = false;
         InForward = false;

+ 1 - 1
Assets/Script/Tool/Anim/TweenVec.cs

@@ -120,7 +120,7 @@ public class TweenVec : Tween
     public TweenVec(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
     public TweenVec(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
     {
     {
         CG = target.GetComponent<CanvasGroup>();
         CG = target.GetComponent<CanvasGroup>();
-        Func = ManaAnim.CurveFunctionDicV[curve];
+        Func = ManaAnim.CurveFuncDicV[curve];
         Target = target;
         Target = target;
 
 
         InForward = false;
         InForward = false;

+ 170 - 68
Assets/Script/Tool/Data.cs

@@ -131,7 +131,10 @@ public class Data
 
 
                 Skill skill = (Skill)ManaData.SkillList[i];
                 Skill skill = (Skill)ManaData.SkillList[i];
 
 
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, skill._Name, ""));
+                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
+                xmlAttribute.Value = skill._Name;
 
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = skill.SkillType.ToString();
                 xmlAttribute.Value = skill.SkillType.ToString();
@@ -158,14 +161,14 @@ public class Data
 
 
                 Pack pack = (Pack)ManaData.SkillList[i];
                 Pack pack = (Pack)ManaData.SkillList[i];
 
 
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "礼包", ""));
+                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
+                xmlAttribute.Value = pack._Name;
 
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = pack.SkillType.ToString();
                 xmlAttribute.Value = pack.SkillType.ToString();
 
 
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("Name"));
-                xmlAttribute.Value = pack._Name;
-
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ItemStatus"));
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ItemStatus"));
                 xmlAttribute.Value = pack.ItemStatus.ToString();
                 xmlAttribute.Value = pack.ItemStatus.ToString();
 
 
@@ -182,7 +185,10 @@ public class Data
 
 
                 Ability ability = (Ability)ManaData.SkillList[i];
                 Ability ability = (Ability)ManaData.SkillList[i];
 
 
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, ability._Name, ""));
+                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
+                xmlAttribute.Value = ability._Name;
 
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = ability.SkillType.ToString();
                 xmlAttribute.Value = ability.SkillType.ToString();
@@ -203,7 +209,10 @@ public class Data
 
 
                 BigSkill bigSkill = (BigSkill)ManaData.SkillList[i];
                 BigSkill bigSkill = (BigSkill)ManaData.SkillList[i];
 
 
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, bigSkill._Name, ""));
+                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
+                xmlAttribute.Value = bigSkill._Name;
 
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = bigSkill.SkillType.ToString();
                 xmlAttribute.Value = bigSkill.SkillType.ToString();
@@ -233,17 +242,17 @@ public class Data
     private static void SaveAchieve()
     private static void SaveAchieve()
     {
     {
         XmlNode xmlNode = PlayerNode.SelectSingleNode("AchieveList");
         XmlNode xmlNode = PlayerNode.SelectSingleNode("AchieveList");
-        xmlNode.InnerText = "";
+        xmlNode.Attributes[0].Value = "";
 
 
         foreach (var kv in ManaAchieve.AchieveDic)
         foreach (var kv in ManaAchieve.AchieveDic)
         {
         {
             if (kv.Value.Valid == false)
             if (kv.Value.Valid == false)
             {
             {
-                xmlNode.InnerText += kv.Value.ID + " ";
+                xmlNode.Attributes[0].Value += kv.Value.ID + " ";
             }
             }
         }
         }
 
 
-        xmlNode.InnerText = xmlNode.InnerText.TrimEnd(' ');
+        xmlNode.Attributes[0].Value = xmlNode.Attributes[0].Value.TrimEnd(' ');
 
 
         PlayerNode.SelectSingleNode("AchieveData").Attributes[0].Value = ManaData.AD.ToString("0");
         PlayerNode.SelectSingleNode("AchieveData").Attributes[0].Value = ManaData.AD.ToString("0");
         PlayerNode.SelectSingleNode("AchieveData").Attributes[1].Value = ManaData.Skill.ToString("0");
         PlayerNode.SelectSingleNode("AchieveData").Attributes[1].Value = ManaData.Skill.ToString("0");
@@ -255,15 +264,18 @@ public class Data
 
 
     private static void SavePlantList()
     private static void SavePlantList()
     {
     {
-        XmlAttributeCollection attributes = PlayerNode.SelectSingleNode("PlantList").Attributes;
+        XmlAttributeCollection attribute = PlayerNode.SelectSingleNode("PlantList").Attributes;
 
 
-        attributes.RemoveAll();
-        
         for (int i = 0; i < ManaGarden.PlantList.Count; i++)
         for (int i = 0; i < ManaGarden.PlantList.Count; i++)
         {
         {
-            attributes.Append(PlayerDoc.CreateAttribute(ManaGarden.PlantList[i].name));
+            Slot slot = ManaGarden.PlantList[i];
+
+            attribute[0].Value = slot.ID + "," + slot.name;
 
 
-            attributes[i].Value = (ManaGarden.PlantList[i].Flower.FlowerInfo.Id - 1).ToString();
+            if (i < ManaGarden.PlantList.Count - 1)
+            {
+                attribute[0].Value += " ";
+            }
         }
         }
     }
     }
 
 
@@ -278,27 +290,25 @@ public class Data
         PlayerNode.SelectSingleNode("CoinPerson").Attributes[0].Value = ManaData.CoinPerson.ToString();
         PlayerNode.SelectSingleNode("CoinPerson").Attributes[0].Value = ManaData.CoinPerson.ToString();
         PlayerNode.SelectSingleNode("MiniTimer").Attributes[0].Value = ManaData.MiniTimer.ToString();
         PlayerNode.SelectSingleNode("MiniTimer").Attributes[0].Value = ManaData.MiniTimer.ToString();
         PlayerNode.SelectSingleNode("CircleTimer").Attributes[0].Value = ManaData.CircleTimer.ToString();
         PlayerNode.SelectSingleNode("CircleTimer").Attributes[0].Value = ManaData.CircleTimer.ToString();
-        PlayerNode.SelectSingleNode("MiniGameAmt").Attributes[0].Value = ManaMiniGame.MiniGameAmt.ToString();
+        PlayerNode.SelectSingleNode("MiniGameIndex").Attributes[0].Value = ManaMiniGame.MiniGameIndex.ToString();
         PlayerNode.SelectSingleNode("Player").Attributes[0].Value = Tutorial.SelectPlayer;
         PlayerNode.SelectSingleNode("Player").Attributes[0].Value = Tutorial.SelectPlayer;
     }
     }
 
 
     private static void SaveFlowerList()
     private static void SaveFlowerList()
     {
     {
-        XmlAttributeCollection attributes = PlayerNode.SelectSingleNode("FlowerList").Attributes;
-
-        attributes[0].RemoveAll();
+        XmlAttribute attribute = PlayerNode.SelectSingleNode("FlowerList").Attributes[0];
 
 
-        XmlAttribute xmlAttribute = attributes.Append(PlayerDoc.CreateAttribute("ID"));
+        attribute.Value = "";
 
 
         for (int i = 0; i < ManaGarden.FlowerInfoList.Count; i++)
         for (int i = 0; i < ManaGarden.FlowerInfoList.Count; i++)
         {
         {
             if (ManaGarden.FlowerInfoList[i].Unlock)
             if (ManaGarden.FlowerInfoList[i].Unlock)
             {
             {
-                xmlAttribute.Value += ManaGarden.FlowerInfoList[i].Id - 1 + " ";
+                attribute.Value += ManaGarden.FlowerInfoList[i].ID + " ";
             }
             }
         }
         }
 
 
-        xmlAttribute.Value = xmlAttribute.Value.Trim(' ');
+        attribute.Value = attribute.Value.Trim(' ');
     }
     }
 
 
     public  static void SavePlayerConfig()
     public  static void SavePlayerConfig()
@@ -333,7 +343,10 @@ public class Data
 
 
                 Skill skill = (Skill)ManaData.SkillList[i];
                 Skill skill = (Skill)ManaData.SkillList[i];
 
 
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, skill._Name, ""));
+                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
+                xmlAttribute.Value = skill._Name;
 
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = skill.SkillType.ToString();
                 xmlAttribute.Value = skill.SkillType.ToString();
@@ -360,14 +373,14 @@ public class Data
 
 
                 Pack pack = (Pack)ManaData.SkillList[i];
                 Pack pack = (Pack)ManaData.SkillList[i];
 
 
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "礼包", ""));
+                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
+                xmlAttribute.Value = pack._Name;
 
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = pack.SkillType.ToString();
                 xmlAttribute.Value = pack.SkillType.ToString();
 
 
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("Name"));
-                xmlAttribute.Value = pack._Name;
-
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ItemStatus"));
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ItemStatus"));
                 xmlAttribute.Value = SkillStatus.Lock.ToString();
                 xmlAttribute.Value = SkillStatus.Lock.ToString();
 
 
@@ -384,7 +397,10 @@ public class Data
 
 
                 Ability ability = (Ability)ManaData.SkillList[i];
                 Ability ability = (Ability)ManaData.SkillList[i];
 
 
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, ability._Name, ""));
+                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
+                xmlAttribute.Value = ability._Name;
 
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = ability.SkillType.ToString();
                 xmlAttribute.Value = ability.SkillType.ToString();
@@ -405,7 +421,10 @@ public class Data
 
 
                 BigSkill bigSkill = (BigSkill)ManaData.SkillList[i];
                 BigSkill bigSkill = (BigSkill)ManaData.SkillList[i];
 
 
-                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, bigSkill._Name, ""));
+                xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
+
+                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
+                xmlAttribute.Value = bigSkill._Name;
 
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = bigSkill.SkillType.ToString();
                 xmlAttribute.Value = bigSkill.SkillType.ToString();
@@ -435,7 +454,7 @@ public class Data
     private static void ResetAchieve()
     private static void ResetAchieve()
     {
     {
         XmlNode xmlNode = PlayerNode.SelectSingleNode("AchieveList");
         XmlNode xmlNode = PlayerNode.SelectSingleNode("AchieveList");
-        xmlNode.InnerText = "";
+        xmlNode.Attributes[0].Value = "";
 
 
         PlayerNode.SelectSingleNode("AchieveData").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("AchieveData").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("AchieveData").Attributes[1].Value = "0";
         PlayerNode.SelectSingleNode("AchieveData").Attributes[1].Value = "0";
@@ -448,33 +467,13 @@ public class Data
     private static void ResetPlantList()
     private static void ResetPlantList()
     {
     {
         XmlNode xmlNode = PlayerNode.SelectSingleNode("PlantList");
         XmlNode xmlNode = PlayerNode.SelectSingleNode("PlantList");
-        xmlNode.RemoveAll();
-
-        XmlAttribute xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SlotA1"));
-        xmlAttribute.Value = 0.ToString();
-
-        xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SlotA2"));
-        xmlAttribute.Value = 1.ToString();
-
-        xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SlotA3"));
-        xmlAttribute.Value = 2.ToString();
-
-        xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SlotA4"));
-        xmlAttribute.Value = 3.ToString();
-
-        xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SlotA5"));
-        xmlAttribute.Value = 4.ToString();
-
-        xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SlotA6"));
-        xmlAttribute.Value = 5.ToString();
 
 
-        xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SlotA7"));
-        xmlAttribute.Value = 6.ToString();
+        xmlNode.Attributes[0].Value = "";
     }
     }
 
 
     private static void ResetCommon()
     private static void ResetCommon()
     {
     {
-        PlayerNode.SelectSingleNode("Slot").Attributes[0].Value = "7";
+        PlayerNode.SelectSingleNode("Slot").Attributes[0].Value = "1";
         PlayerNode.SelectSingleNode("SignIndex").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("SignIndex").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("Coin").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("Coin").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("Level").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("Level").Attributes[0].Value = "0";
@@ -484,19 +483,15 @@ public class Data
         PlayerNode.SelectSingleNode("CoinPerson").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("CoinPerson").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("MiniTimer").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("MiniTimer").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("CircleTimer").Attributes[0].Value = "10";
         PlayerNode.SelectSingleNode("CircleTimer").Attributes[0].Value = "10";
-        PlayerNode.SelectSingleNode("MiniGameAmt").Attributes[0].Value = "0";
+        PlayerNode.SelectSingleNode("MiniGameIndex").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("Player").Attributes[0].Value = "PlayerBlond";
         PlayerNode.SelectSingleNode("Player").Attributes[0].Value = "PlayerBlond";
     }
     }
 
 
     private static void ResetFlowerList()
     private static void ResetFlowerList()
     {
     {
-        XmlAttributeCollection attributes = PlayerNode.SelectSingleNode("FlowerList").Attributes;
+        XmlAttribute attribute = PlayerNode.SelectSingleNode("FlowerList").Attributes[0];
 
 
-        attributes[0].RemoveAll();
-
-        XmlAttribute xmlAttribute = attributes.Append(PlayerDoc.CreateAttribute("ID"));
-
-        xmlAttribute.Value = "0 1 2 3 4 5 6 7 8 9";
+        attribute.Value = "1";
     }
     }
 
 
     public  static void ResetPlayerConfig()
     public  static void ResetPlayerConfig()
@@ -515,6 +510,113 @@ public class Data
     }
     }
 
 
 
 
+    public static int PlayerInt(string node)
+    {
+        return int.Parse(PlayerNode.SelectSingleNode(node).Attributes[0].Value);
+    }
+
+    public static bool PlayerBool(string node)
+    {
+        return Convert.ToBoolean(int.Parse(PlayerNode.SelectSingleNode(node).Attributes[0].Value));
+    }
+
+    public static float PlayerFloat(string node)
+    {
+        return float.Parse(PlayerNode.SelectSingleNode(node).Attributes[0].Value);
+    }
+
+    public static double PlayerDouble(string node)
+    {
+        return double.Parse(PlayerNode.SelectSingleNode(node).Attributes[0].Value);
+    }
+
+
+    public static List<int> GetFlowerList()
+    {
+        List<int> list = new List<int>();
+
+        XmlAttributeCollection attribute = PlayerNode.SelectSingleNode("FlowerList").Attributes;
+
+        if (!string.IsNullOrEmpty(attribute[0].Value))
+        {
+            string[] strings = attribute[0].Value.Split(' ');
+
+            for (int i = 0; i < strings.Length; i++)
+            {
+                list.Add(int.Parse(strings[i]));
+            }
+        }
+
+        return list;
+    }
+
+    public static List<int> GetAchieveList()
+    {
+        List<int> list = new List<int>();
+
+        XmlNode node = PlayerNode.SelectSingleNode("AchieveList");
+
+        if (!string.IsNullOrEmpty(node.Attributes[0].Value))
+        {
+            string[] strings = node.Attributes[0].Value.Split(' ');
+
+            for (int i = 0; i < strings.Length; i++)
+            {
+                list.Add(int.Parse(strings[i]));
+            }
+        }
+
+        return list;
+    }
+
+    public static List<double> GetAchieveData()
+    {
+        List<double> dataList = new List<double>();
+
+        dataList.Add(double.Parse(PlayerNode.SelectSingleNode("AchieveData").Attributes[0].Value));
+        dataList.Add(double.Parse(PlayerNode.SelectSingleNode("AchieveData").Attributes[1].Value));
+        dataList.Add(double.Parse(PlayerNode.SelectSingleNode("AchieveData").Attributes[2].Value));
+        dataList.Add(double.Parse(PlayerNode.SelectSingleNode("AchieveData").Attributes[3].Value));
+        dataList.Add(double.Parse(PlayerNode.SelectSingleNode("AchieveData").Attributes[4].Value));
+        dataList.Add(double.Parse(PlayerNode.SelectSingleNode("AchieveData").Attributes[5].Value));
+
+        return dataList;
+    }
+
+    public static List<KV<int, string>> GetPlantList()
+    {
+        List<KV<int, string>> list = new List<KV<int, string>>();
+
+        XmlNode xmlNode = PlayerNode.SelectSingleNode("PlantList");
+
+        if (!string.IsNullOrEmpty(xmlNode.Attributes[0].Value))
+        {
+            string[] strings = xmlNode.Attributes[0].Value.Split(' ');
+
+            for (int i = 0; i < strings.Length; i++)
+            {
+                list.Add(new KV<int, string>(int.Parse(strings[i].Split(',')[0]), strings[i].Split(',')[1]));
+            }
+        }
+
+        return list;
+    }
+
+    public static List<XmlAttributeCollection> GetSkillList()
+    {
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
+
+        XmlNodeList xmlNodeList = PlayerNode.SelectSingleNode("SkillList").ChildNodes;
+
+        for (int i = 0; i < xmlNodeList.Count; i++)
+        {
+            attributeList.Add(xmlNodeList[i].Attributes);
+        }
+
+        return attributeList;
+    }
+
+
     public static XmlAttributeCollection GetAwardConfig()
     public static XmlAttributeCollection GetAwardConfig()
     {
     {
         TextAsset textAsset;
         TextAsset textAsset;
@@ -535,7 +637,7 @@ public class Data
         TextAsset textAsset;
         TextAsset textAsset;
         XmlDocument xmlDoc = new XmlDocument();
         XmlDocument xmlDoc = new XmlDocument();
         List<XmlNodeList> xmlNodeLists = new List<XmlNodeList>();
         List<XmlNodeList> xmlNodeLists = new List<XmlNodeList>();
-        List<XmlAttributeCollection> attributesList = new List<XmlAttributeCollection>();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
         
         
         textAsset = Bundle.Config.LoadAsset<TextAsset>("pack_config");
         textAsset = Bundle.Config.LoadAsset<TextAsset>("pack_config");
         xmlDoc.LoadXml(textAsset.text);
         xmlDoc.LoadXml(textAsset.text);
@@ -553,11 +655,11 @@ public class Data
         {
         {
             for (int j = 0; j < xmlNodeLists[i].Count; j++)
             for (int j = 0; j < xmlNodeLists[i].Count; j++)
             {
             {
-                attributesList.Add(xmlNodeLists[i][j].Attributes);
+                attributeList.Add(xmlNodeLists[i][j].Attributes);
             }
             }
         }
         }
 
 
-        return attributesList;
+        return attributeList;
     }
     }
 
 
     public static List<XmlAttributeCollection> GetSignConfig()
     public static List<XmlAttributeCollection> GetSignConfig()
@@ -592,7 +694,7 @@ public class Data
 
 
         XmlDocument xmlDoc = new XmlDocument();
         XmlDocument xmlDoc = new XmlDocument();
 
 
-        List<XmlAttributeCollection> attributesList = new List<XmlAttributeCollection>();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
         
         
         textAsset = Bundle.Config.LoadAsset<TextAsset>("flower_config");
         textAsset = Bundle.Config.LoadAsset<TextAsset>("flower_config");
 
 
@@ -602,10 +704,10 @@ public class Data
 
 
         for (int i = 0; i < xmlNodeList.Count; i++)
         for (int i = 0; i < xmlNodeList.Count; i++)
         {
         {
-            attributesList.Add(xmlNodeList[i].Attributes);
+            attributeList.Add(xmlNodeList[i].Attributes);
         }
         }
 
 
-        return attributesList;
+        return attributeList;
     }
     }
 
 
     public static List<XmlAttributeCollection> GetAchieveConfig()
     public static List<XmlAttributeCollection> GetAchieveConfig()
@@ -616,7 +718,7 @@ public class Data
 
 
         XmlDocument xmlDoc = new XmlDocument();
         XmlDocument xmlDoc = new XmlDocument();
 
 
-        List<XmlAttributeCollection> attributesList = new List<XmlAttributeCollection>();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
 
 
         textAsset = Bundle.Config.LoadAsset<TextAsset>("achieve_config");
         textAsset = Bundle.Config.LoadAsset<TextAsset>("achieve_config");
 
 
@@ -626,9 +728,9 @@ public class Data
 
 
         for (int i = 0; i < xmlNodeList.Count; i++)
         for (int i = 0; i < xmlNodeList.Count; i++)
         {
         {
-            attributesList.Add(xmlNodeList[i].Attributes);
+            attributeList.Add(xmlNodeList[i].Attributes);
         }
         }
 
 
-        return attributesList;
+        return attributeList;
     }
     }
 }
 }

+ 98 - 75
Assets/Script/Tool/Extension.cs

@@ -54,64 +54,53 @@ public static class Extension
 
 
     #endregion
     #endregion
 
 
-    #region Scale
+    #region Move
 
 
-    public static Vector3 GetScale(this Transform tra)
+    public static void Shake(this Component comp, float duration, int repeat, Vector3 strength, Curve curve)
     {
     {
-        Vector3 scale = tra.localScale;
-
-        while (tra.parent != null)
-        {
-            float x = scale.x*tra.parent.localScale.x;
-            float y = scale.y*tra.parent.localScale.y;
-            float z = scale.z*tra.parent.localScale.z;
-
-            scale = new Vector3(x, y, z);
-
-            tra = tra.parent;
-        }
-
-        return scale;
+        ManaAnim.Shake(comp.transform, duration, repeat, strength, curve);
     }
     }
 
 
-    #endregion
-
-    #region Move
+    public static void Move2D(this Component comp, Vector3 destination, float duration, bool local, Curve curve)
+    {
+        ManaAnim.Move2D(comp.transform, destination, duration, local, curve);
+    }
 
 
-    public static void Move(this Component comp, Vector3 destination, float duration, bool local, Curve curve)
+    public static void Move3D(this Component comp, Vector3 destination, float duration, bool local, Curve curve)
     {
     {
-        ManaAnim.Move(comp.transform, destination, duration, local, curve);
+        ManaAnim.Move3D(comp.transform, destination, duration, local, curve);
     }
     }
 
 
 
 
-    public static Move GetMove(this Component comp)
+    public static Shake GetShake(this Component comp)
     {
     {
-        return ManaAnim.GetMove(comp.transform);
+        return ManaAnim.GetShake(comp.transform);
     }
     }
 
 
-    public static Move CreateMove(this Component comp)
+    public static Move2D GetMove2D(this Component comp)
     {
     {
-        return ManaAnim.CreateMove(comp.transform);
+        return ManaAnim.GetMove2D(comp.transform);
     }
     }
 
 
-    #endregion
+    public static Move3D GetMove3D(this Component comp)
+    {
+        return ManaAnim.GetMove3D(comp.transform);
+    }
 
 
-    #region Shake
 
 
-    public static void Shake(this Component comp, float duration, int repeat, Vector3 strength, Curve curve)
+    public static Shake CreateShake(this Component comp)
     {
     {
-        ManaAnim.Shake(comp.transform, duration, repeat, strength, curve);
+        return ManaAnim.CreateShake(comp.transform);
     }
     }
 
 
-
-    public static Shake GetShake(this Component comp)
+    public static Move2D CreateMove2D(this Component comp)
     {
     {
-        return ManaAnim.GetShake(comp.transform);
+        return ManaAnim.CreateMove2D(comp.transform);
     }
     }
 
 
-    public static Shake CreateShake(this Component comp)
+    public static Move3D CreateMove3D(this Component comp)
     {
     {
-        return ManaAnim.CreateShake(comp.transform);
+        return ManaAnim.CreateMove3D(comp.transform);
     }
     }
 
 
     #endregion
     #endregion
@@ -144,27 +133,6 @@ public static class Extension
 
 
     #endregion
     #endregion
 
 
-    #region Regist
-
-    public static void AddScript<T>(this Component comp)
-    {
-        AddScript<T>(comp.gameObject);
-    }
-
-    public static void AddScript<T>(this GameObject go)
-    {
-        Component comp = go.AddComponent(typeof(T));
-
-        if (comp is Regist)
-        {
-            ((Regist) comp).enabled = false;
-
-            Initializer.RegistList.Add((Regist) comp);
-        }
-    }
-
-    #endregion
-
     #region String
     #region String
 
 
     public static string Replace(this string str, int startIndex, int endIndex, string newStr)
     public static string Replace(this string str, int startIndex, int endIndex, string newStr)
@@ -194,6 +162,27 @@ public static class Extension
 
 
     #endregion
     #endregion
 
 
+    #region Regist
+
+    public static void AddScript<T>(this Component comp)
+    {
+        AddScript<T>(comp.gameObject);
+    }
+
+    public static void AddScript<T>(this GameObject go)
+    {
+        Component comp = go.AddComponent(typeof(T));
+
+        if (comp is Regist)
+        {
+            ((Regist)comp).enabled = false;
+
+            Initializer.RegistList.Add((Regist)comp);
+        }
+    }
+
+    #endregion
+
     #region Active
     #region Active
 
 
     public static void SetActive(this Component comp, bool active)
     public static void SetActive(this Component comp, bool active)
@@ -410,6 +399,16 @@ public static class Extension
     }
     }
 
 
 
 
+    public static TweenSr CreateTweenSr(this Component comp, float origin, float destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    {
+        return ManaAnim.CreateTweenSr(comp.transform, origin, destination, duration, group, originActive, destActive, curve);
+    }
+
+    public static TweenSr CreateTweenSr(this Component comp, float destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    {
+        return ManaAnim.CreateTweenSr(comp.transform, destination, duration, group, originActive, destActive, curve);
+    }
+
     public static TweenSr CreateTweenSr(this Component comp, Color origin, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
     public static TweenSr CreateTweenSr(this Component comp, Color origin, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
     {
     {
         return ManaAnim.CreateTweenSr(comp.transform, origin, destination, duration, group, originActive, destActive, curve);
         return ManaAnim.CreateTweenSr(comp.transform, origin, destination, duration, group, originActive, destActive, curve);
@@ -430,6 +429,16 @@ public static class Extension
         return ManaAnim.CreateTweenCG(comp.transform, destination, duration, originActive, destActive, curve);
         return ManaAnim.CreateTweenCG(comp.transform, destination, duration, originActive, destActive, curve);
     }
     }
 
 
+    public static TweenGra CreateTweenGra(this Component comp, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    {
+        return ManaAnim.CreateTweenGra(comp.transform, origin, destination, duration, originActive, destActive, curve);
+    }
+
+    public static TweenGra CreateTweenGra(this Component comp, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    {
+        return ManaAnim.CreateTweenGra(comp.transform, destination, duration, originActive, destActive, curve);
+    }
+
     public static TweenGra CreateTweenGra(this Component comp, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
     public static TweenGra CreateTweenGra(this Component comp, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
     {
     {
         return ManaAnim.CreateTweenGra(comp.transform, origin, destination, duration, originActive, destActive, curve);
         return ManaAnim.CreateTweenGra(comp.transform, origin, destination, duration, originActive, destActive, curve);
@@ -502,25 +511,6 @@ public static class Extension
     
     
     #endregion
     #endregion
 
 
-    #region Vector3
-
-    public static void SetX(this Transform tra, float x)
-    {
-        tra.position = new Vector3(x, tra.position.y, tra.position.z);
-    }
-
-    public static void SetY(this Transform tra, float y)
-    {
-        tra.position = new Vector3(tra.position.x, y, tra.position.z);
-    }
-
-    public static void SetZ(this Transform tra, float z)
-    {
-        tra.position = new Vector3(tra.position.x, tra.position.y, z);
-    }
-
-    #endregion
-
     #region Collider
     #region Collider
 
 
     public static void SetCollider(this Component comp, bool active)
     public static void SetCollider(this Component comp, bool active)
@@ -568,7 +558,22 @@ public static class Extension
 
 
     #endregion
     #endregion
 
 
-    #region EulerAngle
+    #region Transform
+
+    public static void SetX(this Transform tra, float x)
+    {
+        tra.position = new Vector3(x, tra.position.y, tra.position.z);
+    }
+
+    public static void SetY(this Transform tra, float y)
+    {
+        tra.position = new Vector3(tra.position.x, y, tra.position.z);
+    }
+
+    public static void SetZ(this Transform tra, float z)
+    {
+        tra.position = new Vector3(tra.position.x, tra.position.y, z);
+    }
 
 
     public static void SetEX(this Transform tra, float x)
     public static void SetEX(this Transform tra, float x)
     {
     {
@@ -585,6 +590,24 @@ public static class Extension
         tra.eulerAngles = new Vector3(tra.eulerAngles.x, tra.eulerAngles.y, z);
         tra.eulerAngles = new Vector3(tra.eulerAngles.x, tra.eulerAngles.y, z);
     }
     }
 
 
+    public static Vector3 GetScale(this Transform tra)
+    {
+        Vector3 scale = tra.localScale;
+
+        while (tra.parent != null)
+        {
+            float x = scale.x * tra.parent.localScale.x;
+            float y = scale.y * tra.parent.localScale.y;
+            float z = scale.z * tra.parent.localScale.z;
+
+            scale = new Vector3(x, y, z);
+
+            tra = tra.parent;
+        }
+
+        return scale;
+    }
+
     #endregion
     #endregion
 
 
     #region AddComponent
     #region AddComponent

+ 6 - 6
Assets/Script/Tool/UI/FlowerCard.cs

@@ -37,14 +37,14 @@ public class FlowerCard : MonoBehaviour
         ScrollRect.DragEvent += OnDrag;
         ScrollRect.DragEvent += OnDrag;
         ScrollRect.EndDragEvent += OnEndDrag;
         ScrollRect.EndDragEvent += OnEndDrag;
 
 
-        Move move = ScrollRect.content.CreateMove();
+        Move2D move2D = ScrollRect.content.CreateMove2D();
 
 
-        move.OnStart += () =>
+        move2D.OnStart += () =>
         {
         {
             SelectLock = true;
             SelectLock = true;
         };
         };
 
 
-        move.OnFinish += () =>
+        move2D.OnFinish += () =>
         {
         {
             SelectLock = false;
             SelectLock = false;
         };
         };
@@ -102,7 +102,7 @@ public class FlowerCard : MonoBehaviour
         delta.y = 0;
         delta.y = 0;
         delta.z = 0;
         delta.z = 0;
 
 
-        ScrollRect.content.Move(ScrollRect.content.transform.position + delta, 0.25f, false, Curve.EaseOutQuad);
+        ScrollRect.content.Move2D(ScrollRect.content.transform.position + delta, 0.25f, false, Curve.EaseOutQuad);
 
 
         InfoList = new List<FlowerInfo>();
         InfoList = new List<FlowerInfo>();
         ItemList = new List<Transform>();
         ItemList = new List<Transform>();
@@ -140,7 +140,7 @@ public class FlowerCard : MonoBehaviour
             delta.y = 0;
             delta.y = 0;
             delta.z = 0;
             delta.z = 0;
 
 
-            ScrollRect.content.Move(ScrollRect.content.transform.position + delta, 0.25f, false, Curve.EaseOutQuad);
+            ScrollRect.content.Move2D(ScrollRect.content.transform.position + delta, 0.25f, false, Curve.EaseOutQuad);
         }
         }
     }
     }
 
 
@@ -222,6 +222,6 @@ public class FlowerCard : MonoBehaviour
         delta.y = 0;
         delta.y = 0;
         delta.z = 0;
         delta.z = 0;
 
 
-        ScrollRect.content.Move(ScrollRect.content.transform.position + delta, 0.25f, false, Curve.EaseOutQuad);
+        ScrollRect.content.Move2D(ScrollRect.content.transform.position + delta, 0.25f, false, Curve.EaseOutQuad);
     }
     }
 }
 }

+ 5 - 1
MyLovelyGarden.csproj

@@ -111,7 +111,9 @@
     <Compile Include="Assets\Script\Manage\ManaPlayer.cs" />
     <Compile Include="Assets\Script\Manage\ManaPlayer.cs" />
     <Compile Include="Assets\Script\Manage\ManaReso.cs" />
     <Compile Include="Assets\Script\Manage\ManaReso.cs" />
     <Compile Include="Assets\Script\Manage\ManaSign.cs" />
     <Compile Include="Assets\Script\Manage\ManaSign.cs" />
+    <Compile Include="Assets\Script\Manage\ManaSkill.cs" />
     <Compile Include="Assets\Script\Manage\ManaText.cs" />
     <Compile Include="Assets\Script\Manage\ManaText.cs" />
+    <Compile Include="Assets\Script\Manage\ManaTutorial.cs" />
     <Compile Include="Assets\Script\Manage\ManaUI.cs" />
     <Compile Include="Assets\Script\Manage\ManaUI.cs" />
     <Compile Include="Assets\Script\Object\AnimationReceiver.cs" />
     <Compile Include="Assets\Script\Object\AnimationReceiver.cs" />
     <Compile Include="Assets\Script\Object\Drop.cs" />
     <Compile Include="Assets\Script\Object\Drop.cs" />
@@ -127,8 +129,10 @@
     <Compile Include="Assets\Script\Object\Skill\Skill.cs" />
     <Compile Include="Assets\Script\Object\Skill\Skill.cs" />
     <Compile Include="Assets\Script\Object\Skill\SkillRoot.cs" />
     <Compile Include="Assets\Script\Object\Skill\SkillRoot.cs" />
     <Compile Include="Assets\Script\Object\Slot.cs" />
     <Compile Include="Assets\Script\Object\Slot.cs" />
-    <Compile Include="Assets\Script\Tool\Anim\Anim.cs" />
+    <Compile Include="Assets\Script\Object\Tutorial.cs" />
     <Compile Include="Assets\Script\Tool\Anim\Move.cs" />
     <Compile Include="Assets\Script\Tool\Anim\Move.cs" />
+    <Compile Include="Assets\Script\Tool\Anim\Move2D.cs" />
+    <Compile Include="Assets\Script\Tool\Anim\Move3D.cs" />
     <Compile Include="Assets\Script\Tool\Anim\Shake.cs" />
     <Compile Include="Assets\Script\Tool\Anim\Shake.cs" />
     <Compile Include="Assets\Script\Tool\Anim\Tween.cs" />
     <Compile Include="Assets\Script\Tool\Anim\Tween.cs" />
     <Compile Include="Assets\Script\Tool\Anim\TweenAudio.cs" />
     <Compile Include="Assets\Script\Tool\Anim\TweenAudio.cs" />

+ 13 - 16
MyLovelyGarden.sln

@@ -1,9 +1,9 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2008
-
-Project("{8A8BB0A8-D809-F2DF-89D6-F26151FFF558}") = "MyLovelyGarden", "Assembly-CSharp.csproj", "{21BB93BC-2239-D8F5-1219-201F8DCBAF49}"
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2015
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyLovelyGarden", "MyLovelyGarden.csproj", "{9F3A3259-D53B-F6C8-8878-C5B99621035A}"
 EndProject
 EndProject
-Project("{8A8BB0A8-D809-F2DF-89D6-F26151FFF558}") = "MyLovelyGarden", "Assembly-CSharp-Editor.csproj", "{A08052E5-32CE-91C0-FF56-C60C901D6BEF}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyLovelyGarden.Editor", "MyLovelyGarden.Editor.csproj", "{B575449E-FD9A-1672-368B-EC1E1252F6E4}"
 EndProject
 EndProject
 Global
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,19 +11,16 @@ Global
 		Release|Any CPU = Release|Any CPU
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{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
-		{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
+		{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
+		{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
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 		HideSolutionNode = FALSE
 	EndGlobalSection
 	EndGlobalSection
-	GlobalSection(MonoDevelopProperties) = preSolution
-		StartupItem = Assembly-CSharp.csproj
-	EndGlobalSection
 EndGlobal
 EndGlobal

+ 4 - 31
ToList.txt

@@ -1,43 +1,16 @@
-Tutorial语言
-
-PlayerZ 0.6
-
-SpriteRenderer Button
+ManaData ManaSkill ManaGarden 种花使用Dic
 
 
 
 
 切换后台
 切换后台
 
 
-注册方法
-
-Move需要移动Z的情况
-
-PageTra PosTra ParTra
+注册机制
 
 
 分段加载场景
 分段加载场景
 
 
-Extension重新分类
-
-调试功能放到ManaDebug中
-
-修改动画脚本(同一组件上的不同对象 不同组件上的统一对象 把Snap等操作放入OnFinish中)
-
-
-字体
-
-是否保留Tree2
-
-Anchor
-
-RichText
-
-存档加密
 
 
-OverFlow
+Font Anchor Encrypt RichText OverFlow RaycastTarget
 
 
-RaycastTarget
+语言文档中的多余项 是否保留Tree2 Auxiliary中的测试按键 DisableButton的颜色
 
 
-语言文档中的多余项
 
 
-DisableButton的颜色
 
 
-Auxiliary中的测试按键