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>
-  <Version value="16" />
-  <Tutorial value="1" />
-  <Slot value="1" />
+  <Version value="31" />
+  
   <Player value="PlayerBlond" />
-  <SignIndex value="0" />
+  <QuitTime value="2/3/2017 09:30:00 AM" />
+  
+  <Slot value="1" />
   <Coin value="0" />
   <Level value="0" />
   <Person value="0" />
+  <Tutorial value="0" />
   <Diamond value="0" />
-  <QuitTime value="3/24/2017 10:40:04 PM" />
+  <SignIndex value="0" />
   <MiniTimer value="0" />
-  <CircleTimer value="10" />
   <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"/>
+  
   <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>
 </PlayerConfig>

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

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

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

@@ -12,16 +12,28 @@ public class Initializer : MonoBehaviour
 {
     #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
 
     private void Awake()
     {
-        RegistList = new List<Regist>();
-
         if (Bundle.Instance == null)
         {
             gameObject.AddScript<Bundle>();
@@ -32,12 +44,11 @@ public class Initializer : MonoBehaviour
             gameObject.AddScript<Auxiliary>();
         }
 
+        gameObject.AddScript<ManaText>();
         gameObject.AddScript<ManaReso>();
         gameObject.AddScript<ManaAnim>();
         gameObject.AddScript<ManaAudio>();
 
-        gameObject.AddScript<ManaText>();
-
         gameObject.AddScript<ManaUI>();
         gameObject.AddScript<ManaSign>();
         gameObject.AddScript<ManaGarden>();
@@ -52,9 +63,10 @@ public class Initializer : MonoBehaviour
         StartCoroutine(IInitialize());
     }
 
+
     public static void Initialize()
     {
-        Tutorial = Convert.ToBoolean(int.Parse(Data.PlayerNode.SelectSingleNode("Tutorial").Attributes[0].Value));
+        Tutorial = Data.PlayerBool("Tutorial");
 
         if (Tutorial)
         {
@@ -71,8 +83,6 @@ public class Initializer : MonoBehaviour
         for (int i = 0; i < RegistList.Count; i++)
         {
             RegistList[i].TutorialInstantiate();
-
-            RegistList[i].enabled = true;
         }
 
         for (int i = 0; i < RegistList.Count; i++)
@@ -83,6 +93,8 @@ public class Initializer : MonoBehaviour
         for (int i = 0; i < RegistList.Count; i++)
         {
             RegistList[i].TutorialRegistValue();
+
+            RegistList[i].enabled = true;
         }
     }
 
@@ -91,8 +103,6 @@ public class Initializer : MonoBehaviour
         for (int i = 0; i < RegistList.Count; i++)
         {
             RegistList[i].Instantiate();
-
-            RegistList[i].enabled = true;
         }
 
         for (int i = 0; i < RegistList.Count; i++)
@@ -113,6 +123,8 @@ public class Initializer : MonoBehaviour
         for (int i = 0; i < RegistList.Count; i++)
         {
             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.Generic;
-using System.Text;
-using System.Xml;
-using UnityEngine.Events;
-using UnityEngine.UI;
+
 using Object = UnityEngine.Object;
 
 public enum AchieveType
@@ -17,12 +18,12 @@ public enum AchieveType
     Share,
     Flower,
     Person,
+    Garden,
     ElfLevel,
     TotalCoin,
     MiniGame,
     FlowerCoin,
     CurrentCoin,
-    GardenLevel,
 }
 
 public class Achieve
@@ -36,31 +37,31 @@ public class Achieve
 
             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();
             }
         }
     }
+    public string ID
+    {
+        get
+        {
+            return "Achieve" + _ID;
+        }
+    }
     public string Desc
     {
         get
         {
-            return Language.GetStr("AchieveDescription", "Achieve" + ID);
+            return Language.GetStr("AchieveDescription", ID);
         }
     }
     public string Name
     {
         get
         {
-            return Language.GetStr("AchieveName", "Achieve" + ID);
+            return Language.GetStr("AchieveName", ID);
         }
     }
     public List<Achieve> PostAchieveList
@@ -77,10 +78,10 @@ public class Achieve
         set { _PostAchieveList = value; }
     }
 
+    public int _ID;
     public bool _Regist;
     public List<Achieve> _PostAchieveList;
 
-    public int ID;
     public int Index;
     public int Parent;
     public bool Valid;
@@ -90,7 +91,7 @@ public class Achieve
     public float CoinPerson;
     public float DiamondOnce;
     public string Icon;
-    public double TargetValue;
+    public double Value;
     public AchieveType Type;
 
     public Text Tit;
@@ -107,18 +108,18 @@ public class Achieve
 
         Icon = attribute[11].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));
-        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);
 
         Person = AwardParse(attribute[10].Value);
         CoinPerson = AwardParse(attribute[9].Value);
         DiamondOnce = AwardParse(attribute[8].Value);
 
-        ManaAchieve.AchieveDic.Add(ID, this);
+        ManaAchieve.AchieveDic.Add(_ID, this);
         
         if (Parent != -1)
         {
@@ -169,8 +170,8 @@ public class Achieve
         Button = dic["Btn"].GetComponent<Button>();
         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);
 
@@ -234,7 +235,7 @@ public class Achieve
         {
             value = ManaData.Coin;
         }
-        else if (Type == AchieveType.GardenLevel)
+        else if (Type == AchieveType.Garden)
         {
             value = ManaData.Level;
         }
@@ -243,9 +244,9 @@ public class Achieve
             throw new Exception();
         }
 
-        Slider.value = (float)(value / TargetValue);
+        Slider.value = (float)(value / Value);
 
-        if (value >= TargetValue)
+        if (value >= Value)
         {
             Finish = true;
         }
@@ -258,9 +259,9 @@ public class Achieve
             return;
         }
 
-        Slider.value = (float)(value/TargetValue);
+        Slider.value = (float)(value/Value);
 
-        if (value >= TargetValue)
+        if (value >= Value)
         {
             Finish = true;
 
@@ -272,77 +273,94 @@ public class Achieve
     {
         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)
     {
         int integer = int.Parse(str);
 
         if (integer == 1)
         {
-            return AchieveType.GardenLevel;
+            return AchieveType.Garden;
         }
         else if (integer == 2)
         {
@@ -466,7 +483,7 @@ public class ManaAchieve : Regist
                 _DeleDic.Add(AchieveType.MiniGame, MiniGame);
                 _DeleDic.Add(AchieveType.FlowerCoin, FlowerCoin);
                 _DeleDic.Add(AchieveType.CurrentCoin, CurrentCoin);
-                _DeleDic.Add(AchieveType.GardenLevel, GardenLevel);
+                _DeleDic.Add(AchieveType.Garden, Garden);
             }
 
             return _DeleDic;
@@ -483,12 +500,12 @@ public class ManaAchieve : Regist
     public static UnityAction<double> Share;
     public static UnityAction<double> Flower;
     public static UnityAction<double> Person;
+    public static UnityAction<double> Garden;
     public static UnityAction<double> ElfLevel;
     public static UnityAction<double> TotalCoin;
     public static UnityAction<double> MiniGame;
     public static UnityAction<double> FlowerCoin;
     public static UnityAction<double> CurrentCoin;
-    public static UnityAction<double> GardenLevel;
 
     #endregion
 
@@ -501,19 +518,16 @@ public class ManaAchieve : Regist
             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)
         {
             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 变量
 
-    public static List<Anim> AnimList;
+    public static List<Move> MoveList;
     public static List<Tween> TweenForList;
     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, Move2D> MoveDic2D;
+    public static Dictionary<Transform, Move3D> MoveDic3D;
+
     public static Dictionary<Transform, TweenSr> TweenSrDic;
     public static Dictionary<Transform, TweenCG> TweenCgDic;
     public static Dictionary<Transform, TweenGra> TweenGraDic;
@@ -53,11 +56,11 @@ public class ManaAnim : Regist
 
     #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--;
             }
@@ -83,19 +86,22 @@ public class ManaAnim : Regist
 
     public override void RegistValueA()
     {
-        AnimList = new List<Anim>();
+        MoveList = new List<Move>();
         TweenForList = 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>();
+        MoveDic3D = new Dictionary<Transform, Move3D>();
+        MoveDic2D = new Dictionary<Transform, Move2D>();
+
         TweenSrDic = new Dictionary<Transform, TweenSr>();
         TweenCgDic = new Dictionary<Transform, TweenCG>();
         TweenGraDic = new Dictionary<Transform, TweenGra>();
@@ -105,23 +111,23 @@ public class ManaAnim : Regist
         TweenScaleDic = new Dictionary<Transform, TweenScale>();
         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 播放动画
 
-    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
         {
-            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
         {
-            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 得到动画
 
-    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
         {
@@ -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
         {
@@ -1034,46 +1070,122 @@ public class ManaAnim : Regist
 
     #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
         {
-            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
         {
-            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)
     {
@@ -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)
     {
         if (TweenGraDic.ContainsKey(target))

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

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

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

@@ -3,10 +3,8 @@
 using System.Collections;
 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 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;
 
-            if (ManaAchieve.DeleDic[AchieveType.AD] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.AD].Invoke(_AD);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.AD, _AD);
         }
     }
     public static double Skill
@@ -34,10 +31,7 @@ public class ManaData : Regist
         {
             _Skill = value;
 
-            if (ManaAchieve.DeleDic[AchieveType.Skill] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.Skill].Invoke(_Skill);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.Skill, _Skill);
         }
     }
     public static double Sign
@@ -47,10 +41,7 @@ public class ManaData : Regist
         {
             _Sign = value;
 
-            if (ManaAchieve.DeleDic[AchieveType.Sign] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.Sign].Invoke(_Sign);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.Sign, _Sign);
         }
     }
     public static double Share
@@ -60,10 +51,7 @@ public class ManaData : Regist
         {
             _Share = value;
 
-            if (ManaAchieve.DeleDic[AchieveType.Share] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.Share].Invoke(_Share);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.Share, _Share);
         }
     }
     public static double ElfLevel
@@ -73,10 +61,7 @@ public class ManaData : Regist
         {
             _ElfLevel = value;
 
-            if (ManaAchieve.DeleDic[AchieveType.ElfLevel] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.ElfLevel].Invoke(_ElfLevel);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.ElfLevel, _ElfLevel);
         }
     }
     public static double TotalCoin
@@ -86,10 +71,7 @@ public class ManaData : Regist
         {
             _TotalCoin = value;
 
-            if (ManaAchieve.DeleDic[AchieveType.TotalCoin] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.TotalCoin].Invoke(_TotalCoin);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.TotalCoin, _TotalCoin);
         }
     }
     public static double MiniGame
@@ -99,10 +81,7 @@ public class ManaData : Regist
         {
             _MiniGame = value;
 
-            if (ManaAchieve.DeleDic[AchieveType.MiniGame] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.MiniGame].Invoke(_MiniGame);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.MiniGame, _MiniGame);
         }
     }
     public static double FlowerCoin
@@ -111,11 +90,8 @@ public class ManaData : Regist
         set
         {
             _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();
             }
 
-            if (ManaAchieve.DeleDic[AchieveType.GardenLevel] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.GardenLevel].Invoke(_Level);
-            }
+            ManaAchieve.UpdateStatus(AchieveType.Garden, _Level);
         }
     }
     public static bool Pause
@@ -188,12 +161,9 @@ public class ManaData : Regist
         {
             _Person = value;
 
-            if (ManaAchieve.DeleDic[AchieveType.Person] != null)
-            {
-                ManaAchieve.DeleDic[AchieveType.Person].Invoke(_Person);
-            }
-
             ManaReso.SetText("F_PersonLab", _Person.ToString("0.0"));
+
+            ManaAchieve.UpdateStatus(AchieveType.Person, _Person);
         }
     }
     public static float CoinPerson
@@ -220,11 +190,8 @@ public class ManaData : Regist
 
             ManaReso.SetText("F_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
@@ -246,93 +213,58 @@ public class ManaData : Regist
     private static double _Coin;
     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()
     {
@@ -374,7 +306,7 @@ public class ManaData : Regist
         {
             OpTimer = 0;
 
-            if (Main == 0)
+            if (MainDepth == 0)
             {
                 ManaReso.Get("C_Main").TweenForCG();
             }
@@ -387,7 +319,7 @@ public class ManaData : Regist
             {
                 OpTimer = 0;
 
-                if (Main == -1)
+                if (MainDepth == -1)
                 {
                     ManaReso.Get("C_Main").TweenBacCG();
                 }
@@ -407,7 +339,7 @@ public class ManaData : Regist
             RegularFixedUpdate();
         }
     }
-
+    
     private void TutorialFixedUpdate()
     {
         
@@ -415,7 +347,7 @@ public class ManaData : Regist
 
     private void RegularFixedUpdate()
     {
-        #region 使用技能
+        #region 技能
 
         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++)
         {
             if (CoolList[i].DoCool())
@@ -439,7 +367,7 @@ public class ManaData : Regist
 
         #endregion
 
-        #region 计算参观收入
+        #region 参观收入
 
         CircleTimer -= Time.deltaTime;
 
@@ -454,9 +382,9 @@ public class ManaData : Regist
 
             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));
@@ -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
+    }
 
-        #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();
         }
 
-        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
 
         #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
@@ -540,9 +509,6 @@ public class ManaData : Regist
     {
         #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;
 
         if (elapse > 43200)
@@ -552,8 +518,6 @@ public class ManaData : Regist
         
         ManaDebug.Log(string.Format("离线时间<color=red>{0}</color>", elapse));
 
-        XmlNodeList xmlNodeList = Data.PlayerNode.SelectSingleNode("SkillList").ChildNodes;
-
         List<SkillRoot> ffCoolList = new 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));
         }
 
-        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
 
         #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));
 
-        Coin = double.Parse(Data.PlayerNode.SelectSingleNode("Coin").Attributes[0].Value);
-        Diamond = double.Parse(Data.PlayerNode.SelectSingleNode("Diamond").Attributes[0].Value);
-
         #endregion
 
         #region 计算离线收入
@@ -711,9 +624,7 @@ public class ManaData : Regist
 
     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();
         }

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

@@ -11,6 +11,18 @@ using System.Collections.Generic;
 
 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
 {
     #region 变量
@@ -22,10 +34,7 @@ public class ManaGarden : Regist
         {
             _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("G_CollectLab1", string.Format("{0}/{1}", MyFlower, TotalFlower));
@@ -207,11 +216,11 @@ public class ManaGarden : Regist
         PlantList = new List<Slot>();
         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)
             {

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

@@ -117,19 +117,29 @@ public class Award
             {
                 ManaReso.SetActive("Da_Flower", true);
 
+                int Anti = 0;
                 FlowerInfo flowerInfo;
 
                 while (true)
                 {
+                    Anti++;
+
+                    if (Anti > 1000)
+                    {
+                        ManaReso.SetText("Da_FlowerLab", "没有可用的花朵");
+
+                        break;
+                    }
+
                     flowerInfo = ManaGarden.FlowerInfoList.Random();
 
                     if (flowerInfo.Unlock)
                     {
+                        ManaReso.SetText("Da_FlowerLab", Language.GetStr("FlowerName", "Flower" + flowerInfo.ID));
+
                         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 _PrepareTimer;
 
-    public static int MiniGameAmt;
+    public static int MiniGameIndex;
     public static bool DropDiamond;
     public static List<DropGold> GoldList;
     public static List<DropDiamond> DiamondList;
@@ -374,15 +384,18 @@ public class ManaMiniGame : Regist
 
         OpTimer = OpTime;
         GameTimer = GameTime;
+        MiniGameIndex = Data.PlayerInt("MiniGameIndex");
 
         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.OnForwardFinish += () =>
         {
-            PrepareLab.color = ManaColor.Orange;
+            PrepareLab.SetAlpha(1);
             PrepareLab.fontSize = 90;
         };
     }
@@ -507,16 +520,16 @@ public class ManaMiniGame : Regist
 
     public static void GameBegin()
     {
-        MiniGameAmt++;
+        MiniGameIndex++;
 
         GoldTimer = Random.Range(3f, 6f);
         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;
         }

+ 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);
         tra.name = "Player";
+        tra.localScale = new Vector3(0.5f, 0.5f, 0.5f);
         tra.AddScript<Player>();
 
         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()
     {
-        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;
 
         Transform tra = Get("DropGold", Folder.UI, false, null, pos, ObjType.DropGold);
@@ -214,7 +214,7 @@ public class ManaReso : Regist
 
     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;
 
         Transform tra = Get("DropDiamond", Folder.UI, false, null, pos, ObjType.DropDiamond);
@@ -374,6 +374,20 @@ public class ManaReso : Regist
         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()
     {
         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
-guid: 8231cf803f7d7c1408fd9470fb977135
-timeCreated: 1489628126
+guid: e5825f1caa9d464488580e78d56dd229
+timeCreated: 1491730064
 licenseType: Pro
 MonoImporter:
   serializedVersion: 2

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

@@ -6,18 +6,18 @@ using UnityEngine.UI;
 
 public class LanStr
 {
-    public string Id;
+    public string ID;
     public string Page;
 
     public LanStr(string id, string page)
     {
-        Id = id;
+        ID = id;
         Page = page;
     }
 
     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);
         }
 
-        foreach (var kv in ManaAchieve.AchieveDic)
-        {
-            kv.Value.SwitchLanguage();
-        }
-
         for (int i = 0; i < ManaData.SkillList.Count; i++)
         {
             ManaData.SkillList[i].SwitchLanguage();

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

@@ -43,12 +43,12 @@ public class ManaUI : Regist
 
         tween.OnForwardStart += () =>
         {
-            ManaData.Main++;
+            ManaData.MainDepth++;
         };
 
         tween.OnBackwardFinish += () =>
         {
-            ManaData.Main--;
+            ManaData.MainDepth--;
         };
 
         #endregion
@@ -117,12 +117,12 @@ public class ManaUI : Regist
 
         tween.OnForwardStart += () =>
         {
-            ManaData.Main = -1;
+            ManaData.MainDepth = -1;
         };
 
         tween.OnBackwardStart += () =>
         {
-            ManaData.Main = 0;
+            ManaData.MainDepth = 0;
         };
 
         #endregion
@@ -322,7 +322,7 @@ public class ManaUI : Regist
 
             ManaReso.SetActive("E_Debug", false);
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
 
             ManaReso.SetActive("Da_Quit", true);
             ManaReso.SetActive("Da_Cancel", true);
@@ -726,7 +726,7 @@ public class ManaUI : Regist
             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 += () =>
         {
@@ -734,7 +734,7 @@ public class ManaUI : Regist
 
             ManaReso.SetActive("F_Manage", true);
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
         };
 
         tween.OnForwardFinish += () =>
@@ -744,7 +744,7 @@ public class ManaUI : Regist
 
         tween.OnBackwardStart += () =>
         {
-            ManaData.Main--;
+            ManaData.MainDepth--;
         };
 
         tween.OnBackwardFinish += () =>
@@ -849,12 +849,12 @@ public class ManaUI : Regist
 
         tween.OnForwardStart += () =>
         {
-            if (ManaData.Main == -1)
+            if (ManaData.MainDepth == -1)
             {
                 ManaReso.Get("C_Main").TweenBacCG();
             }
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
 
             if (ManaGarden.MyFlowerSpec == 0)
             {
@@ -864,7 +864,7 @@ public class ManaUI : Regist
 
         tween.OnBackwardStart += () =>
         {
-            ManaData.Main--;
+            ManaData.MainDepth--;
         };
 
         #endregion
@@ -888,7 +888,7 @@ public class ManaUI : Regist
 
         #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
         (
@@ -1009,17 +1009,17 @@ public class ManaUI : Regist
 
         tween.OnForwardStart += () =>
         {
-            if (ManaData.Main == -1)
+            if (ManaData.MainDepth == -1)
             {
                 ManaReso.Get("C_Main").TweenBacCG();
             }
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
         };
 
         tween.OnBackwardStart += () =>
         {
-            ManaData.Main--;
+            ManaData.MainDepth--;
         };
 
         #endregion
@@ -1079,7 +1079,7 @@ public class ManaUI : Regist
         {
             ManaReso.Get("C_Main").TweenBacCG();
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
         };
 
         tween.OnBackwardFinish += () =>
@@ -1194,7 +1194,7 @@ public class ManaUI : Regist
             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 += () =>
         {
@@ -1202,7 +1202,7 @@ public class ManaUI : Regist
 
             ManaReso.SetActive("M_Achieve", true);
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
         };
 
         tween.OnForwardFinish += () =>
@@ -1212,7 +1212,7 @@ public class ManaUI : Regist
 
         tween.OnBackwardStart += () =>
         {
-            ManaData.Main--;
+            ManaData.MainDepth--;
         };
 
         tween.OnBackwardFinish += () =>
@@ -1393,7 +1393,7 @@ public class ManaUI : Regist
 
             ManaReso.SetActive("E_Debug", false);
 
-            ManaData.Main++;
+            ManaData.MainDepth++;
 
             ManaReso.SetActive("Da_Quit", 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);
         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);
         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 string _Name;
 
-    public int Id;
+    public int ID;
     public bool Special;
     public string Description;
 
@@ -102,7 +102,7 @@ public class FlowerInfo
 
     #endregion
 
-    public FlowerInfo(XmlAttributeCollection attributes)
+    public FlowerInfo(XmlAttributeCollection attribute)
     {
         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>();
         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;
 
@@ -159,7 +159,7 @@ public class Flower : ObjRoot, IPointerClickHandler
                 OperateIcon.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;
             }
@@ -207,7 +207,7 @@ public class Flower : ObjRoot, IPointerClickHandler
     public bool _Award;
     private FlowerInfo _FlowerInfo;
 
-    public int Id;
+    public int ID;
     public Slot Slot;
     public Vector3 LocalPos;
     public Animator ParticleAC;
@@ -388,7 +388,7 @@ public class Flower : ObjRoot, IPointerClickHandler
         ManaData.Coin += 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);
     }
@@ -403,7 +403,7 @@ public class Flower : ObjRoot, IPointerClickHandler
         GoldBk.TweenForSr();
         GoldIcon.TweenForSr();
 
-        GoldBk.Move
+        GoldBk.Move2D
         (
             GoldBk.transform.localPosition + new Vector3(0, 0.5f, 0),
             1f,

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

@@ -105,14 +105,14 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
         #region GardenA
 
-        Move move = GardenA.CreateMove();
+        Move2D move2D = GardenA.CreateMove2D();
 
-        move.OnStart += () =>
+        move2D.OnStart += () =>
         {
             Flag2 = false;
         };
 
-        move.OnFinish += () =>
+        move2D.OnFinish += () =>
         {
             Flag2 = true;
         };
@@ -123,7 +123,7 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
         
         tween = ManaReso.Get("GardenMini").CreateTweenVec2D
         (
-            ManaReso.Get("PageTraMini").position,
+            ManaReso.Get("PosTraMini").position,
             0.5f, 
             false,
             false, 
@@ -339,14 +339,14 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
         #region GardenA
 
-        Move move = GardenA.CreateMove();
+        Move2D move2D = GardenA.CreateMove2D();
 
-        move.OnStart += () =>
+        move2D.OnStart += () =>
         {
             Flag2 = false;
         };
 
-        move.OnFinish += () =>
+        move2D.OnFinish += () =>
         {
             Flag2 = true;
         };
@@ -357,7 +357,7 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
         tween = ManaReso.Get("GardenMini").CreateTweenVec2D
         (
-            ManaReso.Get("PageTraMini").position,
+            ManaReso.Get("PosTraMini").position,
             0.5f,
             false,
             false,
@@ -614,11 +614,11 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
     {
         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()
@@ -627,11 +627,11 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
         
         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()
@@ -640,10 +640,10 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
         
         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
 
-    public Ability(XmlAttributeCollection attributes)
+    public Ability(XmlAttributeCollection attribute)
     {
         #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;
 
-        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
 
@@ -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;
         NewPerson = Person;
         NewSkillCD = SkillCD;

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

@@ -103,9 +103,9 @@ public class BigSkill : Skill
 
     #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;
     }
@@ -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);
 
         BarBk1.sprite = ManaReso.Load<Sprite>(Icon + "副", Folder.Skill);
@@ -266,6 +273,9 @@ public class BigSkill : Skill
                 {
                     UseTimer -= elapse;
 
+                    ManaData.UseList.Add(this);
+                    BarBk1.SetActive(true);
+
                     BarLab.color = Color.blue;
                 }
             }
@@ -274,7 +284,7 @@ public class BigSkill : Skill
                 CoolTimer -= elapse;
             }
         }
-
+        
         ItemStatus = ItemStatus;
         BarStatus = BarStatus;
     }

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

@@ -63,30 +63,30 @@ public class Pack : SkillRoot
 
     #endregion
 
-    public Pack(XmlAttributeCollection attributes)
+    public Pack(XmlAttributeCollection attribute)
     {
         #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;
-        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
 
@@ -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));
 
         ItemLab.text = Description(0);

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

@@ -114,47 +114,47 @@ public class Skill : SkillRoot
 
     #endregion
 
-    public Skill(XmlAttributeCollection attributes)
+    public Skill(XmlAttributeCollection attribute)
     {
         #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;
 
-        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
 
@@ -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;
         NewPerson = Person;
         NewSkillCD = SkillCD;

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

@@ -4,6 +4,7 @@ using UnityEngine.UI;
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.Xml;
 
 public enum Current
 {
@@ -84,7 +85,7 @@ public abstract class SkillRoot
     public SkillType SkillType;
     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();
 
     #endregion
@@ -140,7 +141,7 @@ public abstract class SkillRoot
         {
             return;
         }
-
+        
         Dictionary<string, Transform> childDic = new Dictionary<string, Transform>();
 
         Auxiliary.CompileDic(SkillItem, childDic);

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

@@ -28,7 +28,7 @@ public class Slot : MonoBehaviour
 
     private bool _Valid;
 
-    public int Id;
+    public int ID;
     public bool Available;
     public Flower Flower;
     public TextMesh TextMesh;
@@ -52,7 +52,7 @@ public class Slot : MonoBehaviour
     {
         FlowerInfo = flowerInfo;
 
-        Id = flowerInfo.Id;
+        ID = flowerInfo.ID;
 
         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.Events;
 
-using System;
 using System.Collections;
+using UnityEngine.Events;
 
-public class Move : Anim
+public abstract class Move 
 {
     #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
 
-    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
-guid: 15d25b48775dc7c4dbc614ce0c80df93
-timeCreated: 1488182161
+guid: 8231cf803f7d7c1408fd9470fb977135
+timeCreated: 1489628126
 licenseType: Pro
 MonoImporter:
   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 Debug = System.Diagnostics.Debug;
 
-public class Shake : Anim
+public class Shake : Move
 {
     #region 变量
 
@@ -61,7 +61,7 @@ public class Shake : Anim
 
             InDestination = true;
 
-            ManaAnim.AnimList.Remove(this);
+            ManaAnim.MoveList.Remove(this);
 
             if (OnFinish != null)
             {
@@ -91,14 +91,14 @@ public class Shake : Anim
         Strength = strength;
         Duration = duration;
 
-        Func = ManaAnim.ShakeFunctionDicV[curve];
+        Func = ManaAnim.ShakeFuncDicV[curve];
 
         if (OnStart != null)
         {
             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)
     {
-        Func = ManaAnim.CurveFunctionDicF[curve];
+        Func = ManaAnim.CurveFuncDicF[curve];
         Target = target;
 
         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)
     {
-        Func = ManaAnim.CurveFunctionDicF[curve];
+        Func = ManaAnim.CurveFuncDicF[curve];
         Target = target;
 
         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)
     {
-        Func = ManaAnim.CurveFunctionDicC[curve];
+        Func = ManaAnim.CurveFuncDicC[curve];
         Target = target;
 
         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)
     {
         CG = target.GetComponent<CanvasGroup>();
-        Func = ManaAnim.CurveFunctionDicV[curve];
+        Func = ManaAnim.CurveFuncDicV[curve];
         Target = target;
 
         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)
     {
         CG = target.GetComponent<CanvasGroup>();
-        Func = ManaAnim.CurveFunctionDicV[curve];
+        Func = ManaAnim.CurveFuncDicV[curve];
         Target = target;
 
         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)
     {
-        Func = ManaAnim.CurveFunctionDicC[curve];
+        Func = ManaAnim.CurveFuncDicC[curve];
         Target = target;
 
         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)
     {
-        Func = ManaAnim.CurveFunctionDicF[curve];
+        Func = ManaAnim.CurveFuncDicF[curve];
         Target = target;
 
         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)
     {
         CG = target.GetComponent<CanvasGroup>();
-        Func = ManaAnim.CurveFunctionDicV[curve];
+        Func = ManaAnim.CurveFuncDicV[curve];
         Target = target;
 
         InForward = false;

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

@@ -131,7 +131,10 @@ public class Data
 
                 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.Value = skill.SkillType.ToString();
@@ -158,14 +161,14 @@ public class Data
 
                 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.Value = pack.SkillType.ToString();
 
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("Name"));
-                xmlAttribute.Value = pack._Name;
-
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ItemStatus"));
                 xmlAttribute.Value = pack.ItemStatus.ToString();
 
@@ -182,7 +185,10 @@ public class Data
 
                 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.Value = ability.SkillType.ToString();
@@ -203,7 +209,10 @@ public class Data
 
                 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.Value = bigSkill.SkillType.ToString();
@@ -233,17 +242,17 @@ public class Data
     private static void SaveAchieve()
     {
         XmlNode xmlNode = PlayerNode.SelectSingleNode("AchieveList");
-        xmlNode.InnerText = "";
+        xmlNode.Attributes[0].Value = "";
 
         foreach (var kv in ManaAchieve.AchieveDic)
         {
             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[1].Value = ManaData.Skill.ToString("0");
@@ -255,15 +264,18 @@ public class Data
 
     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++)
         {
-            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("MiniTimer").Attributes[0].Value = ManaData.MiniTimer.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;
     }
 
     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++)
         {
             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()
@@ -333,7 +343,10 @@ public class Data
 
                 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.Value = skill.SkillType.ToString();
@@ -360,14 +373,14 @@ public class Data
 
                 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.Value = pack.SkillType.ToString();
 
-                xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("Name"));
-                xmlAttribute.Value = pack._Name;
-
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ItemStatus"));
                 xmlAttribute.Value = SkillStatus.Lock.ToString();
 
@@ -384,7 +397,10 @@ public class Data
 
                 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.Value = ability.SkillType.ToString();
@@ -405,7 +421,10 @@ public class Data
 
                 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.Value = bigSkill.SkillType.ToString();
@@ -435,7 +454,7 @@ public class Data
     private static void ResetAchieve()
     {
         XmlNode xmlNode = PlayerNode.SelectSingleNode("AchieveList");
-        xmlNode.InnerText = "";
+        xmlNode.Attributes[0].Value = "";
 
         PlayerNode.SelectSingleNode("AchieveData").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("AchieveData").Attributes[1].Value = "0";
@@ -448,33 +467,13 @@ public class Data
     private static void ResetPlantList()
     {
         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()
     {
-        PlayerNode.SelectSingleNode("Slot").Attributes[0].Value = "7";
+        PlayerNode.SelectSingleNode("Slot").Attributes[0].Value = "1";
         PlayerNode.SelectSingleNode("SignIndex").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("Coin").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("MiniTimer").Attributes[0].Value = "0";
         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";
     }
 
     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()
@@ -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()
     {
         TextAsset textAsset;
@@ -535,7 +637,7 @@ public class Data
         TextAsset textAsset;
         XmlDocument xmlDoc = new XmlDocument();
         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");
         xmlDoc.LoadXml(textAsset.text);
@@ -553,11 +655,11 @@ public class Data
         {
             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()
@@ -592,7 +694,7 @@ public class Data
 
         XmlDocument xmlDoc = new XmlDocument();
 
-        List<XmlAttributeCollection> attributesList = new List<XmlAttributeCollection>();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
         
         textAsset = Bundle.Config.LoadAsset<TextAsset>("flower_config");
 
@@ -602,10 +704,10 @@ public class Data
 
         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()
@@ -616,7 +718,7 @@ public class Data
 
         XmlDocument xmlDoc = new XmlDocument();
 
-        List<XmlAttributeCollection> attributesList = new List<XmlAttributeCollection>();
+        List<XmlAttributeCollection> attributeList = new List<XmlAttributeCollection>();
 
         textAsset = Bundle.Config.LoadAsset<TextAsset>("achieve_config");
 
@@ -626,9 +728,9 @@ public class Data
 
         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
 
-    #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
@@ -144,27 +133,6 @@ public static class Extension
 
     #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
 
     public static string Replace(this string str, int startIndex, int endIndex, string newStr)
@@ -194,6 +162,27 @@ public static class Extension
 
     #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
 
     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)
     {
         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);
     }
 
+    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)
     {
         return ManaAnim.CreateTweenGra(comp.transform, origin, destination, duration, originActive, destActive, curve);
@@ -502,25 +511,6 @@ public static class Extension
     
     #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
 
     public static void SetCollider(this Component comp, bool active)
@@ -568,7 +558,22 @@ public static class Extension
 
     #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)
     {
@@ -585,6 +590,24 @@ public static class Extension
         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
 
     #region AddComponent

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

@@ -37,14 +37,14 @@ public class FlowerCard : MonoBehaviour
         ScrollRect.DragEvent += OnDrag;
         ScrollRect.EndDragEvent += OnEndDrag;
 
-        Move move = ScrollRect.content.CreateMove();
+        Move2D move2D = ScrollRect.content.CreateMove2D();
 
-        move.OnStart += () =>
+        move2D.OnStart += () =>
         {
             SelectLock = true;
         };
 
-        move.OnFinish += () =>
+        move2D.OnFinish += () =>
         {
             SelectLock = false;
         };
@@ -102,7 +102,7 @@ public class FlowerCard : MonoBehaviour
         delta.y = 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>();
         ItemList = new List<Transform>();
@@ -140,7 +140,7 @@ public class FlowerCard : MonoBehaviour
             delta.y = 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.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\ManaReso.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\ManaTutorial.cs" />
     <Compile Include="Assets\Script\Manage\ManaUI.cs" />
     <Compile Include="Assets\Script\Object\AnimationReceiver.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\SkillRoot.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\Move2D.cs" />
+    <Compile Include="Assets\Script\Tool\Anim\Move3D.cs" />
     <Compile Include="Assets\Script\Tool\Anim\Shake.cs" />
     <Compile Include="Assets\Script\Tool\Anim\Tween.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
-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
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,19 +11,16 @@ Global
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	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
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
-	GlobalSection(MonoDevelopProperties) = preSolution
-		StartupItem = Assembly-CSharp.csproj
-	EndGlobalSection
 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中的测试按键