浏览代码

Temp 4.13

LiuQilin 8 年之前
父节点
当前提交
8856f115ef
共有 44 个文件被更改,包括 2457 次插入1273 次删除
  1. 二进制
      .vs/MyLovelyGarden/v14/.suo
  2. 二进制
      Assets/Resource/Prefab/Object/Tutorial.prefab
  3. 二进制
      Assets/Resource/Prefab/PrefabUI/Canvas.prefab
  4. 二进制
      Assets/Resource/Prefab/PrefabUI/FlowerItemG.prefab
  5. 二进制
      Assets/Resource/Prefab/PrefabUI/SkillItem.prefab
  6. 1 1
      Assets/Resource/XML/Config/ability_config.xml
  7. 4 3
      Assets/Resource/XML/PlayerConfig.xml
  8. 二进制
      Assets/Resource/Xlsx/ability_config.xlsx
  9. 1 16
      Assets/Script/Interface/Regist.cs
  10. 4 35
      Assets/Script/Manage/Initializer.cs
  11. 143 76
      Assets/Script/Manage/ManaAnim.cs
  12. 0 16
      Assets/Script/Manage/ManaAudio.cs
  13. 11 96
      Assets/Script/Manage/ManaData.cs
  14. 0 10
      Assets/Script/Manage/ManaGarden.cs
  15. 61 133
      Assets/Script/Manage/ManaMiniGame.cs
  16. 15 8
      Assets/Script/Manage/ManaPlayer.cs
  17. 17 5
      Assets/Script/Manage/ManaReso.cs
  18. 190 455
      Assets/Script/Manage/ManaTutorial.cs
  19. 1290 16
      Assets/Script/Manage/ManaUI.cs
  20. 1 1
      Assets/Script/Object/Drop.cs
  21. 46 20
      Assets/Script/Object/Flower.cs
  22. 78 47
      Assets/Script/Object/Garden.cs
  23. 3 2
      Assets/Script/Object/Skill/Ability.cs
  24. 72 70
      Assets/Script/Object/Skill/BigSkill.cs
  25. 14 8
      Assets/Script/Object/Skill/Skill.cs
  26. 80 42
      Assets/Script/Object/Tutorial.cs
  27. 91 1
      Assets/Script/Tool/Anim/Tween.cs
  28. 11 1
      Assets/Script/Tool/Anim/TweenAudio.cs
  29. 9 11
      Assets/Script/Tool/Anim/TweenCG.cs
  30. 9 7
      Assets/Script/Tool/Anim/TweenGra.cs
  31. 11 14
      Assets/Script/Tool/Anim/TweenNumber.cs
  32. 7 24
      Assets/Script/Tool/Anim/TweenRect.cs
  33. 7 34
      Assets/Script/Tool/Anim/TweenScale.cs
  34. 9 5
      Assets/Script/Tool/Anim/TweenSr.cs
  35. 11 5
      Assets/Script/Tool/Anim/TweenText.cs
  36. 7 28
      Assets/Script/Tool/Anim/TweenVec.cs
  37. 82 0
      Assets/Script/Tool/Anim/Zoom2D.cs
  38. 12 0
      Assets/Script/Tool/Anim/Zoom2D.cs.meta
  39. 70 14
      Assets/Script/Tool/Data.cs
  40. 64 44
      Assets/Script/Tool/Extension.cs
  41. 10 0
      Assets/Script/Tool/SceneMask.cs
  42. 1 0
      MyLovelyGarden.csproj
  43. 13 16
      MyLovelyGarden.sln
  44. 2 9
      ToList.txt

二进制
.vs/MyLovelyGarden/v14/.suo


二进制
Assets/Resource/Prefab/Object/Tutorial.prefab


二进制
Assets/Resource/Prefab/PrefabUI/Canvas.prefab


二进制
Assets/Resource/Prefab/PrefabUI/FlowerItemG.prefab


二进制
Assets/Resource/Prefab/PrefabUI/SkillItem.prefab


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

@@ -2,7 +2,7 @@
   <item id="1" name="花园" class="1" class_id="1" coin_person="1" person="1" skill_cd="" unlock_lv="" unlock_ahead_cur="" unlock_ahead_amt="" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="1" upgrade_amnt="200" upgrade_fml="a*1.07" upgrade_plus="10%" upgrade_person="10%" upgrade_cd="" desc="每人次收入 金币[&amp;coin_person&amp;][lv],每分钟来访[&amp;person&amp;*60][lv]人" icon="红-公园" anim="" label="" />
   <item id="2" name="缤纷彩虹" class="1" class_id="5" coin_person="" person="50%" skill_cd="" unlock_lv="200" unlock_ahead_cur="2" unlock_ahead_amt="200" unlock_cur="" unlock_amnt="100" unlock_pos="" upgrade_cur="2" upgrade_amnt="" upgrade_fml="a" upgrade_plus="" upgrade_person="50%" upgrade_cd="" desc="每分钟增加[&amp;person&amp;*60][lv]人参观,永久有效" icon="红-彩虹" anim="Rainbow,GardenBk2" label="" />
   <item id="3" name="玉树樱花" class="1" class_id="6" coin_person="50%" person="" skill_cd="" unlock_lv="500" unlock_ahead_cur="2" unlock_ahead_amt="300" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="2" upgrade_amnt="300" upgrade_fml="a" upgrade_plus="50%" upgrade_person="" upgrade_cd="" desc="每人次收入提升[&amp;coin_person&amp;][lv],永久有效" icon="红-樱花树" anim="Tree1,GardenBk4" label="" />
-  <item id="4" name="滴哩哩的小黄鹂" class="1" class_id="7" coin_person="" person="" skill_cd="5%" unlock_lv="10" unlock_ahead_cur="2" unlock_ahead_amt="500" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="2" upgrade_amnt="300" upgrade_fml="a" upgrade_plus="" upgrade_person="" upgrade_cd="5%" desc="技能冷却时间减少[&amp;skill_cd&amp;][lv],永久有效" icon="红-黄鹂鸟" anim="Bird,GardenBk4" label="" />
+  <item id="4" name="滴哩哩的小黄鹂" class="1" class_id="7" coin_person="" person="" skill_cd="5%" unlock_lv="200" unlock_ahead_cur="2" unlock_ahead_amt="500" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="2" upgrade_amnt="300" upgrade_fml="a" upgrade_plus="" upgrade_person="" upgrade_cd="5%" desc="技能冷却时间减少[&amp;skill_cd&amp;][lv],永久有效" icon="红-黄鹂鸟" anim="Bird,GardenBk4" label="" />
   <item id="5" name="黄色小蜜蜂" class="2" class_id="1" coin_person="10" person="" skill_cd="" unlock_lv="200" unlock_ahead_cur="" unlock_ahead_amt="" unlock_cur="" unlock_amnt="" unlock_pos="" upgrade_cur="1" upgrade_amnt="1600" upgrade_fml="a*1.07" upgrade_plus="10" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-黄色蜜蜂" anim="BeeYellow" label="" />
   <item id="6" name="紫色小蜜蜂" class="2" class_id="2" coin_person="10" person="" skill_cd="" unlock_lv="200" unlock_ahead_cur="" unlock_ahead_amt="" unlock_cur="" unlock_amnt="" unlock_pos="1" upgrade_cur="1" upgrade_amnt="86400" upgrade_fml="a*1.07" upgrade_plus="10" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-紫色蜜蜂" anim="BeePurple" label="" />
   <item id="7" name="蓝色小蜜蜂" class="2" class_id="3" coin_person="10" person="" skill_cd="" unlock_lv="200" unlock_ahead_cur="" unlock_ahead_amt="" unlock_cur="" unlock_amnt="" unlock_pos="1" upgrade_cur="1" upgrade_amnt="22118000" upgrade_fml="a*1.07" upgrade_plus="10" upgrade_person="" upgrade_cd="" desc="每人次参观获得[&amp;coin_person&amp;][lv]金币" icon="黄-蓝色蜜蜂" anim="BeeBlue" label="" />

+ 4 - 3
Assets/Resource/XML/PlayerConfig.xml

@@ -1,6 +1,8 @@
 <PlayerConfig>
-  <Version value="48" />
-  
+  <Tutorial value="1" />
+  <Version value="56" />
+  <TutorialIndex value="1" />
+
   <Player value="PlayerBlond" />
   <QuitTime value="2/3/2017 09:30:00 AM" />
   
@@ -8,7 +10,6 @@
   <Coin value="0" />
   <Level value="0" />
   <Person value="0" />
-  <Tutorial value="0" />
   <Diamond value="0" />
   <SignIndex value="0" />
   <MiniTimer value="0" />

二进制
Assets/Resource/Xlsx/ability_config.xlsx


+ 1 - 16
Assets/Script/Interface/Regist.cs

@@ -32,21 +32,6 @@ public class Regist : MonoBehaviour
 
     public virtual void TutorialToRegular()
     {
-
-    }
-
-    public virtual void TutorialInstantiate()
-    {
-
-    }
-
-    public virtual void TutorialRegistValue()
-    {
-
-    }
-
-    public virtual void TutorialRegistReference()
-    {
-
+        
     }
 }

+ 4 - 35
Assets/Script/Manage/Initializer.cs

@@ -48,15 +48,15 @@ public class Initializer : MonoBehaviour
         gameObject.AddScript<ManaReso>();
         gameObject.AddScript<ManaAnim>();
         gameObject.AddScript<ManaAudio>();
+        gameObject.AddScript<ManaTutorial>();
 
         gameObject.AddScript<ManaUI>();
         gameObject.AddScript<ManaSign>();
-        gameObject.AddScript<ManaGarden>();
 
         gameObject.AddScript<ManaData>();
         gameObject.AddScript<ManaPlayer>();
         gameObject.AddScript<ManaDebug>();
-        gameObject.AddScript<ManaTutorial>();
+        gameObject.AddScript<ManaGarden>();
         gameObject.AddScript<ManaAchieve>();
         gameObject.AddScript<ManaMiniGame>();
 
@@ -66,40 +66,9 @@ public class Initializer : MonoBehaviour
 
     public static void Initialize()
     {
-        Tutorial = Data.PlayerBool("Tutorial");
-
-        if (Tutorial)
-        {
-            TutorialInitialize();
-        }
-        else
-        {
-            RegularInitialize();
-        }
-    }
+        Tutorial = Data.GetPlayerBool("Tutorial");
+        ManaTutorial.TutorialIndex = Data.GetPlayerInt("TutorialIndex");
 
-    public static void TutorialInitialize()
-    {
-        for (int i = 0; i < RegistList.Count; i++)
-        {
-            RegistList[i].TutorialInstantiate();
-        }
-
-        for (int i = 0; i < RegistList.Count; i++)
-        {
-            RegistList[i].TutorialRegistReference();
-        }
-
-        for (int i = 0; i < RegistList.Count; i++)
-        {
-            RegistList[i].TutorialRegistValue();
-
-            RegistList[i].enabled = true;
-        }
-    }
-
-    public static void RegularInitialize()
-    {
         for (int i = 0; i < RegistList.Count; i++)
         {
             RegistList[i].Instantiate();

+ 143 - 76
Assets/Script/Manage/ManaAnim.cs

@@ -53,6 +53,7 @@ public class ManaAnim : Regist
     public static Dictionary<Transform, Shake> ShakeDic;
     public static Dictionary<Transform, Move2D> MoveDic2D;
     public static Dictionary<Transform, Move3D> MoveDic3D;
+    public static Dictionary<Transform, Zoom2D> ZoomDic2D;
 
     public static Dictionary<Transform, TweenSr> TweenSrDic;
     public static Dictionary<Transform, TweenCG> TweenCgDic;
@@ -142,12 +143,6 @@ public class ManaAnim : Regist
     }
 
 
-    public override void TutorialRegistValue()
-    {
-        RegistValueA();
-    }
-
-
     #region 曲线
 
     public static float LinearTimer(float value, float duration, float start, float delta)
@@ -472,6 +467,44 @@ public class ManaAnim : Regist
         return move;
     }
 
+    public static Zoom2D Zoom2D(Transform target, float origin, float destination, float duration, float stay, Transform targetZoom, Curve curve)
+    {
+        Zoom2D move;
+
+        if (ZoomDic2D.TryGetValue(targetZoom, out move))
+        {
+            move.StartZoom(origin, destination, duration, stay, targetZoom, curve);
+        }
+        else
+        {
+            move = CreateZoom2D(target);
+
+            move.StartZoom(origin, destination, duration, stay, targetZoom, curve);
+        }
+
+        return move;
+    }
+
+    public static Zoom2D Zoom2D(Transform target, float destination, float duration, float stay, Transform targetZoom, Curve curve)
+    {
+        Zoom2D move;
+
+        Camera camera = target.GetComponent<Camera>();
+
+        if (ZoomDic2D.TryGetValue(targetZoom, out move))
+        {
+            move.StartZoom(camera.orthographicSize, destination, duration, stay, targetZoom, curve);
+        }
+        else
+        {
+            move = CreateZoom2D(targetZoom);
+
+            move.StartZoom(camera.orthographicSize, destination, duration, stay, targetZoom, curve);
+        }
+
+        return move;
+    }
+
 
     public static TweenSr TweenForSr(Transform target)
     {
@@ -1098,6 +1131,20 @@ public class ManaAnim : Regist
         }
     }
 
+    public static Zoom2D GetZoom2D(Transform target)
+    {
+        Zoom2D move;
+
+        if (ZoomDic2D.TryGetValue(target, out move))
+        {
+            return move;
+        }
+        else
+        {
+            throw new Exception();
+        }
+    }
+
 
     public static TweenSr GetTweenSr(Transform target)
     {
@@ -1289,8 +1336,28 @@ public class ManaAnim : Regist
         }
     }
 
+    public static Zoom2D CreateZoom2D(Transform target)
+    {
+        if (ZoomDic2D.ContainsKey(target))
+        {
+            Zoom2D zoom2D = ZoomDic2D[target];
+
+            zoom2D = new Zoom2D(target.GetComponent<Camera>());
+
+            return zoom2D;
+        }
+        else
+        {
+            Zoom2D zoom2D = new Zoom2D(target.GetComponent<Camera>());
+
+            ZoomDic2D.Add(target, zoom2D);
+
+            return zoom2D;
+        }
+    }
+
 
-    public static TweenSr CreateTweenSr(Transform target, float originAlpha, float destinationAlpha, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    public static TweenSr CreateTweenSr(Transform target, float originAlpha, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group = false)
     {
         TweenSr tween;
         SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
@@ -1305,13 +1372,13 @@ public class ManaAnim : Regist
         {
              tween = TweenSrDic[target];
 
-            tween = new TweenSr(sr, origin, destination, duration, group, originActive, destActive, curve);
+            tween = new TweenSr(sr, origin, destination, duration, originActive, destActive, curve, cg, group);
 
             return tween;
         }
         else
         {
-             tween = new TweenSr(sr, origin, destination, duration, group, originActive, destActive, curve);
+             tween = new TweenSr(sr, origin, destination, duration, originActive, destActive, curve, cg, group);
 
             TweenSrDic.Add(target, tween);
 
@@ -1319,7 +1386,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenSr CreateTweenSr(Transform target, float destinationAlpha, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    public static TweenSr CreateTweenSr(Transform target, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group = false)
     {
         TweenSr tween;
         SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
@@ -1332,13 +1399,13 @@ public class ManaAnim : Regist
         {
              tween = TweenSrDic[target];
 
-            tween = new TweenSr(sr, sr.color, destination, duration, group, originActive, destActive, curve);
+            tween = new TweenSr(sr, sr.color, destination, duration, originActive, destActive, curve, cg, group);
 
             return tween;
         }
         else
         {
-             tween = new TweenSr(sr, sr.color, destination, duration, group, originActive, destActive, curve);
+             tween = new TweenSr(sr, sr.color, destination, duration, originActive, destActive, curve, cg, group);
 
             TweenSrDic.Add(target, tween);
 
@@ -1346,7 +1413,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenSr CreateTweenSr(Transform target, Color origin, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    public static TweenSr CreateTweenSr(Transform target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group=false)
     {
         if (TweenSrDic.ContainsKey(target))
         {
@@ -1354,7 +1421,7 @@ public class ManaAnim : Regist
 
             TweenSr tween = TweenSrDic[target];
 
-            tween = new TweenSr(sr, origin, destination, duration, group, originActive, destActive, curve);
+            tween = new TweenSr(sr, origin, destination, duration, originActive, destActive, curve, cg, group);
 
             return tween;
         }
@@ -1362,7 +1429,7 @@ public class ManaAnim : Regist
         {
             SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
 
-            TweenSr tween = new TweenSr(sr, origin, destination, duration, group, originActive, destActive, curve);
+            TweenSr tween = new TweenSr(sr, origin, destination, duration, originActive, destActive, curve, cg, group);
 
             TweenSrDic.Add(target, tween);
 
@@ -1370,7 +1437,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenSr CreateTweenSr(Transform target, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    public static TweenSr CreateTweenSr(Transform target, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group=false)
     {
         if (TweenSrDic.ContainsKey(target))
         {
@@ -1378,7 +1445,7 @@ public class ManaAnim : Regist
 
             TweenSr tween = TweenSrDic[target];
 
-            tween = new TweenSr(sr, sr.color, destination, duration, group, originActive, destActive, curve);
+            tween = new TweenSr(sr, sr.color, destination, duration, originActive, destActive, curve, cg, group);
 
             return tween;
         }
@@ -1386,7 +1453,7 @@ public class ManaAnim : Regist
         {
             SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
 
-            TweenSr tween = new TweenSr(sr, sr.color, destination, duration, group, originActive, destActive, curve);
+            TweenSr tween = new TweenSr(sr, sr.color, destination, duration, originActive, destActive, curve, cg, group);
 
             TweenSrDic.Add(target, tween);
 
@@ -1442,7 +1509,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenGra CreateTweenGra(Transform target, float originAlpha, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenGra CreateTweenGra(Transform target, float originAlpha, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         Graphic graphic = target.GetComponent<Graphic>();
         TweenGra tween;
@@ -1457,13 +1524,13 @@ public class ManaAnim : Regist
         {
             tween = TweenGraDic[target];
 
-            tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
+            tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
         else
         {
-            tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
+            tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve, cg);
 
             TweenGraDic.Add(target, tween);
 
@@ -1471,7 +1538,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenGra CreateTweenGra(Transform target, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenGra CreateTweenGra(Transform target, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         Graphic graphic = target.GetComponent<Graphic>();
         TweenGra tween;
@@ -1484,13 +1551,13 @@ public class ManaAnim : Regist
         {
              tween = TweenGraDic[target];
 
-            tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
+            tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
         else
         {
-             tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
+             tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve, cg);
 
             TweenGraDic.Add(target, tween);
 
@@ -1498,7 +1565,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenGra CreateTweenGra(Transform target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenGra CreateTweenGra(Transform target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenGraDic.ContainsKey(target))
         {
@@ -1506,7 +1573,7 @@ public class ManaAnim : Regist
 
             TweenGra tween = TweenGraDic[target];
 
-            tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
+            tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
@@ -1514,7 +1581,7 @@ public class ManaAnim : Regist
         {
             Graphic graphic = target.GetComponent<Graphic>();
 
-            TweenGra tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
+            TweenGra tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve, cg);
 
             TweenGraDic.Add(target, tween);
 
@@ -1522,7 +1589,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenGra CreateTweenGra(Transform target, Color destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenGra CreateTweenGra(Transform target, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenGraDic.ContainsKey(target))
         {
@@ -1530,7 +1597,7 @@ public class ManaAnim : Regist
 
             TweenGra tween = TweenGraDic[target];
 
-            tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
+            tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
@@ -1538,7 +1605,7 @@ public class ManaAnim : Regist
         {
             Graphic graphic = target.GetComponent<Graphic>();
 
-            TweenGra tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
+            TweenGra tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve, cg);
 
             TweenGraDic.Add(target, tween);
 
@@ -1546,7 +1613,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenVec CreateTweenVec2D(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
+    public static TweenVec CreateTweenVec2D(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         origin.z = target.position.z;
         destination.z = target.position.z;
@@ -1555,13 +1622,13 @@ public class ManaAnim : Regist
         {
             TweenVec tween = TweenVecDic[target];
 
-            tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve);
+            tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
 
             return tween;
         }
         else
         {
-            TweenVec tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve);
+            TweenVec tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
 
             TweenVecDic.Add(target, tween);
 
@@ -1569,7 +1636,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenVec CreateTweenVec2D(Transform target, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
+    public static TweenVec CreateTweenVec2D(Transform target, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         destination.z = target.position.z;
 
@@ -1579,11 +1646,11 @@ public class ManaAnim : Regist
 
             if (local)
             {
-                tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve);
+                tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve, cg);
             }
             else
             {
-                tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve);
+                tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve, cg);
             }
 
             return tween;
@@ -1594,11 +1661,11 @@ public class ManaAnim : Regist
 
             if (local)
             {
-                tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve);
+                tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve, cg);
             }
             else
             {
-                tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve);
+                tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve, cg);
             }
 
             TweenVecDic.Add(target, tween);
@@ -1607,19 +1674,19 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenVec CreateTweenVec3D(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
+    public static TweenVec CreateTweenVec3D(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenVecDic.ContainsKey(target))
         {
             TweenVec tween = TweenVecDic[target];
 
-            tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve);
+            tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
 
             return tween;
         }
         else
         {
-            TweenVec tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve);
+            TweenVec tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
 
             TweenVecDic.Add(target, tween);
 
@@ -1627,7 +1694,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenVec CreateTweenVec3D(Transform target, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
+    public static TweenVec CreateTweenVec3D(Transform target, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenVecDic.ContainsKey(target))
         {
@@ -1635,11 +1702,11 @@ public class ManaAnim : Regist
 
             if (local)
             {
-                tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve);
+                tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve, cg);
             }
             else
             {
-                tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve);
+                tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve, cg);
             }
 
             return tween;
@@ -1650,11 +1717,11 @@ public class ManaAnim : Regist
 
             if (local)
             {
-                tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve);
+                tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve, cg);
             }
             else
             {
-                tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve);
+                tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve, cg);
             }
 
             TweenVecDic.Add(target, tween);
@@ -1663,7 +1730,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenText CreateTweenText(Transform target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenText CreateTweenText(Transform target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenRectDic.ContainsKey(target))
         {
@@ -1671,7 +1738,7 @@ public class ManaAnim : Regist
 
             TweenText tween = TweenTextDic[target];
 
-            tween = new TweenText(text, origin, destination, duration, originActive, destActive, curve);
+            tween = new TweenText(text, origin, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
@@ -1679,7 +1746,7 @@ public class ManaAnim : Regist
         {
             Text text = target.GetComponent<Text>();
 
-            TweenText tween = new TweenText(text, origin, destination, duration, originActive, destActive, curve);
+            TweenText tween = new TweenText(text, origin, destination, duration, originActive, destActive, curve, cg);
 
             TweenTextDic.Add(target, tween);
 
@@ -1687,7 +1754,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenText CreateTweenText(Transform target, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenText CreateTweenText(Transform target, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenRectDic.ContainsKey(target))
         {
@@ -1695,7 +1762,7 @@ public class ManaAnim : Regist
 
             TweenText tween = TweenTextDic[target];
 
-            tween = new TweenText(text, text.fontSize, destination, duration, originActive, destActive, curve);
+            tween = new TweenText(text, text.fontSize, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
@@ -1703,7 +1770,7 @@ public class ManaAnim : Regist
         {
             Text text = target.GetComponent<Text>();
 
-            TweenText tween = new TweenText(text, text.fontSize, destination, duration, originActive, destActive, curve);
+            TweenText tween = new TweenText(text, text.fontSize, destination, duration, originActive, destActive, curve, cg);
 
             TweenTextDic.Add(target, tween);
 
@@ -1711,7 +1778,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenRect CreateTweenRect(Transform target, Vector2 origin, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenRect CreateTweenRect(Transform target, Vector2 origin, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenRectDic.ContainsKey(target))
         {
@@ -1719,7 +1786,7 @@ public class ManaAnim : Regist
 
             TweenRect tween = TweenRectDic[target];
 
-            tween = new TweenRect(rectTra, origin, destination, duration, originActive, destActive, curve);
+            tween = new TweenRect(rectTra, origin, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
@@ -1727,7 +1794,7 @@ public class ManaAnim : Regist
         {
             RectTransform rectTra = target.GetComponent<RectTransform>();
 
-            TweenRect tween = new TweenRect(rectTra, origin, destination, duration, originActive, destActive, curve);
+            TweenRect tween = new TweenRect(rectTra, origin, destination, duration, originActive, destActive, curve, cg);
 
             TweenRectDic.Add(target, tween);
 
@@ -1735,7 +1802,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenRect CreateTweenRect(Transform target, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenRect CreateTweenRect(Transform target, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenRectDic.ContainsKey(target))
         {
@@ -1743,7 +1810,7 @@ public class ManaAnim : Regist
 
             TweenRect tween = TweenRectDic[target];
 
-            tween = new TweenRect(rectTra, rectTra.rect.size, destination, duration, originActive, destActive, curve);
+            tween = new TweenRect(rectTra, rectTra.rect.size, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
@@ -1751,7 +1818,7 @@ public class ManaAnim : Regist
         {
             RectTransform rectTra = target.GetComponent<RectTransform>();
 
-            TweenRect tween = new TweenRect(rectTra, rectTra.rect.size, destination, duration, originActive, destActive, curve);
+            TweenRect tween = new TweenRect(rectTra, rectTra.rect.size, destination, duration, originActive, destActive, curve, cg);
 
             TweenRectDic.Add(target, tween);
 
@@ -1759,19 +1826,19 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenScale CreateTweenScale(Transform target, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenScale CreateTweenScale(Transform target, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenScaleDic.ContainsKey(target))
         {
             TweenScale tween = TweenScaleDic[target];
 
-            tween = new TweenScale(target, origin, destination, duration, originActive, destActive, curve);
+            tween = new TweenScale(target, origin, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
         else
         {
-            TweenScale tween = new TweenScale(target, origin, destination, duration, originActive, destActive, curve);
+            TweenScale tween = new TweenScale(target, origin, destination, duration, originActive, destActive, curve, cg);
 
             TweenScaleDic.Add(target, tween);
 
@@ -1779,19 +1846,19 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenScale CreateTweenScale(Transform target, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenScale CreateTweenScale(Transform target, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenScaleDic.ContainsKey(target))
         {
             TweenScale tween = TweenScaleDic[target];
 
-            tween = new TweenScale(target, target.lossyScale, destination, duration, originActive, destActive, curve);
+            tween = new TweenScale(target, target.lossyScale, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
         else
         {
-            TweenScale tween = new TweenScale(target, target.lossyScale, destination, duration, originActive, destActive, curve);
+            TweenScale tween = new TweenScale(target, target.lossyScale, destination, duration, originActive, destActive, curve, cg);
 
             TweenScaleDic.Add(target, tween);
 
@@ -1799,19 +1866,19 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenAudio CreateTweenAudio(Transform target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenAudio CreateTweenAudio(Transform target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenAudioDic.ContainsKey(target))
         {
             TweenAudio tween = TweenAudioDic[target];
 
-            tween = new TweenAudio(target.GetComponent<AudioSource>(), origin, destination, duration, originActive, destActive, curve);
+            tween = new TweenAudio(target.GetComponent<AudioSource>(), origin, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
         else
         {
-            TweenAudio tween = new TweenAudio(target.GetComponent<AudioSource>(), origin, destination, duration, originActive, destActive, curve);
+            TweenAudio tween = new TweenAudio(target.GetComponent<AudioSource>(), origin, destination, duration, originActive, destActive, curve, cg);
 
             TweenAudioDic.Add(target, tween);
 
@@ -1819,7 +1886,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenAudio CreateTweenAudio(Transform target, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenAudio CreateTweenAudio(Transform target, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenAudioDic.ContainsKey(target))
         {
@@ -1827,7 +1894,7 @@ public class ManaAnim : Regist
 
             TweenAudio tween = TweenAudioDic[target];
 
-            tween = new TweenAudio(audio , audio.volume, destination, duration, originActive, destActive, curve);
+            tween = new TweenAudio(audio , audio.volume, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
@@ -1835,7 +1902,7 @@ public class ManaAnim : Regist
         {
             AudioSource audio = target.GetComponent<AudioSource>();
 
-            TweenAudio tween = new TweenAudio(audio, audio.volume, destination, duration, originActive, destActive, curve);
+            TweenAudio tween = new TweenAudio(audio, audio.volume, destination, duration, originActive, destActive, curve, cg);
 
             TweenAudioDic.Add(target, tween);
 
@@ -1843,19 +1910,19 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenNumber CreateTweenNumber(Transform target, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenNumber CreateTweenNumber(Transform target, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenNumberDic.ContainsKey(target))
         {
             TweenNumber tween = TweenNumberDic[target];
 
-            tween = new TweenNumber(target.GetComponent<Text>(), origin, destination, duration, originActive, destActive, curve);
+            tween = new TweenNumber(target.GetComponent<Text>(), origin, destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
         else
         {
-            TweenNumber tween = new TweenNumber(target.GetComponent<Text>(), origin, destination, duration, originActive, destActive, curve);
+            TweenNumber tween = new TweenNumber(target.GetComponent<Text>(), origin, destination, duration, originActive, destActive, curve, cg);
 
             TweenNumberDic.Add(target, tween);
 
@@ -1863,7 +1930,7 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenNumber CreateTweenNumber(Transform target, int destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenNumber CreateTweenNumber(Transform target, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         if (TweenNumberDic.ContainsKey(target))
         {
@@ -1871,7 +1938,7 @@ public class ManaAnim : Regist
 
             TweenNumber tween = TweenNumberDic[target];
 
-            tween = new TweenNumber(text, int.Parse(text.text), destination, duration, originActive, destActive, curve);
+            tween = new TweenNumber(text, int.Parse(text.text), destination, duration, originActive, destActive, curve, cg);
 
             return tween;
         }
@@ -1879,7 +1946,7 @@ public class ManaAnim : Regist
         {
             Text text = target.GetComponent<Text>();
 
-            TweenNumber tween = new TweenNumber(text, int.Parse(text.text), destination, duration, originActive, destActive, curve);
+            TweenNumber tween = new TweenNumber(text, int.Parse(text.text), destination, duration, originActive, destActive, curve, cg);
 
             TweenNumberDic.Add(target, tween);
 

+ 0 - 16
Assets/Script/Manage/ManaAudio.cs

@@ -80,22 +80,6 @@ public class ManaAudio : Regist
     }
 
 
-    public override void TutorialInstantiate()
-    {
-        Instantiate();
-    }
-
-    public override void TutorialRegistValue()
-    {
-        RegistValueA();
-    }
-
-    public override void TutorialRegistReference()
-    {
-        RegistReference();
-    }
-
-
     public void MusicSwitch()
     {
         if (Music)

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

@@ -475,11 +475,6 @@ public class ManaData : Regist
         #endregion
     }
 
-    public override void TutorialInstantiate()
-    {
-        Instantiate();
-    }
-
 
     public override void RegistValueA()
     {
@@ -494,13 +489,8 @@ public class ManaData : Regist
 
         #region 读数据存档
 
-        SignIndex = Data.PlayerInt("SignIndex");
-        CircleTimer = Data.PlayerFloat("CircleTimer");
-
-        for (int i = 0; i < Data.PlayerInt("Slot"); i++)
-        {
-            ManaGarden.UnlockSlot();
-        }
+        SignIndex = Data.GetPlayerInt("SignIndex");
+        CircleTimer = Data.GetPlayerFloat("CircleTimer");
 
         List<double> dataList = Data.GetAchieveData();
 
@@ -580,10 +570,15 @@ public class ManaData : Regist
 
         #region 读数据存档
 
-        Coin = Data.PlayerDouble("Coin");
-        Level = Data.PlayerInt("Level");
-        Diamond = Data.PlayerDouble("Diamond");
-        MiniTimer = Data.PlayerFloat("MiniTimer");
+        for (int i = 0; i < Data.GetPlayerInt("Slot"); i++)
+        {
+            ManaGarden.UnlockSlot();
+        }
+
+        Coin = Data.GetPlayerDouble("Coin");
+        Level = Data.GetPlayerInt("Level");
+        Diamond = Data.GetPlayerDouble("Diamond");
+        MiniTimer = Data.GetPlayerFloat("MiniTimer");
 
         ManaDebug.Log(string.Format("<color=red>{0:0}</color>秒后激活小游戏", MiniTimer));
 
@@ -649,86 +644,6 @@ public class ManaData : Regist
         #endregion
     }
 
-    public override void TutorialRegistValue()
-    {
-        for (int i = 0; i < Data.PlayerInt("Slot"); i++)
-        {
-            ManaGarden.UnlockSlot();
-        }
-
-        #region 读花朵存档
-
-        List<int> flowerList = Data.GetFlowerList();
-
-        for (int i = 0; i < flowerList.Count; i++)
-        {
-            ManaGarden.FlowerInfoList[flowerList[i]-1].Unlock = true;
-        }
-
-
-        List<KV<int, string>> plantList = Data.GetPlantList();
-
-        for (int i = 0; i < plantList.Count; i++)
-        {
-            ManaGarden.PlantFlower(plantList[i].Key-1, plantList[i].Value);
-        }
-
-        #endregion
-
-        #region 读技能存档
-
-        float elapse = (float)DateTime.Now.Subtract(DateTime.Parse(Data.PlayerNode.SelectSingleNode("QuitTime").Attributes[0].Value)).TotalSeconds;
-
-        if (elapse > 43200)
-        {
-            elapse = 43200;
-        }
-
-        ManaDebug.Log(string.Format("离线时间<color=red>{0}</color>", elapse));
-
-        List<List<SkillRoot>> ffUseList = new List<List<SkillRoot>>();
-
-        if (elapse > CircleTimer)
-        {
-            int ffCircle = 1 + Mathf.FloorToInt((elapse - CircleTimer) / CircleTime);
-
-            ManaDebug.Log(string.Format("离线周期<color=red>{0}</color>", ffCircle));
-
-            for (int i = 0; i < ffCircle; i++)
-            {
-                ffUseList.Add(new List<SkillRoot>());
-            }
-        }
-        else
-        {
-            ManaDebug.Log(string.Format("离线周期<color=red>{0}</color>", 0));
-        }
-
-        List<XmlAttributeCollection> attributeList = Data.GetSkillList();
-
-        for (int i = 0; i < attributeList.Count; i++)
-        {
-            SkillRoot skillRoot = SkillDic[attributeList[i][0].Value];
-
-            skillRoot.RegistReference();
-
-            skillRoot.RegistValue(elapse, ffUseList, attributeList[i]);
-        }
-
-        #endregion
-
-        #region 读数据存档
-
-        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));
-
-        #endregion
-    }
-
 
     public static bool Pay(double amt, Current current)
     {

+ 0 - 10
Assets/Script/Manage/ManaGarden.cs

@@ -237,11 +237,6 @@ public class ManaGarden : Regist
         #endregion
     }
 
-    public override void TutorialInstantiate()
-    {
-        Instantiate();
-    }
-
 
     public override void RegistValueA()
     {
@@ -273,11 +268,6 @@ public class ManaGarden : Regist
         };
     }
 
-    public override void TutorialRegistValue()
-    {
-        RegistValueA();
-    }
-
 
     public static void UnlockSlot()
     {

+ 61 - 133
Assets/Script/Manage/ManaMiniGame.cs

@@ -184,9 +184,14 @@ public class Award
         ManaReso.SetText("Da_ScoreLab", "");
         ManaReso.SetText("Da_DiamondLab", "");
 
-        ManaReso.Get("Da_CoinLab").CreateTweenNumber(0, coin, 1.5f, true, true, Curve.EaseOutQuad);
+        float timeCoin = Mathf.Lerp(0, 1.5f, Mathf.Clamp01(coin / 15f));
+        float timeDiamond = Mathf.Lerp(0, 1.5f, Mathf.Clamp01(diamond / 15f));
+
+        float time = Mathf.Max(timeCoin, timeDiamond);
+
+        ManaReso.Get("Da_CoinLab").CreateTweenNumber(0, coin, time, true, true, Curve.EaseOutQuad);
         ManaReso.Get("Da_ScoreLab").CreateTweenNumber(0, score, 1.5f, true, true, Curve.EaseOutQuad);
-        ManaReso.Get("Da_DiamondLab").CreateTweenNumber(0, diamond, 1.5f, true, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_DiamondLab").CreateTweenNumber(0, diamond, time, true, true, Curve.EaseOutQuad);
 
         tween = ManaReso.Get("Da_ScoreTit").GetTweenText();
         tween.InOrigin = true;
@@ -327,10 +332,13 @@ public class Award
 
         tween = ManaReso.Get("Da_GetAward").GetTweenCG();
 
-        tween.OnForwardFinish += () =>
-        {
-            Tutorial.HightScreen(ManaReso.Get("Da_GetAwardArrow0"), ManaReso.Get("Da_GetAwardArrow1"), ManaReso.Get("Da_GetAward"));
-        };
+        tween.AddEventOnetime
+        (
+            EventType.ForwardFinish, () =>
+            {
+                Tutorial.HightScreen(ManaReso.Get("Da_GetAwardArrow0"), ManaReso.Get("Da_GetAwardArrow1"), ManaReso.Get("Da_GetAward"));
+            }
+        );
     }
 
     private void RegularAward(int score)
@@ -478,9 +486,14 @@ public class Award
         ManaReso.SetText("Da_ScoreLab", "");
         ManaReso.SetText("Da_DiamondLab", "");
 
-        ManaReso.Get("Da_CoinLab").CreateTweenNumber(0, coin, 1.5f, true, true, Curve.EaseOutQuad);
+        float timeCoin = Mathf.Lerp(0, 1.5f, Mathf.Clamp01(coin / 15f));
+        float timeDiamond = Mathf.Lerp(0, 1.5f, Mathf.Clamp01(diamond / 15f));
+
+        float time = Mathf.Max(timeCoin, timeDiamond);
+
+        ManaReso.Get("Da_CoinLab").CreateTweenNumber(0, coin, time, true, true, Curve.EaseOutQuad);
         ManaReso.Get("Da_ScoreLab").CreateTweenNumber(0, score, 1.5f, true, true, Curve.EaseOutQuad);
-        ManaReso.Get("Da_DiamondLab").CreateTweenNumber(0, diamond, 1.5f, true, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_DiamondLab").CreateTweenNumber(0, diamond, time, true, true, Curve.EaseOutQuad);
 
         tween = ManaReso.Get("Da_ScoreTit").GetTweenText();
         tween.InOrigin = true;
@@ -863,65 +876,22 @@ public class ManaMiniGame : Regist
                     TutorialValid = false;
 
                     flower = IdleList[4];
-                    flower.CreateOp(OpList.Count);
+                    flower.CreateOp(OpList.Count, OpType.Water);
 
                     OpList.Add(flower);
                     IdleList.Remove(flower);
 
-                    if (OpList[0].OpType == OpType.Rip)
-                    {
-                        Tutorial.HightScreen(ManaReso.Get("D_RipArrow0"), ManaReso.Get("D_RipArrow1"), ManaReso.Get("D_Rip1"));
-
-                        ManaReso.AddButtonEvent
-                        (
-                            "D_Rip2",
-                            () =>
-                            {
-                                Pause = false;
-                                Tutorial.HightDisable();
-
-                                ManaReso.Get<GraphicRaycaster>("D_Rip1").enabled = true;
-                                ManaReso.Get<GraphicRaycaster>("D_Water1").enabled = true;
-                                ManaReso.Get<GraphicRaycaster>("D_Fertilize1").enabled = true;
-                            }
-                        );
-                    }
-                    else if (OpList[0].OpType == OpType.Water)
-                    {
-                        Tutorial.HightScreen(ManaReso.Get("D_WaterArrow0"), ManaReso.Get("D_WaterArrow1"), ManaReso.Get("D_Water1"));
-
-                        ManaReso.AddButtonEvent
-                        (
-                            "D_Water2",
-                            () =>
-                            {
-                                Pause = false;
-                                Tutorial.HightDisable();
-
-                                ManaReso.Get<GraphicRaycaster>("D_Rip1").enabled = true;
-                                ManaReso.Get<GraphicRaycaster>("D_Water1").enabled = true;
-                                ManaReso.Get<GraphicRaycaster>("D_Fertilize1").enabled = true;
-                            }
-                        );
-                    }
-                    else if (OpList[0].OpType == OpType.Fertilize)
-                    {
-                        Tutorial.HightScreen(ManaReso.Get("D_FertilizeArrow0"), ManaReso.Get("D_Fertilize2"), ManaReso.Get("D_Fertilize1"));
-
-                        ManaReso.AddButtonEvent
-                        (
-                            "D_Fertilize2",
-                            () =>
-                            {
-                                Pause = false;
-                                Tutorial.HightDisable();
-
-                                ManaReso.Get<GraphicRaycaster>("D_Rip1").enabled = true;
-                                ManaReso.Get<GraphicRaycaster>("D_Water1").enabled = true;
-                                ManaReso.Get<GraphicRaycaster>("D_Fertilize1").enabled = true;
-                            }
-                        );
-                    }
+                    Tutorial.HightScreen(ManaReso.Get("D_WaterArrow0"), ManaReso.Get("D_WaterArrow1"), ManaReso.Get("D_Water1"));
+
+                    ManaReso.AddButtonEvent
+                    (
+                        "D_Water2",
+                        () =>
+                        {
+                            Pause = false;
+                            Tutorial.HightDisable();
+                        }
+                    );
 
                     SceneMask.SetArea(OpList[0].OperateIcon.transform, 0.1f, 0.125f);
                 }
@@ -1031,7 +1001,7 @@ public class ManaMiniGame : Regist
 
         OpTimer = OpTime;
         GameTimer = GameTime;
-        MiniGameIndex = Data.PlayerInt("MiniGameIndex");
+        MiniGameIndex = Data.GetPlayerInt("MiniGameIndex");
 
         Award = new Award(Data.GetAwardConfig());
 
@@ -1047,11 +1017,6 @@ public class ManaMiniGame : Regist
         };
     }
 
-    public override void TutorialRegistValue()
-    {
-        RegistValueA();
-    }
-
 
     public override void RegistReference()
     {
@@ -1062,11 +1027,6 @@ public class ManaMiniGame : Regist
         PrepareLab = ManaReso.Get<Text>("D_PrepareLab");
     }
 
-    public override void TutorialRegistReference()
-    {
-        RegistReference();
-    }
-
     #region MiniGame
 
     public static void Rip()
@@ -1262,32 +1222,6 @@ public class ManaMiniGame : Regist
 
     public static void GamePrepare()
     {
-        if (Initializer.Tutorial)
-        {
-            TutorialPrepare();
-        }
-        else
-        {
-            RegularPrepare();
-        }
-    }
-
-    public static void ResetOperate()
-    {
-        if (OpList.Count >= 2)
-        {
-            OpList[0].SetFirstOp();
-            OpList[1].SetSecondOp();
-        }
-        else if (OpList.Count >= 1)
-        {
-            OpList[0].SetFirstOp();
-        }
-    }
-
-
-    private static void TutorialPrepare()
-    {
         GoldList = new List<DropGold>();
         DiamondList = new List<DropDiamond>();
 
@@ -1303,45 +1237,39 @@ public class ManaMiniGame : Regist
 
         OpList = new List<Flower>();
         IdleList = new List<Flower>();
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini1")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini2")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini3")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini4")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini5")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini6")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini7")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini8")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini9")));
-    }
 
-    private static void RegularPrepare()
-    {
+        int count = 1;
 
-        GoldList = new List<DropGold>();
-        DiamondList = new List<DropDiamond>();
+        while (true)
+        {
+            FlowerInfo flowerInfo = ManaGarden.FlowerInfoList.Random();
 
-        ManaReso.SetText("Da_CoinLab", "");
-        ManaReso.SetText("Da_FlowerLab", "");
-        ManaReso.SetText("Da_DiamondLab", "");
+            if (flowerInfo.Unlock)
+            {
+                IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini" + count)));
 
-        ManaReso.SetActive("Da_Coin", true);
-        ManaReso.SetActive("Da_Flower", true);
-        ManaReso.SetActive("Da_Diamond", true);
+                count++;
 
-        ManaGarden.AwardLock = true;
+                if (count == 10)
+                {
+                    break;
+                }
+            }
+        }
+    }
 
-        OpList = new List<Flower>();
-        IdleList = new List<Flower>();
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini1")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[1], ManaReso.Get("SlotMini2")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[2], ManaReso.Get("SlotMini3")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[3], ManaReso.Get("SlotMini4")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[4], ManaReso.Get("SlotMini5")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[5], ManaReso.Get("SlotMini6")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[6], ManaReso.Get("SlotMini7")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[7], ManaReso.Get("SlotMini8")));
-        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[8], ManaReso.Get("SlotMini9")));
-    } 
+    public static void ResetOperate()
+    {
+        if (OpList.Count >= 2)
+        {
+            OpList[0].SetFirstOp();
+            OpList[1].SetSecondOp();
+        }
+        else if (OpList.Count >= 1)
+        {
+            OpList[0].SetFirstOp();
+        }
+    }
 
     #endregion
 }

+ 15 - 8
Assets/Script/Manage/ManaPlayer.cs

@@ -17,13 +17,20 @@ public class ManaPlayer : Regist
 
     public override void Instantiate()
     {
-        string player = Data.PlayerNode.SelectSingleNode("Player").Attributes[0].Value;
-
-        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);
+        if (ManaTutorial.TutorialIndex == 1)
+        {
+            
+        }
+        else
+        {
+            string player = Data.PlayerNode.SelectSingleNode("Player").Attributes[0].Value;
+
+            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);
+        }
     }
 }

+ 17 - 5
Assets/Script/Manage/ManaReso.cs

@@ -71,11 +71,6 @@ public class ManaReso : Regist
         TraDic.Add(objPool.name, objPool);
     }
 
-    public override void TutorialInstantiate()
-    {
-        Instantiate();
-    }
-
 
     public static T Load<T>(string goName, Folder folder, ObjType objType = ObjType.Null) where T : Object
     {
@@ -693,5 +688,22 @@ public class ManaReso : Regist
         button.onClick.AddListener(onClick);
     }
 
+    public static void PushButtonEventOnetime(string goName, UnityAction onClick)
+    {
+        Button button = Get<Button>(goName);
+
+        onClick += () =>
+        {
+            button.onClick.RemoveListener(onClick);
+        };
+
+        Button.ButtonClickedEvent click = button.onClick;
+
+        button.onClick = new Button.ButtonClickedEvent();
+
+        button.onClick.AddListener(onClick);
+        button.onClick.AddListener(click.Invoke);
+    }
+
     #endregion
 }

+ 190 - 455
Assets/Script/Manage/ManaTutorial.cs

@@ -1,42 +1,39 @@
 using UnityEngine;
+using UnityEngine.UI;
 
 using System.Collections;
 using System.Collections.Generic;
-using UnityEngine.UI;
 
 public class ManaTutorial : Regist
 {
     #region 变量
 
-
+    public static int TutorialIndex;
 
     #endregion
 
-    public override void TutorialInstantiate()
+    public override void Instantiate()
     {
-        ManaReso.Get("Tutorial", Folder.Object, true, transform, false).AddScript<Tutorial>();
+        if (Initializer.Tutorial)
+        {
+            ManaReso.Get("Tutorial", Folder.Object, true, transform, false).AddScript<Tutorial>();
+        }
     }
 
 
-    public override void RegistValueA()
+    public override void RegistValueC()
     {
-        ManaReso.SetActive("N_Tutorial", false);
-
-        Canvas[] canvases = ManaReso.Get("Canvas").GetComponentsInChildren<Canvas>(true);
-        GraphicRaycaster[] raycasters = ManaReso.Get("Canvas").GetComponentsInChildren<GraphicRaycaster>(true);
-
-        for (int i = 1; i < raycasters.Length; i++)
+        if (Initializer.Tutorial)
         {
-            Destroy(raycasters[i]);
+            TutorialRegistC();
         }
-
-        for (int i = 1; i < canvases.Length; i++)
+        else
         {
-            Destroy(canvases[i]);
+            RegularRegistC();
         }
     }
 
-    public override void TutorialRegistValue()
+    private void TutorialRegistC()
     {
         ManaReso.SetActive("B_SignIn", false);
         ManaReso.SetActive("N_Tutorial", true);
@@ -46,7 +43,40 @@ public class ManaTutorial : Regist
         ManaReso.Get("N_Tutorial").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
         ManaReso.Get("N_Confirm").CreateTweenGra(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
 
-        PrepareStep1();
+        if (TutorialIndex == 1)
+        {
+            PrepareStep1();
+        }
+        else if (TutorialIndex == 2)
+        {
+            Garden.Instance.TutorialToRegular();
+
+            PrepareStep2();
+        }
+        else if (TutorialIndex == 4)
+        {
+            Garden.Instance.TutorialToRegular();
+            ManaUI.Instance.TutorialToRegular();
+
+            ManaReso.Get("Tutorial").SetCollider(true);
+
+            ManaReso.SetActive("TutorialMask", true);
+            ManaReso.SetActive("TutorialCollider", true);
+
+            Tutorial.HightScene(0.1f, 0.075f, ManaReso.Get("SlotArrowA1"), ManaReso.Get("SlotA1"));
+        }
+        else if (TutorialIndex == 6)
+        {
+            Garden.Instance.TutorialToRegular();
+            ManaUI.Instance.TutorialToRegular();
+
+            PrepareStep6();
+        }
+    }
+
+    private void RegularRegistC()
+    {
+        ManaReso.SetActive("N_Tutorial", false);
     }
 
 
@@ -56,63 +86,95 @@ public class ManaTutorial : Regist
         ManaReso.SetActive("PlayerBk2", false);
         ManaReso.SetActive("PlayerBk3", false);
 
-        Tutorial.Player.GetTweenVec().OnForwardFinish = null;
-
         Tutorial.HightDisable();
+
+        Garden.Instance.TutorialToRegular();
+
+        Data.SavePlayerInt("TutorialIndex", TutorialIndex+1);
+        Data.SavePlayerString("Player", Tutorial.SelectPlayer);
+
+        PrepareStep2();
     }
 
     public static void EndStep2()
     {
         ManaReso.Get("C_Main").TweenBacCG();
-        ManaReso.Get("N_Arrow").TweenBacCG();
 
-        ManaReso.Get("N_Mask").GetTweenGra().OnForwardFinish = null;
-        ManaReso.Get<Button>("C_MiniGame").onClick = null;
+        ManaReso.SetActive("C_Coin", true);
+        ManaReso.SetActive("C_Setting", true);
+        ManaReso.SetActive("C_Achieve", true);
+        ManaReso.SetActive("C_Manage", true);
 
         Tutorial.HightDisable();
+
+        PrepareStep3();
     }
 
     public static void EndStep3()
     {
+        ManaReso.SetActive("D_Quit", true);
+
         Tutorial.HightDisable();
+
+        Data.SavePlayerInt("TutorialIndex", TutorialIndex + 1);
+
+        PrepareStep4();
     }
 
     public static void EndStep4()
     {
         Tutorial.HightDisable();
+
+        PrepareStep5();
     }
 
     public static void EndStep5()
     {
-        
+        Data.SavePlayerInt("TutorialIndex", TutorialIndex + 1);
+
+        PrepareStep6();
     }
 
     public static void EndStep6()
     {
         Tutorial.HightDisable();
+
+        PrepareStep7();
     }
 
     public static void EndStep7()
     {
         Tutorial.HightDisable(0, true);
-        ManaReso.Get("Fe_Info").TweenBacCG();
+
+        PrepareStep8();
     }
 
     public static void EndStep8()
     {
-        ManaReso.Get("Fe_Info").TweenBacCG();
         Tutorial.HightDisable(0, true);
+
+        PrepareStep9();
     }
 
     public static void EndStep9()
     {
         Tutorial.HightDisable();
+
+        Initializer.Tutorial = false;
+
+        Data.SavePlayerBool("Tutorial", false);
+
+        ManaReso.Get("Tutorial").SetCollider(false);
     }
 
 
     public static void PrepareStep1()
     {
-        ManaReso.AddButtonEvent
+        TutorialIndex = 1;
+
+        ManaReso.SetActive("N_Confirm", true);
+
+        ManaReso.AddButtonEventOnetime
         (
             "N_Confirm",
             () =>
@@ -124,7 +186,6 @@ public class ManaTutorial : Regist
 
                 ManaReso.TraDic.Add(Tutorial.Player.name, Tutorial.Player);
 
-
                 Tutorial.Player.CreateTweenScale(ManaReso.Get("PlayerPosTra").localScale, 1f, true, true, Curve.EaseOutQuad);
                 Tutorial.Player.CreateTweenVec3D(ManaReso.Get("PlayerPosTra").position, 1f, false, true, true, Curve.EaseOutQuad);
 
@@ -136,27 +197,38 @@ public class ManaTutorial : Regist
 
                 Tween tween = Tutorial.Player.GetTweenVec();
 
-                tween.OnForwardFinish += () =>
-                {
-                    EndStep1();
-                    PrepareStep2();
-                };
+                tween.AddEventOnetime
+                (
+                    EventType.ForwardFinish,
+                    () =>
+                    {
+                        EndStep1();
+                    }
+                );
             }
         );
     }
 
     public static void PrepareStep2()
     {
+        TutorialIndex = 2;
+
         ManaReso.Get("N_Mask").TweenConForGra();
 
         Tween tween = ManaReso.Get("N_Mask").GetTweenGra();
-        tween.OnForwardFinish += () =>
-        {
-            Tutorial.HightScreen(ManaReso.Get("C_MiniGameArrow"), ManaReso.Get("C_MiniGame"));
-        };
 
-        HudTarget hudTarget = ManaReso.Get("C_MiniGame").AddComponent<HudTarget>();
-        hudTarget.PosTra = Player.ChildDic["EnterGameTra"];
+        tween.AddEventOnetime
+        (
+            EventType.ForwardFinish, 
+            () =>
+            {
+                Tutorial.HightScreen(ManaReso.Get("C_MiniGameArrow"), ManaReso.Get("C_MiniGame"));
+            }
+        );
+
+        
+        ManaUI.Instance.TutorialToRegular();
+
 
         ManaReso.Get("C_Main").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
         ManaReso.Get("C_MiniGame").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
@@ -169,545 +241,208 @@ public class ManaTutorial : Regist
         ManaReso.SetActive("C_Achieve", false);
         ManaReso.SetActive("C_Manage", false);
 
-        ManaReso.AddButtonEvent
+        ManaReso.AddButtonEventOnetime
         (
             "C_MiniGame",
             () =>
             {
                 EndStep2();
-                PrepareStep3();
             }
         );
     }
 
     public static void PrepareStep3()
     {
-        ManaReso.Get<BoxCollider2D>("TutorialMask").enabled = false;
+        TutorialIndex = 3;
 
-        ManaReso.SetText("D_ScoreTit");
-        ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
-        ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0"));
+        ManaReso.SetActive("D_Quit", false);
 
-        ManaText.Add(ManaReso.Get<Text>("Da_QuitLab"), new LanStr("UI", "Da_QuitLab"));
-        ManaText.Add(ManaReso.Get<Text>("Da_CancelLab"), new LanStr("UI", "Da_CancelLab"));
-        ManaText.Add(ManaReso.Get<Text>("Da_GetAwardLab"), new LanStr("UI", "Da_GetAwardLab"));
+        ManaReso.Get("Tutorial").SetCollider(false);
 
-        #region D_Rip
+        Tween tween = ManaReso.Get("D_MiniGame").GetTweenCG();
 
-        ManaReso.AddButtonEvent
+        tween.AddEventOnetime
         (
-            "D_Rip2",
+            EventType.ForwardFinish,
             () =>
             {
-                ManaMiniGame.Rip();
-
-                ManaReso.Get("D_Rip2").TweenForScale();
+                Tutorial.HightScreen(ManaReso.Get("D_BeginArrow0"), ManaReso.Get("D_BeginArrow1"), ManaReso.Get("D_Begin"));
             }
         );
 
-        Tween tween = ManaReso.Get("D_Rip2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
-
-        tween.OnForwardFinish += () =>
-        {
-            ManaReso.Get("D_Rip2").TweenBacScale();
-        };
-
-        #endregion
-
-        #region D_Begin
-
-        ManaReso.AddButtonEvent
+        ManaReso.PushButtonEventOnetime
         (
             "D_Begin",
             () =>
             {
-                ManaMiniGame.Prepare = true;
+                Tutorial.HightDisable();
             }
         );
 
-        #endregion
-
-        #region D_Water
-
-        ManaReso.AddButtonEvent
+        ManaReso.AddButtonEventOnetime
         (
-            "D_Water2",
+            "Da_GetAward",
             () =>
             {
-                ManaMiniGame.Water();
-
-                ManaReso.Get("D_Water2").TweenForScale();
+                EndStep3();
             }
         );
+    }
 
-        tween = ManaReso.Get("D_Water2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
-
-        tween.OnForwardFinish += () =>
-        {
-            ManaReso.Get("D_Water2").TweenBacScale();
-        };
+    public static void PrepareStep4()
+    {
+        TutorialIndex = 4;
 
-        #endregion
+        ManaReso.Get("C_Main").TweenBacCG();
 
-        #region D_Fertilize
+        Tween tween = ManaReso.Get("D_MiniGame").GetTweenCG();
 
-        ManaReso.AddButtonEvent
+        tween.AddEventOnetime
         (
-            "D_Fertilize2",
-
+            EventType.BackwardFinish, 
             () =>
             {
-                ManaMiniGame.Fertilize();
+                ManaReso.Get("Tutorial").SetCollider(true);
 
-                ManaReso.Get("D_Fertilize2").TweenForScale();
+                Tutorial.HightScene(0.1f, 0.075f, ManaReso.Get("SlotArrowA1"), ManaReso.Get("SlotA1"));
             }
         );
+    }
 
-        tween = ManaReso.Get("D_Fertilize2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
-
-        tween.OnForwardFinish += () =>
-        {
-            ManaReso.Get("D_Fertilize2").TweenBacScale();
-        };
-
-        #endregion
-
-        #region D_MiniGame
-
-        tween = ManaReso.Get("D_MiniGame").CreateTweenCG(0, 1, 0.5f, false, true, Curve.EaseOutQuad);
-
-        tween.OnForwardStart += () =>
-        {
-            ManaReso.SetText("D_ScoreTit");
-            ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
-            ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0"));
-
-            //ManaReso.Get("C_Main").TweenBacCG();
-
-            ManaReso.Get("MusicTheme").TweenBacAudio();
-
-            //ManaReso.SetActive("E_Debug", false);
-
-            ManaData.MainDepth++;
-
-            ManaReso.SetActive("Da_Quit", true);
-            ManaReso.SetActive("Da_Cancel", true);
-            ManaReso.SetActive("Da_GetAward", false);
-        };
-
-        tween.OnForwardFinish += () =>
-        {
-            ManaReso.Get("MusicMini").TweenForAudio();
-        };
-
-        tween.OnBackwardStart += () =>
-        {
-            ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
-
-            ManaReso.Get("MusicMini").TweenBacAudio();
-        };
-
-        tween.OnBackwardFinish += () =>
-        {
-            ManaReso.Get("MusicTheme").TweenForAudio();
-
-            //ManaReso.SetActive("E_Debug", true);
-        };
-
-        #endregion
-
-
-        #region Da_Info
-
-        ManaReso.Get("Da_Info").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
-
-        #endregion
-
-        #region Da_Star
-
-        ManaReso.Get("Da_Star1").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
-        ManaReso.Get("Da_Star2").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
-        ManaReso.Get("Da_Star3").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
-
-        #endregion
-
-        #region Da_Score
-
-        ManaReso.Get("Da_ScoreTit").CreateTweenText(1, 25, 0.25f, false, true, Curve.EaseOutQuad);
+    public static void PrepareStep5()
+    {
+        TutorialIndex = 5;
 
-        #endregion
-        
-        #region Da_GetAward
+        Tween tween = ManaReso.Get("G_Flower").TweenForCG();
 
-        ManaReso.AddButtonEvent
+        tween.AddEventOnetime
         (
-            "Da_GetAward",
+            EventType.ForwardFinish,
             () =>
             {
-                //ManaReso.Get("C_Main").TweenForCG();
-
-                ManaReso.Get("D_MiniGame").TweenBacCG();
-
-                ManaReso.Get("GardenMini").TweenBacVec();
+                Transform tra = ManaReso.Get("G_RegularGrid").GetChild(0);
 
-                ManaReso.SetActive("Da_Info", false);
+                Tutorial.HightScreen(tra.FindChild("ArrowPos"), tra);
             }
         );
 
-        #endregion
-
-        ManaReso.Get("Da_GetAward").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
-
-        ManaReso.Get("Da_CoinGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
-        ManaReso.Get("Da_FlowerGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
-        ManaReso.Get("Da_DiamondGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
-
-
-        ManaReso.Get<Garden>("Garden").RegistReference();
-        ManaReso.Get<Garden>("Garden").RegistValueA();
-
-        ManaReso.SetActive("D_Quit", false);
-
-        ManaReso.Get("GardenMini").TweenForVec();
-
-        ManaReso.Get("D_MiniGame").TweenForCG();
-
-        tween = ManaReso.Get("D_MiniGame").GetTweenCG();
-
-        tween.OnForwardFinish += () =>
-        {
-            Tutorial.HightScreen(ManaReso.Get("D_BeginArrow0"), ManaReso.Get("D_BeginArrow1"), ManaReso.Get("D_Begin"));
-        };
-
-        ManaReso.SetButtonEvent
+        ManaReso.AddButtonEventOnetime
         (
-            "D_Begin",
+            "G_Close",
             () =>
             {
                 Tutorial.HightDisable();
-                ManaMiniGame.Prepare = true;
             }
         );
 
-        ManaReso.AddButtonEvent
+        tween.AddEventOnetime
         (
-            "Da_GetAward",
+            EventType.BackwardFinish,
             () =>
             {
-                EndStep3();
+                EndStep5();
             }
         );
-
-        tween = ManaReso.Get("D_MiniGame").GetTweenCG();
-
-        tween.OnBackwardFinish += () =>
-        {
-            PrepareStep4();
-        };
     }
 
-    public static void PrepareStep4()
-    {
-        Tutorial.HightScene(0.1f, 0.075f, ManaReso.Get("SlotArrowA1"), ManaReso.Get("SlotA1"));
-
-        ManaReso.Get<BoxCollider2D>("TutorialMask").enabled = false;
-    }
-
-    public static void PrepareStep5()
+    public static void PrepareStep6()
     {
-        #region G
-
-        ManaText.Add(ManaReso.Get<Text>("G_Tit"), new LanStr("UI", "G_Tit"));
-        ManaText.Add(ManaReso.Get<Text>("G_SpecialLab"), new LanStr("UI", "G_SpecialLab"));
-        ManaText.Add(ManaReso.Get<Text>("G_RegularLab"), new LanStr("UI", "G_RegularLab"));
-        ManaText.Add(ManaReso.Get<Text>("G_RetrieveLab"), new LanStr("UI", "G_RetrieveLab"));
-
-        #region G_Flower
-
-        Tween tween = ManaReso.Get("G_Flower").CreateTweenCG(0f, 1f, 0.25f, false, true, Curve.EaseOutQuad);
-
-        tween.OnForwardStart += () =>
-        {
-            if (ManaData.MainDepth == -1)
-            {
-                ManaReso.Get("C_Main").TweenBacCG();
-            }
+        TutorialIndex = 6;
 
-            ManaData.MainDepth++;
-
-            if (ManaGarden.MyFlowerSpec == 0)
-            {
-                ManaReso.SetActive("G_Special", false);
-            }
-        };
-
-        tween.OnBackwardStart += () =>
-        {
-            ManaData.MainDepth--;
-        };
-
-        #endregion
+        ManaReso.Get("C_Main").TweenForCG();
 
-        #region G_Special
+        Tween tween = ManaReso.Get("C_Main").GetTweenCG();
 
-        ManaReso.AddButtonEvent
+        tween.AddEventOnetime
         (
-            "G_Special",
-            () =>
+            EventType.ForwardFinish, () =>
             {
-                ManaReso.SetActive("G_SpecialScrr", true);
-                ManaReso.SetActive("G_RegularScrr", false);
-
-                ManaReso.Get<Button>("G_Special").interactable = false;
-                ManaReso.Get<Button>("G_Regular").interactable = true;
+                Tutorial.HightScreen(ManaReso.Get("C_ManageArrow"), ManaReso.Get("C_Manage"));
             }
         );
 
-        #endregion
-
-        #region G_Regular
-
-        ManaReso.Get("G_Regular").CreateTweenVec2D(ManaReso.Get("G_PosTraL").position, ManaReso.Get("G_PosTraR").position, 0.25f, false, true, true, Curve.EaseOutQuad);
-
-        ManaReso.AddButtonEvent
+        ManaReso.AddButtonEventOnetime
         (
-            "G_Regular",
+            "C_Manage",
             () =>
             {
-                ManaReso.SetActive("G_SpecialScrr", false);
-                ManaReso.SetActive("G_RegularScrr", true);
-
-                ManaReso.Get<Button>("G_Special").interactable = true;
-                ManaReso.Get<Button>("G_Regular").interactable = false;
+                EndStep6();
             }
         );
+    }
 
-        #endregion
+    public static void PrepareStep7()
+    {
+        TutorialIndex = 7;
 
-        #region G_Retrieve
+        Tween tween = ManaReso.Get("F_Manage0").GetTweenVec();
 
-        ManaReso.AddButtonEvent
+        tween.AddEventOnetime
         (
-            "G_Retrieve",
+            EventType.ForwardFinish, 
             () =>
             {
-                ManaReso.Get("G_Flower").TweenBacCG();
+                Transform tra = ManaReso.Get("Fa_Grid").GetChild(0);
 
-                ManaGarden.RetriveFlowerAll();
+                Tutorial.HightScreen(tra.FindChild("Arrow1"), tra.FindChild("Arrow0"), tra.FindChild("Btn"));
             }
         );
 
-        #endregion
-
-        #endregion   
-
-        ManaReso.Get("G_Flower").TweenForCG();
-
-        tween = ManaReso.Get("G_Flower").GetTweenCG();
 
-        tween.OnForwardFinish += () =>
-        {
-            Transform tra = ManaReso.Get("G_RegularGrid").GetChild(0);
-
-            Tutorial.HightScreen(tra.FindChild("ArrowPos"), tra);
-        };
+        tween = ManaReso.Get("Fe_Info").GetTweenCG();
 
-        ManaReso.AddButtonEvent
+        tween.AddEventOnetime
         (
-            "G_Close",
-            () =>
+            EventType.ForwardFinish, () =>
             {
-                ManaReso.Get("G_Flower").TweenBacCG();
-
-                Tutorial.HightDisable();
+                Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
             }
         );
-
-        tween.OnBackwardFinish += () =>
-        {
-            EndStep5();
-            PrepareStep6();
-        };
     }
 
-    public static void PrepareStep6()
+    public static void PrepareStep8()
     {
-        #region C_Manage
+        TutorialIndex = 8;
 
-        ManaReso.AddButtonEvent
+        Tween tween = ManaReso.Get("Fa_Scrr").GetTweenRect();
+
+        tween.AddEventOnetime
         (
-            "C_Manage",
+            EventType.ForwardFinish,
             () =>
             {
-                ManaReso.Get("F_Manage0").TweenForVec();
+                Transform tra = ManaData.SkillDic["Skill1"].SkillItem;
+
+                Tutorial.HightScreen(tra.FindChild("Arrow1"), tra.FindChild("Arrow0"), tra.FindChild("Btn"));
             }
         );
-
-        #endregion
-
-        #region F
-
-        ManaText.Add(ManaReso.Get<Text>("F_StoreLab"), new LanStr("UI", "F_StoreLab"));
-        ManaText.Add(ManaReso.Get<Text>("F_MagicLab"), new LanStr("UI", "F_MagicLab"));
-        ManaText.Add(ManaReso.Get<Text>("F_GardenLab"), new LanStr("UI", "F_GardenLab"));
-
-        ManaText.Add(ManaReso.Get<Text>("Fg_Tit"), new LanStr("UI", "Fg_Tit"));
-        ManaText.Add(ManaReso.Get<Text>("Fg_Lab"), new LanStr("UI", "Fg_Lab"));
-        ManaText.Add(ManaReso.Get<Text>("Fg_BtnLab"), new LanStr("UI", "Fg_BtnLab"));
-
-        #region F_Manage
-
-        Tween tween = ManaReso.Get("F_Manage").CreateTweenGra(new Color(0, 0, 0, 180 / 255f), 0.5f, true, true, Curve.EaseOutQuad);
-
-        var tween1 = tween;
-        tween.OnForwardStart += () =>
-        {
-            tween1.Duration = 0.5f;
-        };
-
-        tween.OnBackwardStart += () =>
-        {
-            tween1.Duration = 0.25f;
-        };
-
-        tween.OnBackwardFinish += () =>
-        {
-            ManaReso.Get("F_Manage0").TweenBacVec();
-        };
-
-        tween = ManaReso.Get("F_Manage0").CreateTweenVec2D(ManaReso.Get("F_PosTra").position, 0.5f, false, false, true, Curve.EaseOutQuad);
-
-        tween.OnForwardStart += () =>
-        {
-            ManaReso.Get("C_Main").TweenBacCG();
-
-            ManaReso.SetActive("F_Manage", true);
-
-            ManaData.MainDepth++;
-        };
-
-        tween.OnForwardFinish += () =>
-        {
-            ManaReso.Get("F_Manage").TweenForGra();
-        };
-
-        tween.OnBackwardStart += () =>
-        {
-            ManaData.MainDepth--;
-        };
-
-        tween.OnBackwardFinish += () =>
-        {
-            ManaReso.Get("C_Main").TweenForCG();
-
-            ManaReso.SetActive("F_Manage", false);
-            ManaReso.SetActive("F_Manage0", false);
-        };
-
-        #endregion
-
-        #endregion
-
-        ManaReso.SetActive("C_Coin", true);
-        ManaReso.SetActive("C_Setting", true);
-        ManaReso.SetActive("C_Achieve", true);
-        ManaReso.SetActive("C_Manage", true);
-
-        ManaReso.Get("C_Main").TweenConForCG();
-
-        tween = ManaReso.Get("C_Main").GetTweenCG();
         
-        tween.OnForwardFinish += () =>
-        {
-            Tutorial.HightScreen(ManaReso.Get("C_ManageArrow"), ManaReso.Get("C_Manage"));
-        };
 
-        ManaReso.AddButtonEvent
+        tween = ManaReso.Get("Fe_Info").GetTweenCG();
+
+        tween.AddEventOnetime
         (
-            "C_Manage",
+            EventType.ForwardFinish,
             () =>
             {
-                EndStep6();
-                PrepareStep7();
+                Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
             }
         );
     }
 
-    public static void PrepareStep7()
+    public static void PrepareStep9()
     {
-        #region Fa_Scrr
-
-        RectTransform rectTra1 = ManaReso.Get<RectTransform>("Fa_Scrr");
-        RectTransform rectTra2 = ManaReso.Get<RectTransform>("Ff_SkillBar");
-
-        rectTra1.CreateTweenRect(rectTra1.rect.size + new Vector2(0, -rectTra2.rect.height), 0.25f, true, true, Curve.EaseOutQuad);
-
-        #endregion
-
-
-        #region Fe_Info
+        TutorialIndex = 9;
 
-        ManaReso.Get("Fe_Info").CreateTweenCG(0f, 1f, 0.1f, false, true, Curve.EaseOutQuad);
-
-        #endregion
-
-        #region Fe_Close
+        Tween tween = ManaReso.Get("Fe_Info").GetTweenCG();
 
-        ManaReso.AddButtonEvent
+        tween.AddEventOnetime
         (
-            "Fe_Close",
+            EventType.BackwardFinish,
             () =>
             {
-                ManaReso.Get("Fe_Info").TweenBacCG();
+                Tutorial.HightScreen(ManaReso.Get("F_SkillArrow00"), ManaReso.Get("F_Skill0"));
             }
         );
-
-        #endregion
-
-        Tween tween = ManaReso.Get("F_Manage0").GetTweenVec();
-
-        tween.OnForwardFinish += () =>
-        {
-            Transform tra = ManaReso.Get("Fa_Grid").GetChild(0);
-
-            Tutorial.HightScreen(tra.FindChild("Arrow1"), tra.FindChild("Arrow0"), tra.FindChild("Btn"));
-        };
-
-        tween = ManaReso.Get("Fe_Info").GetTweenCG();
-
-        tween.OnForwardFinish = () =>
-        {
-            Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
-        };
-    }
-
-    public static void PrepareStep8()
-    {
-        Tween tween = ManaReso.Get("Fa_Scrr").GetTweenRect();
-
-        tween.OnForwardFinish += () =>
-        {
-            Transform tra = ManaData.SkillDic["Skill1"].SkillItem;
-
-            Tutorial.HightScreen(tra.FindChild("Arrow1"), tra.FindChild("Arrow0"), tra.FindChild("Btn"));
-        };
-        
-
-        tween = ManaReso.Get("Fe_Info").GetTweenCG();
-
-        tween.OnForwardFinish = () =>
-        {
-            Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
-        };
-    }
-
-    public static void PrepareStep9()
-    {
-        Tween tween = ManaReso.Get("Fe_Info").GetTweenCG();
-
-        tween.OnBackwardFinish = () =>
-        {
-            Tutorial.HightScreen(ManaReso.Get("F_SkillArrow00"), ManaReso.Get("F_Skill0"));
-        };
     }
 }

+ 1290 - 16
Assets/Script/Manage/ManaUI.cs

@@ -13,8 +13,8 @@ public class ManaUI : Regist
 {
 	#region 变量
 
+    public static ManaUI Instance;
     
-
     #endregion
 
     public override void Instantiate()
@@ -26,8 +26,31 @@ public class ManaUI : Regist
         ManaReso.Get("EventSystem", Folder.UI, false, tra, false);
     }
 
+    public override void RegistValueA()
+    {
+        Instance = this;
+    }
+
     public override void RegistValueB()
     {
+        if (Initializer.Tutorial)
+        {
+            TutorialRegistValueB();
+        }
+        else
+        {
+            RegularRegistValueB();
+        }
+    }
+
+    public override void TutorialToRegular()
+    {
+        HudTarget hudTarget = ManaReso.Get("C_MiniGame").AddComponent<HudTarget>();
+        hudTarget.PosTra = Player.ChildDic["EnterGameTra"];
+    }
+
+    private void TutorialRegistValueB()
+    {
         #region B
 
         ManaReso.SetText("Ba_Lab");
@@ -146,7 +169,7 @@ public class ManaUI : Regist
 
         tween.OnForwardStart += () =>
         {
-            
+
         };
 
         ManaReso.AddButtonEvent
@@ -160,10 +183,6 @@ public class ManaUI : Regist
             }
         );
 
-        HudTarget hudTarget = ManaReso.Get("C_MiniGame").AddComponent<HudTarget>();
-
-        hudTarget.PosTra = Player.ChildDic["EnterGameTra"];
-
         #endregion
 
 
@@ -347,7 +366,7 @@ public class ManaUI : Regist
 
             ManaReso.Get("MusicTheme").TweenBacAudio();
 
-            ManaReso.SetActive("E_Debug", false);
+            //ManaReso.SetActive("E_Debug", false);
 
             ManaData.MainDepth++;
 
@@ -372,7 +391,7 @@ public class ManaUI : Regist
         {
             ManaReso.Get("MusicTheme").TweenForAudio();
 
-            ManaReso.SetActive("E_Debug", true);
+            //ManaReso.SetActive("E_Debug", true);
         };
 
         #endregion
@@ -515,7 +534,7 @@ public class ManaUI : Regist
         #endregion
 
         #region Ea_Save
-        
+
         ManaReso.AddButtonEvent
         (
             "Ea_Save",
@@ -528,7 +547,7 @@ public class ManaUI : Regist
         #endregion
 
         #region Ea_Close
-         
+
         ManaReso.AddButtonEvent
         (
             "Ea_Close",
@@ -769,7 +788,7 @@ public class ManaUI : Regist
 
         #region F_Manage
 
-        tween = ManaReso.Get("F_Manage").CreateTweenGra(new Color(0, 0, 0, 180/255f), 0.5f, true, true, Curve.EaseOutQuad);
+        tween = ManaReso.Get("F_Manage").CreateTweenGra(new Color(0, 0, 0, 180 / 255f), 0.5f, true, true, Curve.EaseOutQuad);
 
         var tween1 = tween;
         tween.OnForwardStart += () =>
@@ -787,7 +806,7 @@ public class ManaUI : Regist
             ManaReso.Get("F_Manage0").TweenBacVec();
         };
 
-         tween = ManaReso.Get("F_Manage0").CreateTweenVec2D(ManaReso.Get("F_PosTra").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 += () =>
         {
@@ -885,7 +904,7 @@ public class ManaUI : Regist
         #endregion
 
         #region G
-        
+
         ManaText.Add(ManaReso.Get<Text>("G_Tit"), new LanStr("UI", "G_Tit"));
         ManaText.Add(ManaReso.Get<Text>("G_SpecialLab"), new LanStr("UI", "G_SpecialLab"));
         ManaText.Add(ManaReso.Get<Text>("G_RegularLab"), new LanStr("UI", "G_RegularLab"));
@@ -1287,9 +1306,1264 @@ public class ManaUI : Regist
         #endregion
     }
 
-
-    public override void TutorialInstantiate()
+    private void RegularRegistValueB()
     {
-        Instantiate();
+        #region B
+
+        ManaReso.SetText("Ba_Lab");
+        ManaReso.SetText("Ba_ConfirmLab");
+
+        ManaReso.SetText("Bb_Title");
+        ManaReso.SetText("Bb_GetLab");
+        ManaReso.SetText("Bb_ConfirmLab");
+
+        #region B_SignIn
+
+        Tween tween = ManaReso.Get("B_SignIn").CreateTweenCG(0f, 1f, 0.5f, false, true, Curve.EaseOutQuad);
+
+        tween.OnForwardStart += () =>
+        {
+            ManaData.MainDepth++;
+        };
+
+        tween.OnBackwardFinish += () =>
+        {
+            ManaData.MainDepth--;
+        };
+
+        #endregion
+
+        #region Ba_Confirm
+
+        ManaReso.AddButtonEvent
+        (
+            "Ba_Confirm",
+            () =>
+            {
+                ManaReso.Get("Bb_SignIn").TweenForCG();
+
+                ManaReso.SetActive("Ba_Notice", false);
+            }
+        );
+
+        #endregion
+
+        #region Bb_Get
+
+        ManaReso.AddButtonEvent
+        (
+            "Bb_Get",
+            () =>
+            {
+                ManaSign.Get();
+
+                ManaReso.SetActive("Bb_Get", false);
+                ManaReso.SetActive("Bb_Info", true);
+                ManaReso.SetActive("Bb_Rotate", true);
+                ManaReso.SetActive("Bb_Confirm", true);
+            }
+        );
+
+        #endregion
+
+        #region Bb_SignIn
+
+        ManaReso.Get("Bb_SignIn").CreateTweenCG(0f, 1f, 0.5f, false, true, Curve.EaseOutQuad);
+
+        #endregion
+
+        #region Bb_Confirm
+
+        ManaReso.AddButtonEvent
+        (
+            "Bb_Confirm",
+            () =>
+            {
+                ManaReso.Get("B_SignIn").TweenBacCG();
+            }
+        );
+
+        #endregion
+
+        #endregion
+
+        #region C
+
+        ManaText.Add(ManaReso.Get<Text>("C_MiniGameLab"), new LanStr("UI", "C_MiniGameLab"));
+
+        #region C_Main
+
+        tween = ManaReso.Get("C_Main").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
+        tween.OnForwardStart += () =>
+        {
+            ManaData.MainDepth = -1;
+        };
+
+        tween.OnBackwardStart += () =>
+        {
+            ManaData.MainDepth = 0;
+        };
+
+        #endregion
+
+        #region C_Manage
+
+        ManaReso.AddButtonEvent
+        (
+            "C_Manage",
+            () =>
+            {
+                ManaReso.Get("F_Manage0").TweenForVec();
+            }
+        );
+
+        #endregion
+
+        #region C_MiniGame
+
+        tween = ManaReso.Get("C_MiniGame").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
+        tween.OnForwardStart += () =>
+        {
+
+        };
+
+        ManaReso.AddButtonEvent
+        (
+            "C_MiniGame",
+            () =>
+            {
+                ManaReso.Get("GardenMini").TweenForVec();
+
+                ManaReso.Get("D_MiniGame").TweenForCG();
+            }
+        );
+
+        HudTarget hudTarget = ManaReso.Get("C_MiniGame").AddComponent<HudTarget>();
+
+        hudTarget.PosTra = Player.ChildDic["EnterGameTra"];
+
+        #endregion
+
+
+        #region C_Setting
+
+        ManaReso.SetButtonEvent
+        (
+            "C_Setting",
+            () =>
+            {
+                ManaReso.Get("L_Setting").TweenForCG();
+            }
+        );
+
+        #endregion
+
+        #region C_Achieve
+
+        ManaReso.AddButtonEvent
+        (
+            "C_Achieve",
+            () =>
+            {
+                ManaReso.Get("M_Achieve0").TweenForVec();
+            }
+        );
+
+        #endregion
+
+        #endregion
+
+        #region D
+
+        ManaReso.SetText("D_ScoreTit");
+        ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
+        ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0"));
+
+        ManaText.Add(ManaReso.Get<Text>("Da_Lab"), new LanStr("UI", "Da_Lab"));
+        ManaText.Add(ManaReso.Get<Text>("Da_ScoreTit"), new LanStr("UI", "Da_ScoreTit"));
+        ManaText.Add(ManaReso.Get<Text>("Da_QuitLab"), new LanStr("UI", "Da_QuitLab"));
+        ManaText.Add(ManaReso.Get<Text>("Da_CancelLab"), new LanStr("UI", "Da_CancelLab"));
+        ManaText.Add(ManaReso.Get<Text>("Da_GetAwardLab"), new LanStr("UI", "Da_GetAwardLab"));
+
+        #region D_Rip
+
+        ManaReso.AddButtonEvent
+        (
+            "D_Rip2",
+            () =>
+            {
+                ManaMiniGame.Rip();
+
+                ManaReso.Get("D_Rip2").TweenForScale();
+            }
+        );
+
+        tween = ManaReso.Get("D_Rip2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
+
+        tween.OnForwardFinish += () =>
+        {
+            ManaReso.Get("D_Rip2").TweenBacScale();
+        };
+
+        #endregion
+
+        #region D_Quit
+
+        ManaReso.AddButtonEvent
+        (
+            "D_Quit",
+            () =>
+            {
+                FlowerInfo flowerInfo = ManaGarden.FlowerInfoList.Random();
+
+                Vector2 newSize = flowerInfo.Sprite.rect.size;
+                newSize.x *= 0.2f;
+                newSize.y *= 0.2f;
+
+                ManaReso.Get<Image>("Da_FlowerIcon").sprite = flowerInfo.Sprite;
+                ManaReso.Get<Image>("Da_FlowerIcon").rectTransform.sizeDelta = newSize;
+
+                ManaReso.SetText("Da_FlowerLab", Language.GetStr("FlowerName", "Flower" + flowerInfo.ID));
+
+
+                ManaReso.SetText("Da_Tit", Language.GetStr("UI", "Da_Tit0"));
+
+                ManaReso.SetActive("Da_Lab", true);
+                ManaReso.SetActive("Da_HGroup", false);
+                ManaReso.SetActive("Da_ScoreTit", false);
+
+                ManaReso.Get("Da_Info").TweenForCG();
+
+                ManaReso.SetActive("Da_Quit", true);
+                ManaReso.SetActive("Da_Cancel", true);
+                ManaReso.SetActive("Da_GetAward", false);
+
+                ManaMiniGame.Pause = true;
+
+                Auxiliary.Instance.DelayCall
+                (
+                    () =>
+                    {
+                        ManaReso.Get<Text>("Da_FlowerLab").SetLayoutDirty();
+                    },
+                    1
+                );
+            }
+        );
+
+        #endregion
+
+        #region D_Begin
+
+        ManaReso.AddButtonEvent
+        (
+            "D_Begin",
+            () =>
+            {
+                ManaMiniGame.Prepare = true;
+            }
+        );
+
+        #endregion
+
+        #region D_Water
+
+        ManaReso.AddButtonEvent
+        (
+            "D_Water2",
+            () =>
+            {
+                ManaMiniGame.Water();
+
+                ManaReso.Get("D_Water2").TweenForScale();
+            }
+        );
+
+        tween = ManaReso.Get("D_Water2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
+
+        tween.OnForwardFinish += () =>
+        {
+            ManaReso.Get("D_Water2").TweenBacScale();
+        };
+
+        #endregion
+
+        #region D_Fertilize
+
+        ManaReso.AddButtonEvent
+        (
+            "D_Fertilize2",
+
+            () =>
+            {
+                ManaMiniGame.Fertilize();
+
+                ManaReso.Get("D_Fertilize2").TweenForScale();
+            }
+        );
+
+        tween = ManaReso.Get("D_Fertilize2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
+
+        tween.OnForwardFinish += () =>
+        {
+            ManaReso.Get("D_Fertilize2").TweenBacScale();
+        };
+
+        #endregion
+
+        #region D_MiniGame
+
+        tween = ManaReso.Get("D_MiniGame").CreateTweenCG(0, 1, 0.5f, false, true, Curve.EaseOutQuad);
+
+        tween.OnForwardStart += () =>
+        {
+            ManaReso.SetText("D_ScoreTit");
+            ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
+            ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0"));
+
+            ManaReso.Get("C_Main").TweenBacCG();
+
+            ManaReso.Get("MusicTheme").TweenBacAudio();
+
+            //ManaReso.SetActive("E_Debug", false);
+
+            ManaData.MainDepth++;
+
+            ManaReso.SetActive("Da_Quit", true);
+            ManaReso.SetActive("Da_Cancel", true);
+            ManaReso.SetActive("Da_GetAward", false);
+        };
+
+        tween.OnForwardFinish += () =>
+        {
+            ManaReso.Get("MusicMini").TweenForAudio();
+        };
+
+        tween.OnBackwardStart += () =>
+        {
+            ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
+
+            ManaReso.Get("MusicMini").TweenBacAudio();
+        };
+
+        tween.OnBackwardFinish += () =>
+        {
+            ManaReso.Get("MusicTheme").TweenForAudio();
+
+            //ManaReso.SetActive("E_Debug", true);
+        };
+
+        #endregion
+
+
+        #region Da_Quit
+
+        ManaReso.AddButtonEvent
+        (
+            "Da_Quit",
+            () =>
+            {
+                ManaReso.Get("C_Main").TweenForCG();
+
+                ManaReso.Get("D_MiniGame").TweenBacCG();
+
+                ManaReso.Get("GardenMini").TweenBacVec();
+
+                ManaReso.Get("Da_Info").TweenBacCG();
+
+                ManaMiniGame.GameAbort();
+            }
+        );
+
+        #endregion
+
+        #region Da_Star
+
+        ManaReso.Get("Da_Star1").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_Star2").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_Star3").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+
+        #endregion
+
+        #region Da_Info
+
+        ManaReso.Get("Da_Info").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
+        #endregion
+
+        #region Da_Cancel
+
+        ManaReso.AddButtonEvent
+        (
+            "Da_Cancel",
+            () =>
+            {
+                ManaReso.Get("Da_Info").TweenBacCG();
+
+                ManaMiniGame.Pause = false;
+            }
+        );
+
+        #endregion
+
+        #region Da_Score
+
+        ManaReso.Get("Da_ScoreTit").CreateTweenText(1, 25, 0.25f, false, true, Curve.EaseOutQuad);
+
+        #endregion
+
+        #region Da_GetAward
+
+        ManaReso.AddButtonEvent
+        (
+            "Da_GetAward",
+            () =>
+            {
+                ManaReso.Get("C_Main").TweenForCG();
+
+                ManaReso.Get("D_MiniGame").TweenBacCG();
+
+                ManaReso.Get("GardenMini").TweenBacVec();
+
+                ManaReso.Get("Da_Info").TweenBacCG();
+
+                ManaReso.Get("Da_VGroup").GetComponent<VerticalLayoutGroup>().enabled = true;
+                ManaReso.Get<CanvasGroup>("Da_VGroup").alpha = 0;
+                ManaReso.SetActive("Da_HGroup", false);
+                ManaReso.Get("Da_Info").GetTweenCG().OnForwardFinish = () =>
+                {
+
+                };
+            }
+        );
+
+        #endregion
+
+        ManaReso.Get("Da_GetAward").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
+        ManaReso.Get("Da_CoinGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_FlowerGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_DiamondGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+
+        #endregion
+
+        #region E
+
+        #region E_PauseBtn
+
+        ManaReso.AddButtonEvent
+        (
+            "E_PauseBtn",
+            () =>
+            {
+                ManaDebug.LockBtn();
+            }
+        );
+
+        #endregion
+
+        #region E_CentralBtn
+
+        ManaReso.AddButtonEvent
+        (
+            "E_CentralBtn",
+            () =>
+            {
+                ManaReso.SetActive("Ea_Central", true);
+            }
+        );
+
+        #endregion
+
+
+        #region Ea_Cool
+
+        ManaReso.AddButtonEvent
+        (
+            "Ea_Cool",
+            () =>
+            {
+                for (int i = 0; i < ManaData.SkillList.Count; i++)
+                {
+                    ManaData.SkillList[i].ReceiveCool(1, true, true);
+                }
+            }
+        );
+
+        #endregion
+
+        #region Ea_Save
+
+        ManaReso.AddButtonEvent
+        (
+            "Ea_Save",
+            () =>
+            {
+                Data.SavePlayerConfig();
+            }
+        );
+
+        #endregion
+
+        #region Ea_Close
+
+        ManaReso.AddButtonEvent
+        (
+            "Ea_Close",
+            () =>
+            {
+                ManaReso.SetActive("Ea_Central", false);
+            }
+        );
+
+        #endregion
+
+        #region Ea_Reset
+
+        ManaReso.AddButtonEvent
+        (
+            "Ea_Reset",
+            () =>
+            {
+                Data.ResetPlayerConfig();
+            }
+        );
+
+        #endregion
+
+        #region Ea_Current
+
+        ManaReso.AddButtonEvent
+        (
+            "Ea_Current",
+            () =>
+            {
+                ManaData.Coin += 1000;
+                ManaData.Diamond += 1000;
+            }
+        );
+
+        #endregion
+
+        #region Ea_Upgrade
+
+        ManaReso.AddButtonEvent
+        (
+            "Ea_Upgrade",
+            () =>
+            {
+                ManaData.Level += 20;
+            }
+        );
+
+        #endregion
+
+        #endregion
+
+        #region F
+
+        ManaText.Add(ManaReso.Get<Text>("F_ElfLab"), new LanStr("UI", "F_ElfLab"));
+        ManaText.Add(ManaReso.Get<Text>("F_StoreLab"), new LanStr("UI", "F_StoreLab"));
+        ManaText.Add(ManaReso.Get<Text>("F_MagicLab"), new LanStr("UI", "F_MagicLab"));
+        ManaText.Add(ManaReso.Get<Text>("F_GardenLab"), new LanStr("UI", "F_GardenLab"));
+
+        ManaText.Add(ManaReso.Get<Text>("Fg_Tit"), new LanStr("UI", "Fg_Tit"));
+        ManaText.Add(ManaReso.Get<Text>("Fg_Lab"), new LanStr("UI", "Fg_Lab"));
+        ManaText.Add(ManaReso.Get<Text>("Fg_BtnLab"), new LanStr("UI", "Fg_BtnLab"));
+
+        #region F_Close
+
+        ManaReso.AddButtonEvent
+        (
+            "F_Close",
+            () =>
+            {
+                ManaReso.Get("F_Manage").TweenBacGra();
+            }
+        );
+
+        #endregion
+
+        #region F_Flower
+
+        ManaReso.AddButtonEvent
+        (
+            "F_Flower",
+            () =>
+            {
+                ManaReso.Get("G_Flower").TweenForCG();
+            }
+        );
+
+        #endregion
+
+        #region F_TabBtn
+
+        ManaReso.Get("F_Elf").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad);
+        ManaReso.Get("F_Store").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad);
+        ManaReso.Get("F_Magic").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad);
+        ManaReso.Get("F_Garden").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad);
+
+        ManaReso.AddButtonEvent
+        (
+            "F_Elf",
+            () =>
+            {
+                ManaReso.Get("F_Elf").TweenForScale();
+                ManaReso.Get("F_Store").TweenConBacScale();
+                ManaReso.Get("F_Magic").TweenConBacScale();
+                ManaReso.Get("F_Garden").TweenConBacScale();
+
+                ManaReso.Get("F_Elf").SetAsLastSibling();
+                ManaReso.Get("F_Store").SetSiblingIndex(0);
+                ManaReso.Get("F_Magic").SetSiblingIndex(1);
+                ManaReso.Get("F_Garden").SetSiblingIndex(2);
+
+                ManaReso.Get<Button>("F_Elf").interactable = false;
+                ManaReso.Get<Button>("F_Store").interactable = true;
+                ManaReso.Get<Button>("F_Magic").interactable = true;
+                ManaReso.Get<Button>("F_Garden").interactable = true;
+
+                ManaReso.SetActive("Fd_Elf", true);
+                ManaReso.SetActive("Fc_Store", false);
+                ManaReso.SetActive("Fb_Magic", false);
+                ManaReso.SetActive("Fa_Garden", false);
+
+                ManaReso.SetActive("F_ElfIcon", true);
+                ManaReso.SetActive("F_StoreIcon", false);
+                ManaReso.SetActive("F_MagicIcon", false);
+                ManaReso.SetActive("F_GardenIcon", false);
+
+                ManaReso.SetActive("Ff_SkillBar", false);
+            }
+        );
+
+        ManaReso.AddButtonEvent
+        (
+            "F_Store",
+            () =>
+            {
+                ManaReso.Get("F_Elf").TweenConBacScale();
+                ManaReso.Get("F_Store").TweenForScale();
+                ManaReso.Get("F_Magic").TweenConBacScale();
+                ManaReso.Get("F_Garden").TweenConBacScale();
+
+                ManaReso.Get("F_Elf").SetSiblingIndex(1);
+                ManaReso.Get("F_Store").SetAsLastSibling();
+                ManaReso.Get("F_Magic").SetSiblingIndex(0);
+                ManaReso.Get("F_Garden").SetSiblingIndex(2);
+
+                ManaReso.Get<Button>("F_Elf").interactable = true;
+                ManaReso.Get<Button>("F_Store").interactable = false;
+                ManaReso.Get<Button>("F_Magic").interactable = true;
+                ManaReso.Get<Button>("F_Garden").interactable = true;
+
+                ManaReso.SetActive("Fd_Elf", false);
+                ManaReso.SetActive("Fc_Store", true);
+                ManaReso.SetActive("Fb_Magic", false);
+                ManaReso.SetActive("Fa_Garden", false);
+
+                ManaReso.SetActive("F_ElfIcon", false);
+                ManaReso.SetActive("F_StoreIcon", true);
+                ManaReso.SetActive("F_MagicIcon", false);
+                ManaReso.SetActive("F_GardenIcon", false);
+
+                ManaReso.SetActive("Ff_SkillBar", false);
+            }
+        );
+
+        ManaReso.AddButtonEvent
+        (
+            "F_Magic",
+            () =>
+            {
+                ManaReso.Get("F_Elf").TweenConBacScale();
+                ManaReso.Get("F_Store").TweenConBacScale();
+                ManaReso.Get("F_Magic").TweenForScale();
+                ManaReso.Get("F_Garden").TweenConBacScale();
+
+                ManaReso.Get("F_Elf").SetSiblingIndex(1);
+                ManaReso.Get("F_Store").SetSiblingIndex(0);
+                ManaReso.Get("F_Magic").SetAsLastSibling();
+                ManaReso.Get("F_Garden").SetSiblingIndex(2);
+
+                ManaReso.Get<Button>("F_Elf").interactable = true;
+                ManaReso.Get<Button>("F_Store").interactable = true;
+                ManaReso.Get<Button>("F_Magic").interactable = false;
+                ManaReso.Get<Button>("F_Garden").interactable = true;
+
+                ManaReso.SetActive("Fd_Elf", false);
+                ManaReso.SetActive("Fc_Store", false);
+                ManaReso.SetActive("Fb_Magic", true);
+                ManaReso.SetActive("Fa_Garden", false);
+
+                ManaReso.SetActive("F_ElfIcon", false);
+                ManaReso.SetActive("F_StoreIcon", false);
+                ManaReso.SetActive("F_MagicIcon", true);
+                ManaReso.SetActive("F_GardenIcon", false);
+
+                ManaReso.SetActive("Ff_SkillBar", false);
+            }
+        );
+
+        ManaReso.AddButtonEvent
+        (
+            "F_Garden",
+            () =>
+            {
+                ManaReso.Get("F_Elf").TweenConBacScale();
+                ManaReso.Get("F_Store").TweenConBacScale();
+                ManaReso.Get("F_Magic").TweenConBacScale();
+                ManaReso.Get("F_Garden").TweenForScale();
+
+                ManaReso.Get("F_Elf").SetSiblingIndex(2);
+                ManaReso.Get("F_Store").SetSiblingIndex(0);
+                ManaReso.Get("F_Magic").SetSiblingIndex(1);
+                ManaReso.Get("F_Garden").SetAsLastSibling();
+
+                ManaReso.Get<Button>("F_Elf").interactable = true;
+                ManaReso.Get<Button>("F_Store").interactable = true;
+                ManaReso.Get<Button>("F_Magic").interactable = true;
+                ManaReso.Get<Button>("F_Garden").interactable = false;
+
+                ManaReso.SetActive("Fd_Elf", false);
+                ManaReso.SetActive("Fc_Store", false);
+                ManaReso.SetActive("Fb_Magic", false);
+                ManaReso.SetActive("Fa_Garden", true);
+
+                ManaReso.SetActive("F_ElfIcon", false);
+                ManaReso.SetActive("F_StoreIcon", false);
+                ManaReso.SetActive("F_MagicIcon", false);
+                ManaReso.SetActive("F_GardenIcon", true);
+
+                if (ManaData.SkillBar)
+                {
+                    ManaReso.SetActive("Ff_SkillBar", true);
+                }
+            }
+        );
+
+        #endregion
+
+        #region F_Manage
+
+        tween = ManaReso.Get("F_Manage").CreateTweenGra(new Color(0, 0, 0, 180 / 255f), 0.5f, true, true, Curve.EaseOutQuad);
+
+        var tween1 = tween;
+        tween.OnForwardStart += () =>
+        {
+            tween1.Duration = 0.5f;
+        };
+
+        tween.OnBackwardStart += () =>
+        {
+            tween1.Duration = 0.25f;
+        };
+
+        tween.OnBackwardFinish += () =>
+        {
+            ManaReso.Get("F_Manage0").TweenBacVec();
+        };
+
+        tween = ManaReso.Get("F_Manage0").CreateTweenVec2D(ManaReso.Get("F_PosTra").position, 0.5f, false, false, true, Curve.EaseOutQuad);
+
+        tween.OnForwardStart += () =>
+        {
+            ManaReso.Get("C_Main").TweenBacCG();
+
+            ManaReso.SetActive("F_Manage", true);
+
+            ManaData.MainDepth++;
+        };
+
+        tween.OnForwardFinish += () =>
+        {
+            ManaReso.Get("F_Manage").TweenForGra();
+        };
+
+        tween.OnBackwardStart += () =>
+        {
+            ManaData.MainDepth--;
+        };
+
+        tween.OnBackwardFinish += () =>
+        {
+            ManaReso.Get("C_Main").TweenForCG();
+
+            ManaReso.SetActive("F_Manage", false);
+            ManaReso.SetActive("F_Manage0", false);
+        };
+
+        #endregion
+
+
+        #region Fa_Scrr
+
+        RectTransform rectTra1 = ManaReso.Get<RectTransform>("Fa_Scrr");
+        RectTransform rectTra2 = ManaReso.Get<RectTransform>("Ff_SkillBar");
+
+        rectTra1.CreateTweenRect(rectTra1.rect.size + new Vector2(0, -rectTra2.rect.height), 0.25f, true, true, Curve.EaseOutQuad);
+
+        #endregion
+
+
+        #region Fe_Info
+
+        ManaReso.Get("Fe_Info").CreateTweenCG(0f, 1f, 0.1f, false, true, Curve.EaseOutQuad);
+
+        #endregion
+
+        #region Fe_Close
+
+        ManaReso.AddButtonEvent
+        (
+            "Fe_Close",
+            () =>
+            {
+                ManaReso.Get("Fe_Info").TweenBacCG();
+            }
+        );
+
+        #endregion
+
+
+        #region Fg_Btn
+
+        ManaReso.AddButtonEvent
+        (
+            "Fg_Btn",
+            () =>
+            {
+                ManaData.Connect = true;
+                ManaReso.Get("Fg_Reconnect").TweenBacCG();
+            }
+        );
+
+        #endregion
+
+        #region Fg_Close
+
+        ManaReso.AddButtonEvent
+        (
+            "Fg_Close",
+            () =>
+            {
+                ManaReso.Get("Fg_Reconnect").TweenBacCG();
+            }
+        );
+
+        #endregion
+
+        #region Fg_Reconnect
+
+        ManaReso.Get("Fg_Reconnect").CreateTweenCG(0f, 1f, 0.1f, false, true, Curve.EaseOutQuad);
+
+        #endregion
+
+        #endregion
+
+        #region G
+
+        ManaText.Add(ManaReso.Get<Text>("G_Tit"), new LanStr("UI", "G_Tit"));
+        ManaText.Add(ManaReso.Get<Text>("G_SpecialLab"), new LanStr("UI", "G_SpecialLab"));
+        ManaText.Add(ManaReso.Get<Text>("G_RegularLab"), new LanStr("UI", "G_RegularLab"));
+        ManaText.Add(ManaReso.Get<Text>("G_RetrieveLab"), new LanStr("UI", "G_RetrieveLab"));
+
+        #region G_Close
+
+        ManaReso.AddButtonEvent
+        (
+            "G_Close",
+            () =>
+            {
+                ManaReso.Get("G_Flower").TweenBacCG();
+            }
+        );
+
+        #endregion
+
+        #region G_Flower
+
+        tween = ManaReso.Get("G_Flower").CreateTweenCG(0f, 1f, 0.25f, false, true, Curve.EaseOutQuad);
+
+        tween.OnForwardStart += () =>
+        {
+            if (ManaData.MainDepth == -1)
+            {
+                ManaReso.Get("C_Main").TweenBacCG();
+            }
+
+            ManaData.MainDepth++;
+
+            if (ManaGarden.MyFlowerSpec == 0)
+            {
+                ManaReso.SetActive("G_Special", false);
+            }
+        };
+
+        tween.OnBackwardStart += () =>
+        {
+            ManaData.MainDepth--;
+        };
+
+        #endregion
+
+        #region G_Special
+
+        ManaReso.AddButtonEvent
+        (
+            "G_Special",
+            () =>
+            {
+                ManaReso.SetActive("G_SpecialScrr", true);
+                ManaReso.SetActive("G_RegularScrr", false);
+
+                ManaReso.Get<Button>("G_Special").interactable = false;
+                ManaReso.Get<Button>("G_Regular").interactable = true;
+            }
+        );
+
+        #endregion
+
+        #region G_Regular
+
+        ManaReso.Get("G_Regular").CreateTweenVec2D(ManaReso.Get("G_PosTraL").position, ManaReso.Get("G_PosTraR").position, 0.25f, false, true, true, Curve.EaseOutQuad);
+
+        ManaReso.AddButtonEvent
+        (
+            "G_Regular",
+            () =>
+            {
+                ManaReso.SetActive("G_SpecialScrr", false);
+                ManaReso.SetActive("G_RegularScrr", true);
+
+                ManaReso.Get<Button>("G_Special").interactable = true;
+                ManaReso.Get<Button>("G_Regular").interactable = false;
+            }
+        );
+
+        #endregion
+
+        #region G_Retrieve
+
+        ManaReso.AddButtonEvent
+        (
+            "G_Retrieve",
+            () =>
+            {
+                ManaReso.Get("G_Flower").TweenBacCG();
+
+                ManaGarden.RetriveFlowerAll();
+            }
+        );
+
+        #endregion
+
+        #endregion
+
+        #region H
+
+        ManaText.Add(ManaReso.Get<Text>("H_PlaceLab"), new LanStr("UI", "H_PlaceLab"));
+        ManaText.Add(ManaReso.Get<Text>("H_RetrieveLab"), new LanStr("UI", "H_RetrieveLab"));
+
+        #region H_Prev
+
+        ManaReso.AddButtonEvent
+        (
+            "H_Prev",
+            () =>
+            {
+                ManaReso.Get<FlowerCard>("H_FlowerCard").PrevItem();
+            }
+        );
+
+        #endregion
+
+        #region H_Next
+
+        ManaReso.AddButtonEvent
+        (
+            "H_Next",
+            () =>
+            {
+                ManaReso.Get<FlowerCard>("H_FlowerCard").NextItem();
+            }
+        );
+
+        #endregion
+
+        #region H_Place
+
+        ManaReso.AddButtonEvent
+        (
+            "H_Place",
+            () =>
+            {
+                ManaReso.Get("H_FlowerCard").TweenBacCG();
+
+                ManaReso.Get<FlowerCard>("H_FlowerCard").Close();
+
+                ManaGarden.PlantFlower();
+            }
+        );
+
+        #endregion
+
+        #region H_Close
+
+        ManaReso.AddButtonEvent
+        (
+            "H_Close",
+            () =>
+            {
+                ManaReso.Get("H_FlowerCard").TweenBacCG();
+
+                ManaReso.Get<FlowerCard>("H_FlowerCard").Close();
+            }
+        );
+
+        #endregion
+
+        #region H_Retrieve
+
+        ManaReso.AddButtonEvent
+        (
+            "H_Retrieve",
+
+            () =>
+            {
+                ManaReso.Get("H_FlowerCard").TweenBacCG();
+
+                ManaGarden.RetriveFlower();
+            }
+        );
+
+        #endregion
+
+        #region H_FlowerCard
+
+        ManaReso.Get("H_FlowerCard").AddComponent<FlowerCard>().RegistValue();
+
+        tween = ManaReso.Get("H_FlowerCard").CreateTweenCG(0f, 1f, 0.25f, false, true, Curve.EaseOutQuad);
+
+        tween.OnForwardStart += () =>
+        {
+            if (ManaData.MainDepth == -1)
+            {
+                ManaReso.Get("C_Main").TweenBacCG();
+            }
+
+            ManaData.MainDepth++;
+        };
+
+        tween.OnBackwardStart += () =>
+        {
+            ManaData.MainDepth--;
+        };
+
+        #endregion
+
+        #endregion
+
+        #region I
+
+        ManaReso.Get("I_BlackMask").CreateTweenGra(new Color(0, 0, 0, 0), 0.5f, true, false, Curve.EaseOutQuad);
+
+        ManaReso.Get("I_BlackMask").TweenForGra();
+
+        #endregion
+
+        #region K
+
+        ManaReso.Get("K_QuitGame").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
+        ManaReso.AddButtonEvent
+        (
+            "K_Cancel",
+            () =>
+            {
+                ManaReso.Get("K_QuitGame").TweenBacCG();
+            }
+        );
+
+        ManaReso.AddButtonEvent
+        (
+            "K_Confirm",
+            () =>
+            {
+                Application.Quit();
+            }
+        );
+
+        #endregion
+
+        #region L
+
+        ManaText.Add(ManaReso.Get<Text>("L_UserTit"), new LanStr("UI", "L_UserTit"));
+        ManaText.Add(ManaReso.Get<Text>("L_ChangeLab"), new LanStr("UI", "L_ChangeLab"));
+        ManaText.Add(ManaReso.Get<Text>("L_AudioTit"), new LanStr("UI", "L_AudioTit"));
+        ManaText.Add(ManaReso.Get<Text>("L_MusicLab"), new LanStr("UI", "L_MusicLab"));
+        ManaText.Add(ManaReso.Get<Text>("L_AudioLab"), new LanStr("UI", "L_AudioLab"));
+        ManaText.Add(ManaReso.Get<Text>("L_ReportTit"), new LanStr("UI", "L_ReportTit"));
+        ManaText.Add(ManaReso.Get<Text>("L_ReportLab"), new LanStr("UI", "L_ReportLab"));
+        ManaText.Add(ManaReso.Get<Text>("L_ConfirmLab"), new LanStr("UI", "L_ConfirmLab"));
+        ManaText.Add(ManaReso.Get<Text>("L_LanguageTit"), new LanStr("UI", "L_LanguageTit"));
+        ManaText.Add(ManaReso.Get<Text>("L_TraChiLab"), new LanStr("UI", "L_TraChiLab"));
+        ManaText.Add(ManaReso.Get<Text>("L_EnglishLab"), new LanStr("UI", "L_EnglishLab"));
+        ManaText.Add(ManaReso.Get<Text>("L_SimChiLab"), new LanStr("UI", "L_SimChiLab"));
+
+        tween = ManaReso.Get("L_Setting").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
+        tween.OnForwardStart += () =>
+        {
+            ManaReso.Get("C_Main").TweenBacCG();
+
+            ManaData.MainDepth++;
+        };
+
+        tween.OnBackwardFinish += () =>
+        {
+            ManaReso.Get("C_Main").TweenForCG();
+        };
+
+        ManaReso.SetButtonEvent
+        (
+            "L_Confirm",
+            () =>
+            {
+                ManaReso.Get("L_Setting").TweenBacCG();
+            }
+        );
+
+        ManaReso.SetButtonEvent
+        (
+            "L_MusicBtn",
+            ManaAudio.Instance.MusicSwitch
+        );
+
+        ManaReso.SetButtonEvent
+        (
+            "L_AudioBtn",
+            ManaAudio.Instance.AudioSwitch
+        );
+
+        ManaReso.SetButtonEvent
+        (
+            "L_TraChi",
+            () =>
+            {
+                ManaReso.Get<Button>("L_TraChi").interactable = false;
+                ManaReso.Get<Button>("L_SimChi").interactable = true;
+                ManaReso.Get<Button>("L_English").interactable = true;
+
+                ManaReso.Get<Button>("L_TraChi").image.color = ManaColor.Orange;
+                ManaReso.Get<Button>("L_SimChi").image.color = ManaColor.LightGray;
+                ManaReso.Get<Button>("L_English").image.color = ManaColor.LightGray;
+            }
+        );
+
+        ManaReso.SetButtonEvent
+        (
+            "L_SimChi",
+            () =>
+            {
+                ManaReso.Get<Button>("L_TraChi").interactable = true;
+                ManaReso.Get<Button>("L_SimChi").interactable = false;
+                ManaReso.Get<Button>("L_English").interactable = true;
+
+                ManaReso.Get<Button>("L_TraChi").image.color = ManaColor.LightGray;
+                ManaReso.Get<Button>("L_SimChi").image.color = ManaColor.Orange;
+                ManaReso.Get<Button>("L_English").image.color = ManaColor.LightGray;
+
+                ManaText.SwitchLanguage("ChineseSimplified");
+            }
+        );
+
+        ManaReso.SetButtonEvent
+        (
+            "L_English",
+            () =>
+            {
+                ManaReso.Get<Button>("L_TraChi").interactable = true;
+                ManaReso.Get<Button>("L_SimChi").interactable = true;
+                ManaReso.Get<Button>("L_English").interactable = false;
+
+                ManaReso.Get<Button>("L_TraChi").image.color = ManaColor.LightGray;
+                ManaReso.Get<Button>("L_SimChi").image.color = ManaColor.LightGray;
+                ManaReso.Get<Button>("L_English").image.color = ManaColor.Orange;
+
+                ManaText.SwitchLanguage("English");
+            }
+        );
+
+        #endregion
+
+        #region M
+
+        #region M_Close
+
+        ManaText.Add(ManaReso.Get<Text>("M_Tit"), new LanStr("UI", "M_Tit"));
+
+        ManaReso.AddButtonEvent
+        (
+            "M_Close",
+            () =>
+            {
+                ManaReso.Get("M_Achieve").TweenBacGra();
+            }
+        );
+
+        #endregion
+
+        tween = ManaReso.Get("M_Achieve").CreateTweenGra(new Color(0, 0, 0, 180 / 255f), 0.5f, true, true, Curve.EaseOutQuad);
+
+        var tween2 = tween;
+        tween.OnForwardStart += () =>
+        {
+            tween2.Duration = 0.5f;
+        };
+
+        tween.OnBackwardStart += () =>
+        {
+            tween2.Duration = 0.25f;
+        };
+
+        tween.OnBackwardFinish += () =>
+        {
+            ManaReso.Get("M_Achieve0").TweenBacVec();
+        };
+
+        tween = ManaReso.Get("M_Achieve0").CreateTweenVec2D(ManaReso.Get("M_PosTra").position, 0.5f, false, false, true, Curve.EaseOutQuad);
+
+        tween.OnForwardStart += () =>
+        {
+            ManaReso.Get("C_Main").TweenBacCG();
+
+            ManaReso.SetActive("M_Achieve", true);
+
+            ManaData.MainDepth++;
+        };
+
+        tween.OnForwardFinish += () =>
+        {
+            ManaReso.Get("M_Achieve").TweenForGra();
+        };
+
+        tween.OnBackwardStart += () =>
+        {
+            ManaData.MainDepth--;
+        };
+
+        tween.OnBackwardFinish += () =>
+        {
+            ManaReso.Get("C_Main").TweenForCG();
+
+            ManaReso.SetActive("M_Achieve", false);
+            ManaReso.SetActive("M_Achieve0", false);
+        };
+
+        #endregion
     }
 }

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

@@ -16,7 +16,7 @@ public class Drop : ObjRoot,IPointerClickHandler
 
     protected virtual void Awake()
     {
-        Tween tween = transform.CreateTweenSr(new Color(1, 1, 1, 1), new Color(1, 1, 1, 0), 0.25f, false, true, false, Curve.EaseOutQuad);
+        Tween tween = transform.CreateTweenSr(new Color(1, 1, 1, 1), new Color(1, 1, 1, 0), 0.25f, true, false, Curve.EaseOutQuad);
         transform.CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(1.2f, 1.2f, 1.2f), 0.25f, true, false, Curve.EaseOutQuad);
 
         tween.OnForwardFinish += () =>

+ 46 - 20
Assets/Script/Object/Flower.cs

@@ -129,26 +129,20 @@ public class FlowerInfo
         newSize.y *= 0.2f;
         Image.rectTransform.sizeDelta = newSize;
 
-        if (Initializer.Tutorial)
-        {
-            Button.onClick.AddListener
-            (
-                () =>
+        Button.onClick.AddListener
+        (
+            () =>
+            {
+                if (Initializer.Tutorial)
                 {
                     TutorialClick();
                 }
-            );
-        }
-        else
-        {
-            Button.onClick.AddListener
-            (
-                () =>
+                else
                 {
                     RegularClick();
                 }
-            );
-        }
+            }
+        );
     }
 
 
@@ -156,7 +150,7 @@ public class FlowerInfo
     {
         ManaGarden.PlantFlower(this);
 
-        Tutorial.HightDisable(ItemTra, false);
+        Tutorial.HightDisable(0, false);
 
         Tutorial.HightScreen(ManaReso.Get("G_CloseArrow"), ManaReso.Get("G_Close"));
     }
@@ -261,21 +255,21 @@ public class Flower : ObjRoot, IPointerClickHandler
         OperateIcon = ChildDic["OperateIcon"].GetComponent<SpriteRenderer>();
         OperateOutline = ChildDic["OperateOutline"].GetComponent<SpriteRenderer>();
         
-        Tween tween = FlowerIcon.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, false, true, true, Curve.EaseOutQuad);
+        Tween tween = FlowerIcon.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, true, true, Curve.EaseOutQuad);
 
         tween.OnForwardFinish += () =>
         {
             FlowerIcon.TweenBacSr();
         };
 
-        tween = OperateIcon.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, false, true, true, Curve.EaseOutQuad);
+        tween = OperateIcon.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, true, true, Curve.EaseOutQuad);
 
         tween.OnForwardFinish += () =>
         {
             OperateIcon.TweenBacSr();
         };
 
-        tween = OperateBk.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, false, true, true, Curve.EaseOutQuad);
+        tween = OperateBk.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, true, true, Curve.EaseOutQuad);
 
         tween.OnForwardFinish += () =>
         {
@@ -366,6 +360,38 @@ public class Flower : ObjRoot, IPointerClickHandler
         }
     }
 
+    public void CreateOp(int sequence, OpType opType)
+    {
+        OpType = opType;
+        OperateBk.SetActive(true);
+
+        if (opType == OpType.Rip)
+        {
+            OperateIcon.sprite = ManaReso.Load<Sprite>("Rip", Folder.UI);
+        }
+        else if (opType == OpType.Water)
+        {
+            OperateIcon.sprite = ManaReso.Load<Sprite>("Water", Folder.UI);
+        }
+        else if (opType == OpType.Fertilize)
+        {
+            OperateIcon.sprite = ManaReso.Load<Sprite>("Fertilize", Folder.UI);
+        }
+
+        if (sequence == 0)
+        {
+            SetFirstOp();
+        }
+        else if (sequence == 1)
+        {
+            SetSecondOp();
+        }
+        else
+        {
+            SetThirdOp();
+        }
+    }
+
     public bool Operate(OpType opType)
     {
         if (opType != OpType) //错误的操作
@@ -424,8 +450,8 @@ public class Flower : ObjRoot, IPointerClickHandler
 
     public void ShowAward()
     {
-        GoldBk.CreateTweenSr(new Color(1, 1, 1, 0), new Color(1, 1, 1, 1), 1f, false, true, true, Curve.EaseOutQuad);
-        GoldIcon.CreateTweenSr(new Color(1, 1, 1, 0), new Color(1, 1, 1, 1), 1f, false, true, true, Curve.EaseOutQuad);
+        GoldBk.CreateTweenSr(new Color(1, 1, 1, 0), new Color(1, 1, 1, 1), 1f, true, true, Curve.EaseOutQuad);
+        GoldIcon.CreateTweenSr(new Color(1, 1, 1, 0), new Color(1, 1, 1, 1), 1f, true, true, Curve.EaseOutQuad);
 
         GoldBk.SetY(transform.position.y + 2.5f);
 

+ 78 - 47
Assets/Script/Object/Garden.cs

@@ -18,26 +18,27 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
     public static int ValidPage;
 
-    private static int Page;
-    private static bool Flag1;
-    private static bool Flag2;
-    private static float RatioBk2;
-    private static float RatioBk3;
-    private static float RatioBk4;
-    private static float RatioPlayer;
-    private static float SlideSpeed;
-    private static Direction Direction;
-    private static Transform Player;
-    private static Transform GardenA;
-    private static Transform GardenBk2;
-    private static Transform GardenBk3;
-    private static Transform GardenBk4;
-
-    private static List<Vector3> PlayerPos;
-    private static List<Vector3> GardenPosA;
-    private static List<Vector3> GardenPosBk2;
-    private static List<Vector3> GardenPosBk3;
-    private static List<Vector3> GardenPosBk4;
+    public static int Page;
+    public static bool Flag1;
+    public static bool Flag2;
+    public static float RatioBk2;
+    public static float RatioBk3;
+    public static float RatioBk4;
+    public static float RatioPlayer;
+    public static float SlideSpeed;
+    public static Garden Instance;
+    public static Direction Direction;
+    public static Transform Player;
+    public static Transform GardenA;
+    public static Transform GardenBk2;
+    public static Transform GardenBk3;
+    public static Transform GardenBk4;
+
+    public static List<Vector3> PlayerPos;
+    public static List<Vector3> GardenPosA;
+    public static List<Vector3> GardenPosBk2;
+    public static List<Vector3> GardenPosBk3;
+    public static List<Vector3> GardenPosBk4;
 
     #endregion
 
@@ -45,6 +46,7 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
     {
         Flag1 = true;
         Flag2 = true;
+        Instance = this;
 
         Page = 0;
         SlideSpeed = 0.1f;
@@ -182,6 +184,62 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
     public override void RegistReference()
     {
+        if (Initializer.Tutorial)
+        {
+            TutorialRegistReference();
+        }
+        else
+        {
+            RegularRegistReference();
+        }
+    }
+
+
+    public override void TutorialToRegular()
+    {
+        Player = ManaReso.Get("Player");
+        PlayerPos = new List<Vector3>()
+        {
+            global::Player.ChildDic["PlayerTra1"].position,
+            global::Player.ChildDic["PlayerTra2"].position,
+        };
+    }
+
+    private void TutorialRegistReference()
+    {
+        GardenBk2 = ManaReso.Get("GardenBk2");
+        GardenBk3 = ManaReso.Get("GardenBk3");
+        GardenBk4 = ManaReso.Get("GardenBk4");
+
+        GardenA = ManaReso.Get("GardenA");
+
+        GardenPosBk2 = new List<Vector3>()
+        {
+            ManaReso.Get("PageTra21").position,
+            ManaReso.Get("PageTra22").position,
+        };
+
+        GardenPosBk3 = new List<Vector3>()
+        {
+            ManaReso.Get("PageTra31").position,
+            ManaReso.Get("PageTra32").position,
+        };
+
+        GardenPosBk4 = new List<Vector3>()
+        {
+            ManaReso.Get("PageTra41").position,
+            ManaReso.Get("PageTra42").position,
+        };
+
+        GardenPosA = new List<Vector3>()
+        {
+            ManaReso.Get("PageTraA").position,
+            ManaReso.Get("PageTraB").position,
+        };
+    }
+
+    private void RegularRegistReference()
+    {
         GardenBk2 = ManaReso.Get("GardenBk2");
         GardenBk3 = ManaReso.Get("GardenBk3");
         GardenBk4 = ManaReso.Get("GardenBk4");
@@ -356,33 +414,6 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
     public void OnPointerClick(PointerEventData eventData)
     {
-        if (Initializer.Tutorial)
-        {
-            TutorialClick(eventData);
-        }
-        else
-        {
-            RegularClick(eventData);
-        }
-    }
-
-
-    private void TutorialClick(PointerEventData eventData)
-    {
-        if (!eventData.hovered.Contains(eventData.rawPointerPress))
-        {
-            return;
-        }
-
-        if (eventData.rawPointerPress.transform.name.Contains("Slot"))
-        {
-            ManaTutorial.EndStep4();
-            ManaTutorial.PrepareStep5();
-        }
-    }
-
-    private void RegularClick(PointerEventData eventData)
-    {
         if (!eventData.hovered.Contains(eventData.rawPointerPress))
         {
             return;

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

@@ -460,15 +460,16 @@ public class Ability : SkillRoot
             ManaReso.SetText("Fe_Lab1", Description(1));
             ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
 
-            ManaReso.SetButtonEvent
+            ManaReso.AddButtonEventOnetime
             (
                 "Fe_Btn",
                 () =>
                 {
                     Upgrade();
 
+                    ManaReso.Get("Fe_Info").TweenBacCG();
+
                     ManaTutorial.EndStep7();
-                    ManaTutorial.PrepareStep8();
                 }
             );
         }

+ 72 - 70
Assets/Script/Object/Skill/BigSkill.cs

@@ -119,6 +119,13 @@ public class BigSkill : Skill
 
         BarStatus = SkillStatus.Cool;
 
+        AnnulConti();
+
+        ManaDebug.Log(string.Format("技能结束 <color=red>{0}</color>", Name));
+    }
+
+    public override void AnnulConti()
+    {
         ManaData.SkillPlus -= NewPlus;
         ManaData.SkillPerson -= NewPerson;
         ManaData.SkillPersonBuff -= NewPersonBuff;
@@ -139,8 +146,6 @@ public class BigSkill : Skill
                 ManaData.SkillList[i].ReceiveCool(-NewSkillCdBuff, true, true);
             }
         }
-
-        ManaDebug.Log(string.Format("技能结束 <color=red>{0}</color>", Name));
     }
 
     public override bool DoUse()
@@ -392,7 +397,7 @@ public class BigSkill : Skill
 
             if (BarStatus == SkillStatus.Use)
             {
-                Annul();
+                AnnulConti();
             }
 
             NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
@@ -412,7 +417,7 @@ public class BigSkill : Skill
             ItemLab.text = Description(0);
             ManaReso.SetText("Fe_Lab0", Description(0));
             ManaReso.SetText("Fe_Lab1", Description(1));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), UpgradeCur, NewUpgradeAmt));
+            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
 
             ManaDebug.Log(string.Format("<color=red>{0}</color> 升级 : {1}", Name, Level));
 
@@ -452,91 +457,88 @@ public class BigSkill : Skill
     {
         ManaTutorial.EndStep9();
 
-        if (ManaData.Pay(UseAmt, BuyCur))
-        {
-            ManaData.Skill++;
+        ManaData.Skill++;
 
-            UseTimer = NewDuration;
+        UseTimer = NewDuration;
 
-            ManaData.UseList.Add(this);
+        ManaData.UseList.Add(this);
 
-            if (Math.Abs(Duration) < 0.0005f)
-            {
-                BarStatus = SkillStatus.Cool;
-            }
-            else
-            {
-                BarStatus = SkillStatus.Use;
-                BarLab.color = Color.blue;
-            }
+        if (Math.Abs(Duration) < 0.0005f)
+        {
+            BarStatus = SkillStatus.Cool;
+        }
+        else
+        {
+            BarStatus = SkillStatus.Use;
+            BarLab.color = Color.blue;
+        }
 
-            UseConti();
-            UseImmed();
+        UseConti();
+        UseImmed();
 
-            #region 调试输出
+        #region 调试输出
 
-            StringBuilder strb = new StringBuilder();
+        StringBuilder strb = new StringBuilder();
 
-            strb.AppendFormat("使用技能 : <color=red>{0}</color>", Name);
+        strb.AppendFormat("使用技能 : <color=red>{0}</color>", Name);
 
-            if (Math.Abs(NewPlus) > 0.0005f)
-            {
-                strb.AppendFormat(" 收入加成<color=red>+{0}%</color>", NewPlus * 100);
-            }
+        if (Math.Abs(NewPlus) > 0.0005f)
+        {
+            strb.AppendFormat(" 收入加成<color=red>+{0}%</color>", NewPlus*100);
+        }
 
-            if (Math.Abs(NewPerson) > 0.0005f)
-            {
-                strb.AppendFormat(" 参观人次<color=red>+{0}</color>", NewPerson);
-            }
+        if (Math.Abs(NewPerson) > 0.0005f)
+        {
+            strb.AppendFormat(" 参观人次<color=red>+{0}</color>", NewPerson);
+        }
 
-            if (Math.Abs(NewPersonBuff) > 0.0005f)
-            {
-                strb.AppendFormat(" 参观人次<color=red>+{0}%</color>", NewPersonBuff * 100);
-            }
+        if (Math.Abs(NewPersonBuff) > 0.0005f)
+        {
+            strb.AppendFormat(" 参观人次<color=red>+{0}%</color>", NewPersonBuff*100);
+        }
 
-            if (Math.Abs(NewCoinPerson) > 0.0005f)
-            {
-                strb.AppendFormat(" 每次金币<color=red>+{0}</color>", NewCoinPerson);
-            }
+        if (Math.Abs(NewCoinPerson) > 0.0005f)
+        {
+            strb.AppendFormat(" 每次金币<color=red>+{0}</color>", NewCoinPerson);
+        }
 
-            if (Math.Abs(NewSkillCD) > 0.0005f)
-            {
-                strb.AppendFormat(" 减少冷却<color=red>{0}</color>", NewSkillCD);
-            }
+        if (Math.Abs(NewSkillCD) > 0.0005f)
+        {
+            strb.AppendFormat(" 减少冷却<color=red>{0}</color>", NewSkillCD);
+        }
 
-            if (Math.Abs(NewSkillCdBuff) > 0.0005f)
-            {
-                strb.AppendFormat(" 减少冷却<color=red>{0}%</color>", NewSkillCdBuff * 100);
-            }
+        if (Math.Abs(NewSkillCdBuff) > 0.0005f)
+        {
+            strb.AppendFormat(" 减少冷却<color=red>{0}%</color>", NewSkillCdBuff*100);
+        }
 
-            if (Math.Abs(NewCoinOnce) > 0.0005f)
-            {
-                strb.AppendFormat(" 获得金币<color=red>{0}</color>", NewCoinOnce);
-            }
+        if (Math.Abs(NewCoinOnce) > 0.0005f)
+        {
+            strb.AppendFormat(" 获得金币<color=red>{0}</color>", NewCoinOnce);
+        }
 
-            if (Math.Abs(NewCoinOnceBuff) > 0.0005f)
-            {
-                strb.AppendFormat(" 获得金币<color=red>{0}</color>", ManaData.Person * ManaData.CoinPerson * ManaData.CircleTime * NewCoinOnceBuff);
-            }
+        if (Math.Abs(NewCoinOnceBuff) > 0.0005f)
+        {
+            strb.AppendFormat(" 获得金币<color=red>{0}</color>", ManaData.Person*ManaData.CoinPerson*ManaData.CircleTime*NewCoinOnceBuff);
+        }
 
-            if (Math.Abs(DiamondOnce) > 0.0005f)
-            {
-                strb.AppendFormat(" 获得钻石<color=red>{0}</color>", DiamondOnce);
-            }
+        if (Math.Abs(DiamondOnce) > 0.0005f)
+        {
+            strb.AppendFormat(" 获得钻石<color=red>{0}</color>", DiamondOnce);
+        }
 
-            if (Math.Abs(NewDuration) > 0.0005f)
-            {
-                strb.AppendFormat(" 持续时间<color=red>{0}</color>秒", NewDuration);
-            }
-            else
-            {
-                strb.Append(" <color=red>永久有效</color>");
-            }
+        if (Math.Abs(NewDuration) > 0.0005f)
+        {
+            strb.AppendFormat(" 持续时间<color=red>{0}</color>秒", NewDuration);
+        }
+        else
+        {
+            strb.Append(" <color=red>永久有效</color>");
+        }
 
-            ManaDebug.Log(strb.ToString());
+        ManaDebug.Log(strb.ToString());
 
-            #endregion
-        }
+        #endregion
     }
 
     private void RegularBuy()

+ 14 - 8
Assets/Script/Object/Skill/Skill.cs

@@ -194,6 +194,13 @@ public class Skill : SkillRoot
         ItemStatus = SkillStatus.Cool;
         ItemBtnLab.color = Color.white;
 
+        AnnulConti();
+
+        ManaDebug.Log(string.Format("技能结束 <color=red>{0}</color>", Name));
+    }
+
+    public virtual void AnnulConti()
+    {
         ManaData.SkillPlus -= NewPlus;
         ManaData.SkillPerson -= NewPerson;
         ManaData.SkillPersonBuff -= NewPersonBuff;
@@ -214,8 +221,6 @@ public class Skill : SkillRoot
                 ManaData.SkillList[i].ReceiveCool(-NewSkillCdBuff, true, true);
             }
         }
-
-        ManaDebug.Log(string.Format("技能结束 <color=red>{0}</color>", Name));
     }
 
     public override bool DoUse()
@@ -549,7 +554,7 @@ public class Skill : SkillRoot
             ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
         }
     }
-
+    
 
     private void TutorialClick()
     {
@@ -623,8 +628,9 @@ public class Skill : SkillRoot
                 {
                     Upgrade();
 
+                    ManaReso.Get("Fe_Info").TweenBacCG();
+
                     ManaTutorial.EndStep8();
-                    ManaTutorial.PrepareStep9();
                 }
             );
         }
@@ -733,7 +739,7 @@ public class Skill : SkillRoot
 
         if (ItemStatus == SkillStatus.Use)
         {
-            Annul();
+            AnnulConti();
         }
 
         NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
@@ -752,7 +758,7 @@ public class Skill : SkillRoot
         ItemLab.text = Description(0);
         ManaReso.SetText("Fe_Lab0", Description(0));
         ManaReso.SetText("Fe_Lab1", Description(1));
-        ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), UpgradeCur, NewUpgradeAmt));
+        ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
 
         ManaDebug.Log(string.Format("<color=red>{0}</color>升级 : {1}", Name, Level));
 
@@ -770,7 +776,7 @@ public class Skill : SkillRoot
 
             if (ItemStatus == SkillStatus.Use)
             {
-                Annul();
+                AnnulConti();
             }
 
             NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
@@ -789,7 +795,7 @@ public class Skill : SkillRoot
             ItemLab.text = Description(0);
             ManaReso.SetText("Fe_Lab0", Description(0));
             ManaReso.SetText("Fe_Lab1", Description(1));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), UpgradeCur, NewUpgradeAmt));
+            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
 
             ManaDebug.Log(string.Format("<color=red>{0}</color>升级 : {1}", Name, Level));
 

+ 80 - 42
Assets/Script/Object/Tutorial.cs

@@ -46,31 +46,46 @@ public class Tutorial : Regist, IPointerClickHandler
     public static Transform PlayerBlond;
     public static Transform PlayerBrown;
 
-    public static List<Canvas> HighLightList = new List<Canvas>();
+    public static List<Transform> HighLightList = new List<Transform>();
 
     #endregion
 
-    public override void TutorialInstantiate()
+    public override void Instantiate()
     {
-        PlayerBrown = ManaReso.Get("PlayerBrown", Folder.Character, false, ManaReso.Get("PlayerBk1"), ManaReso.Get("PlayerBk1").position);
+        if (ManaTutorial.TutorialIndex == 1)
+        {
+            PlayerBrown = ManaReso.Get("PlayerBrown", Folder.Character, false, ManaReso.Get("PlayerBk1"), ManaReso.Get("PlayerBk1").position);
 
-        PlayerBlond = ManaReso.Get("PlayerBlond", Folder.Character, false, ManaReso.Get("PlayerBk2"), ManaReso.Get("PlayerBk2").position);
+            PlayerBlond = ManaReso.Get("PlayerBlond", Folder.Character, false, ManaReso.Get("PlayerBk2"), ManaReso.Get("PlayerBk2").position);
 
-        PlayerPink = ManaReso.Get("PlayerPink", Folder.Character, false, ManaReso.Get("PlayerBk3"), ManaReso.Get("PlayerBk3").position);
+            PlayerPink = ManaReso.Get("PlayerPink", Folder.Character, false, ManaReso.Get("PlayerBk3"), ManaReso.Get("PlayerBk3").position);
+        }
     }
 
-    public override void TutorialRegistValue()
+    public override void RegistValueA()
     {
-        ManaReso.Get("Tutorial").CreateTweenSr(0, 1, 5f, true, true, true, Curve.EaseOutQuad);
-        ManaReso.Get("PlayerBk1").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad);
-        ManaReso.Get("PlayerBk2").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad);
-        ManaReso.Get("PlayerBk3").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad);
-        ManaReso.Get("TutorialMask").CreateTweenSr(0, 180/255f, 0.25f, false, false, true, Curve.EaseOutQuad);
-
-        ManaReso.Get("TutorialMask").AddComponent<SceneMask>().Regist();
-
-        Arrow = ManaReso.Get("N_Arrow");
-        Material = ManaReso.Get<Image>("N_Mask").material;
+        if (Initializer.Tutorial)
+        {
+            ManaReso.Get("Tutorial").CreateTweenSr(0, 1, 5f, true, true, Curve.EaseOutQuad, false, true);
+            ManaReso.Get("PlayerBk1").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad);
+            ManaReso.Get("PlayerBk2").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad);
+            ManaReso.Get("PlayerBk3").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad);
+            ManaReso.Get("TutorialMask").CreateTweenSr(0, 180 / 255f, 0.25f, false, true, Curve.EaseOutQuad);
+
+            ManaReso.Get("TutorialMask").AddComponent<SceneMask>().Regist();
+            
+            Arrow = ManaReso.Get("N_Arrow");
+            Material = ManaReso.Get<Image>("N_Mask").material;
+
+            if (ManaTutorial.TutorialIndex == 1)
+            {
+                ManaReso.SetActive("PlayerBk1", true);
+                ManaReso.SetActive("PlayerBk2", true);
+                ManaReso.SetActive("PlayerBk3", true);
+                ManaReso.SetActive("TutorialMask", true);
+                ManaReso.SetActive("TutorialCollider", true);
+            }
+        }
     }
 
 
@@ -79,6 +94,8 @@ public class Tutorial : Regist, IPointerClickHandler
         SceneMask.SetArea(targetTra, radiusX, radiusY);
 
         PointScene(Camera.main.WorldToScreenPoint(posTra.position), targetTra);
+
+        Arrow.TweenForCG();
     }
 
     public static void HightScene(float radiusX, float radiusY, Transform posTra, Transform targetPos, Transform targetTra)
@@ -86,51 +103,72 @@ public class Tutorial : Regist, IPointerClickHandler
         SceneMask.SetArea(targetTra, radiusX, radiusY);
 
         PointScene(Camera.main.WorldToScreenPoint(posTra.position), targetPos);
+
+        Arrow.TweenForCG();
     }
 
     public static void HightScreen(Transform posTra, Transform targetTra)
     {
-        targetTra.GetComponent<Canvas>().overrideSorting = true;
-        targetTra.GetComponent<GraphicRaycaster>().enabled = true;
+        targetTra.AddComponent<GraphicRaycaster>();
+
+        Canvas canvas = targetTra.GetComponent<Canvas>();
+        canvas.overrideSorting = true;
+        canvas.sortingOrder = 1;
 
         PointScreen(posTra.position, targetTra);
 
-        HighLightList.Add(targetTra.GetComponent<Canvas>());
+        HighLightList.Add(targetTra);
+
+        UIMask = true;
+
+        Arrow.TweenForCG();
+
+        ManaReso.Get("N_Mask").TweenConForGra();
+
+        HighLightList.Add(targetTra);
     }
 
     public static void HightScreen(Transform posTra, Transform targetPos, Transform targetTra)
     {
-        targetTra.GetComponent<Canvas>().overrideSorting = true;
-        targetTra.GetComponent<GraphicRaycaster>().enabled = true;
+        targetTra.AddComponent<GraphicRaycaster>();
+
+        Canvas canvas = targetTra.GetComponent<Canvas>();
+        canvas.overrideSorting = true;
+        canvas.sortingOrder = 1;
 
         PointScreen(posTra.position, targetPos);
 
-        HighLightList.Add(targetTra.GetComponent<Canvas>());
+        UIMask = true;
+
+        Arrow.TweenForCG();
+
+        ManaReso.Get("N_Mask").TweenConForGra();
+
+        HighLightList.Add(targetTra);
     }
 
     public static void HightDisable()
     {
-        Arrow.SetActive(false);
-
-        SceneMask.ClearArea();
-
         for (int i = 0; i < HighLightList.Count; i++)
         {
-            HighLightList[i].overrideSorting = false;
-            HighLightList[i].GetComponent<GraphicRaycaster>().enabled = false;
+            Destroy(HighLightList[i].GetComponent<GraphicRaycaster>());
+            Destroy(HighLightList[i].GetComponent<Canvas>());
         }
 
-        HighLightList = new List<Canvas>();
+        HighLightList = new List<Transform>();
 
-        UIMask = false;
         ManaReso.Get("N_Mask").TweenConBacGra();
         ManaReso.Get("N_Arrow").TweenConBacCG();
+
+        SceneMask.ClearArea();
+
+        UIMask = false;
     }
 
     public static void HightDisable(int index, bool hideArrow)
     {
-        HighLightList[index].GetComponent<Canvas>().overrideSorting = false;
-        HighLightList[index].GetComponent<GraphicRaycaster>().enabled = false;
+        Destroy(HighLightList[index].GetComponent<GraphicRaycaster>());
+        Destroy(HighLightList[index].GetComponent<Canvas>());
 
         HighLightList.RemoveAt(index);
 
@@ -142,10 +180,10 @@ public class Tutorial : Regist, IPointerClickHandler
 
     public static void HightDisable(Transform tra, bool hideArrow)
     {
-        tra.GetComponent<Canvas>().overrideSorting = false;
-        tra.GetComponent<GraphicRaycaster>().enabled = false;
+        Destroy(tra.GetComponent<GraphicRaycaster>());
+        Destroy(tra.GetComponent<Canvas>());
 
-        HighLightList.Remove(tra.GetComponent<Canvas>());
+        HighLightList.Remove(tra);
 
         if (hideArrow)
         {
@@ -160,19 +198,12 @@ public class Tutorial : Regist, IPointerClickHandler
 
         Arrow.position = pos;
         Arrow.right = pointPos - Arrow.position;
-
-        Arrow.TweenForCG();
     }
 
     private static void PointScreen(Vector3 pos, Transform tra)
     {
         Arrow.position = pos;
         Arrow.right = tra.position - Arrow.position;
-
-        Arrow.TweenForCG();
-
-        UIMask = true;
-        ManaReso.Get("N_Mask").TweenConForGra();
     }
 
 
@@ -205,5 +236,12 @@ public class Tutorial : Regist, IPointerClickHandler
             Player = PlayerPink;
             SelectPlayer = "PlayerPink";
         }
+        else if (eventData.rawPointerPress.name == "TutorialCollider")
+        {
+            if (ManaTutorial.TutorialIndex == 4)
+            {
+                ManaTutorial.EndStep4();
+            }
+        }
     }
 }

+ 91 - 1
Assets/Script/Tool/Anim/Tween.cs

@@ -21,13 +21,16 @@ public abstract class Tween
     protected bool _InOrigin;
     protected bool _InDestination;
 
+    public bool CG;
     public bool InForward;
     public bool InBackward;
+    public Component Component;
     public UnityAction OnForwardStart;
     public UnityAction OnForwardFinish;
     public UnityAction OnBackwardStart;
     public UnityAction OnBackwardFinish;
-
+    public CanvasGroup CanvasGroup;
+    
     public float Duration;
 
     protected float Timer;
@@ -38,6 +41,18 @@ public abstract class Tween
     public abstract bool DoBackward();
 
 
+    protected Tween(bool cg, Component comp)
+    {
+        CG = cg;
+        Component = comp;
+
+        if (cg)
+        {
+            CanvasGroup = comp.GetComponent<CanvasGroup>();
+        }
+    }
+
+
     public void ConfineForward()
     {
         if (InOrigin)
@@ -58,12 +73,19 @@ public abstract class Tween
     public virtual void StartForward()
     {
         InForward = true;
+        
+        Component.SetActive(true);
 
         if (OnForwardStart != null)
         {
             OnForwardStart.Invoke();
         }
 
+        if (CG)
+        {
+            CanvasGroup.interactable = false;
+        }
+
         ManaAnim.TweenForList.Add(this);
         ManaAnim.TweenBacList.Remove(this);
     }
@@ -72,16 +94,44 @@ public abstract class Tween
     {
         InBackward = true;
 
+        Component.SetActive(true);
+
         if (OnBackwardStart != null)
         {
             OnBackwardStart.Invoke();
         }
 
+        if (CG)
+        {
+            CanvasGroup.interactable = false;
+        }
+
         ManaAnim.TweenForList.Remove(this);
         ManaAnim.TweenBacList.Add(this);
     }
 
 
+    protected void FinishForward()
+    {
+        Component.SetActive(DestActive);
+
+        if (CG)
+        {
+            CanvasGroup.interactable = DestActive;
+        }
+    }
+
+    protected void FinishBackward()
+    {
+        Component.SetActive(OriginActive);
+
+        if (CG)
+        {
+            CanvasGroup.interactable = OriginActive;
+        }
+    }
+
+
     public void PushEvent(EventType type, UnityAction action)
     {
         if (type == EventType.ForwardStart)
@@ -141,4 +191,44 @@ public abstract class Tween
             OnBackwardFinish += action;
         }
     }
+
+    public void PushEventOnetime(EventType type, UnityAction action)
+    {
+        if (type == EventType.ForwardStart)
+        {
+            action += () =>
+            {
+                OnForwardStart -= action;
+            };
+
+            OnForwardStart = action + OnForwardStart;
+        }
+        else if (type == EventType.ForwardFinish)
+        {
+            action += () =>
+            {
+                OnForwardFinish -= action;
+            };
+
+            OnForwardFinish = action + OnForwardFinish;
+        }
+        else if (type == EventType.BackwardStart)
+        {
+            action += () =>
+            {
+                OnBackwardStart -= action;
+            };
+
+            OnBackwardStart = action + OnBackwardStart;
+        }
+        else if (type == EventType.BackwardFinish)
+        {
+            action += () =>
+            {
+                OnBackwardFinish -= action;
+            };
+
+            OnBackwardFinish = action + OnBackwardFinish;
+        }
+    }
 }

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

@@ -29,6 +29,8 @@ public class TweenAudio : Tween
             if (_InOrigin)
             {
                 Target.volume = Origin;
+
+                FinishBackward();
             }
         }
     }
@@ -55,6 +57,8 @@ public class TweenAudio : Tween
             if (_InDestination)
             {
                 Target.volume = Destination;
+
+                FinishForward();
             }
         }
     }
@@ -67,7 +71,7 @@ public class TweenAudio : Tween
 
     #endregion
 
-    public TweenAudio(AudioSource target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public TweenAudio(AudioSource target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false) : base(cg, target)
     {
         Func = ManaAnim.CurveFuncDicF[curve];
         Target = target;
@@ -79,6 +83,8 @@ public class TweenAudio : Tween
         Origin = origin;
         Duration = duration;
         Destination = destination;
+        DestActive = destActive;
+        OriginActive = originActive;
     }
 
 
@@ -116,6 +122,8 @@ public class TweenAudio : Tween
 
         if (Timer > Duration)
         {
+            FinishForward();
+
             Timer = 0;
 
             InForward = false;
@@ -144,6 +152,8 @@ public class TweenAudio : Tween
 
         if (Timer > Duration)
         {
+            FinishBackward();
+
             Timer = 0;
 
             InBackward = false;

+ 9 - 11
Assets/Script/Tool/Anim/TweenCG.cs

@@ -29,8 +29,8 @@ public class TweenCG : Tween
             if (_InOrigin)
             {
                 Target.alpha = Origin;
-                Target.SetActive(OriginActive);
-                Target.interactable = OriginActive;
+
+                FinishBackward();
             }
         }
     }
@@ -57,8 +57,8 @@ public class TweenCG : Tween
             if (_InDestination)
             {
                 Target.alpha = Destination;
-                Target.SetActive(DestActive);
-                Target.interactable = DestActive;
+
+                FinishForward();
             }
         }
     }
@@ -71,7 +71,7 @@ public class TweenCG : Tween
 
     #endregion
 
-    public TweenCG(CanvasGroup target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public TweenCG(CanvasGroup target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve) : base(true, target)
     {
         Func = ManaAnim.CurveFuncDicF[curve];
         Target = target;
@@ -91,9 +91,6 @@ public class TweenCG : Tween
     {
         base.StartForward();
 
-        Target.SetActive(true);
-        Target.interactable = false;
-
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -108,9 +105,6 @@ public class TweenCG : Tween
     {
         base.StartBackward();
 
-        Target.SetActive(true);
-        Target.interactable = false;
-
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -127,6 +121,8 @@ public class TweenCG : Tween
 
         if (Timer > Duration)
         {
+            FinishForward();
+
             Timer = 0;
 
             InForward = false;
@@ -155,6 +151,8 @@ public class TweenCG : Tween
 
         if (Timer > Duration)
         {
+            FinishBackward();
+
             Timer = 0;
 
             InBackward = false;

+ 9 - 7
Assets/Script/Tool/Anim/TweenGra.cs

@@ -30,7 +30,8 @@ public class TweenGra : Tween
             if (_InOrigin)
             {
                 Target.color = Origin;
-                Target.SetActive(OriginActive);
+
+                FinishBackward();
             }
         }
     }
@@ -57,7 +58,8 @@ public class TweenGra : Tween
             if (_InDestination)
             {
                 Target.color = Destination;
-                Target.SetActive(DestActive);
+
+                FinishForward();
             }
         }
     }
@@ -70,7 +72,7 @@ public class TweenGra : Tween
     
     #endregion
 
-    public TweenGra(Graphic target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
+    public TweenGra(Graphic target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false) : base(cg, target)
     {
         Func = ManaAnim.CurveFuncDicC[curve];
         Target = target;
@@ -90,8 +92,6 @@ public class TweenGra : Tween
     {
         base.StartForward();
 
-        Target.SetActive(true);
-
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -106,8 +106,6 @@ public class TweenGra : Tween
     {
         base.StartBackward();
 
-        Target.SetActive(true);
-
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -124,6 +122,8 @@ public class TweenGra : Tween
 
         if (Timer > Duration)
         {
+            FinishForward();
+
             Timer = 0;
 
             InForward = false;
@@ -152,6 +152,8 @@ public class TweenGra : Tween
 
         if (Timer > Duration)
         {
+            FinishBackward();
+
             Timer = 0;
 
             InBackward = false;

+ 11 - 14
Assets/Script/Tool/Anim/TweenNumber.cs

@@ -31,7 +31,8 @@ public class TweenNumber : Tween
             if (_InOrigin)
             {
                 Target.text = Origin.ToString();
-                Target.SetActive(OriginActive);
+
+                FinishBackward();
             }
         }
     }
@@ -59,7 +60,7 @@ public class TweenNumber : Tween
             {
                 Target.text = Destination.ToString();
 
-                Target.SetActive(DestActive);
+                FinishForward();
             }
         }
     }
@@ -73,7 +74,7 @@ public class TweenNumber : Tween
 
     #endregion
 
-    public TweenNumber(Text target, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve)
+    public TweenNumber(Text target, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg=false) : base(cg,target)
     {
         Func = ManaAnim.CurveFuncDicF[curve];
         Target = target;
@@ -83,15 +84,7 @@ public class TweenNumber : Tween
 
         Delta = destination - origin;
         Origin = origin;
-
-        if (origin == destination)
-        {
-            Duration = 0;
-        }
-        else
-        {
-            Duration = duration;
-        }
+        Duration = duration;
 
         DestActive = destActive;
         Destination = destination;
@@ -101,7 +94,7 @@ public class TweenNumber : Tween
     public override void StartForward()
     {
         base.StartForward();
-        Target.SetActive(true);
+
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -115,7 +108,7 @@ public class TweenNumber : Tween
     public override void StartBackward()
     {
         base.StartBackward();
-        Target.SetActive(true);
+
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -132,6 +125,8 @@ public class TweenNumber : Tween
 
         if (Timer > Duration)
         {
+            FinishForward();
+
             Timer = 0;
 
             InForward = false;
@@ -160,6 +155,8 @@ public class TweenNumber : Tween
 
         if (Timer > Duration)
         {
+            FinishBackward();
+
             Timer = 0;
 
             InBackward = false;

+ 7 - 24
Assets/Script/Tool/Anim/TweenRect.cs

@@ -29,12 +29,7 @@ public class TweenRect : Tween
             {
                 Target.sizeDelta = Origin;
 
-                Target.SetActive(OriginActive);
-
-                if (CG != null)
-                {
-                    CG.interactable = OriginActive;
-                }
+                FinishBackward();
             }
         }
     }
@@ -62,12 +57,7 @@ public class TweenRect : Tween
             {
                 Target.sizeDelta = Destination;
 
-                Target.SetActive(DestActive);
-
-                if (CG != null)
-                {
-                    CG.interactable = DestActive;
-                }
+                FinishForward();
             }
         }
     }
@@ -75,13 +65,12 @@ public class TweenRect : Tween
     protected Vector2 Delta;
     protected Vector2 Origin;
     protected Vector2 Destination;
-    protected CanvasGroup CG;
     protected RectTransform Target;
     protected CurveFunctionV Func;
 
     #endregion
 
-    public TweenRect(RectTransform target, Vector2 origin, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve)
+    public TweenRect(RectTransform target, Vector2 origin, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve,bool cg=false) : base(cg,target)
     {
         CG = target.GetComponent<CanvasGroup>();
         Func = ManaAnim.CurveFuncDicV[curve];
@@ -101,12 +90,7 @@ public class TweenRect : Tween
     public override void StartForward()
     {
         base.StartForward();
-        Target.SetActive(true);
 
-        if (CG != null)
-        {
-            CG.interactable = false;
-        }
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -120,12 +104,7 @@ public class TweenRect : Tween
     public override void StartBackward()
     {
         base.StartBackward();
-        Target.SetActive(true);
 
-        if (CG != null)
-        {
-            CG.interactable = false;
-        }
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -142,6 +121,8 @@ public class TweenRect : Tween
 
         if (Timer > Duration)
         {
+            FinishForward();
+
             Timer = 0;
 
             InForward = false;
@@ -170,6 +151,8 @@ public class TweenRect : Tween
 
         if (Timer > Duration)
         {
+            FinishBackward();
+
             Timer = 0;
 
             InBackward = false;

+ 7 - 34
Assets/Script/Tool/Anim/TweenScale.cs

@@ -30,12 +30,7 @@ public class TweenScale : Tween
             {
                 Target.localScale = Origin;
 
-                Target.SetActive(OriginActive);
-
-                if (CG != null)
-                {
-                    CG.interactable = OriginActive;
-                }
+                FinishBackward();
             }
         }
     }
@@ -63,12 +58,7 @@ public class TweenScale : Tween
             {
                 Target.localScale = Destination;
 
-                Target.SetActive(DestActive);
-
-                if (CG != null)
-                {
-                    CG.interactable = DestActive;
-                }
+                FinishForward();
             }
         }
     }
@@ -77,12 +67,11 @@ public class TweenScale : Tween
     public Vector3 Origin;
     public Vector3 Destination;
     public Transform Target;
-    public CanvasGroup CG;
     public CurveFunctionV Func;
 
     #endregion
 
-    public TweenScale(Transform target, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
+    public TweenScale(Transform target, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve,bool cg = false) : base(cg,target)
     {
         CG = target.GetComponent<CanvasGroup>();
         Func = ManaAnim.CurveFuncDicV[curve];
@@ -103,12 +92,7 @@ public class TweenScale : Tween
     public override void StartForward()
     {
         base.StartForward();
-        Target.SetActive(true);
 
-        if (CG != null)
-        {
-            CG.interactable = false;
-        }
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -122,12 +106,7 @@ public class TweenScale : Tween
     public override void StartBackward()
     {
         base.StartBackward();
-        Target.SetActive(true);
 
-        if (CG != null)
-        {
-            CG.interactable = false;
-        }
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -144,16 +123,13 @@ public class TweenScale : Tween
 
         if (Timer > Duration)
         {
+            FinishForward();
+
             Timer = 0;
 
             InForward = false;
             InDestination = true;
 
-            if (CG != null)
-            {
-                CG.interactable = DestActive;
-            }
-
             if (OnForwardFinish != null)
             {
                 OnForwardFinish.Invoke();
@@ -177,16 +153,13 @@ public class TweenScale : Tween
 
         if (Timer > Duration)
         {
+            FinishBackward();
+
             Timer = 0;
 
             InBackward = false;
             InOrigin = true;
 
-            if (CG != null)
-            {
-                CG.interactable = OriginActive;
-            }
-
             if (OnBackwardFinish != null)
             {
                 OnBackwardFinish.Invoke();

+ 9 - 5
Assets/Script/Tool/Anim/TweenSr.cs

@@ -37,7 +37,7 @@ public class TweenSr : Tween
                     }
                 }
 
-                Target.SetActive(OriginActive);
+                FinishBackward();
             }
         }
     }
@@ -73,7 +73,7 @@ public class TweenSr : Tween
                     }
                 }
 
-                Target.SetActive(DestActive);
+                FinishForward();
             }
         }
     }
@@ -88,7 +88,7 @@ public class TweenSr : Tween
 
     #endregion
 
-    public TweenSr(SpriteRenderer target, Color origin, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    public TweenSr(SpriteRenderer target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve,bool cg = false,bool group=false) : base(cg,target)
     {
         Func = ManaAnim.CurveFuncDicC[curve];
         Target = target;
@@ -108,7 +108,7 @@ public class TweenSr : Tween
     public override void StartForward()
     {
         base.StartForward();
-        Target.SetActive(true);
+
         if (Group)
         {
             Targets = Target.GetComponentsInChildren<SpriteRenderer>();
@@ -127,7 +127,7 @@ public class TweenSr : Tween
     public override void StartBackward()
     {
         base.StartBackward();
-        Target.SetActive(true);
+
         if (Group)
         {
             Targets = Target.GetComponentsInChildren<SpriteRenderer>();
@@ -150,6 +150,8 @@ public class TweenSr : Tween
 
         if (Timer > Duration)
         {
+            FinishForward();
+
             Timer = 0;
 
             InForward = false;
@@ -186,6 +188,8 @@ public class TweenSr : Tween
 
         if (Timer > Duration)
         {
+            FinishBackward();
+
             Timer = 0;
 
             InBackward = false;

+ 11 - 5
Assets/Script/Tool/Anim/TweenText.cs

@@ -30,7 +30,8 @@ public class TweenText : Tween
             if (_InOrigin)
             {
                 Target.fontSize = (int)Origin;
-                Target.SetActive(OriginActive);
+
+                FinishBackward();
             }
         }
     }
@@ -57,7 +58,8 @@ public class TweenText : Tween
             if (_InDestination)
             {
                 Target.fontSize = (int)Destination;
-                Target.SetActive(DestActive);
+
+                FinishForward();
             }
         }
     }
@@ -71,7 +73,7 @@ public class TweenText : Tween
 
     #endregion
 
-    public TweenText(Text target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public TweenText(Text target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false) : base(cg, target)
     {
         Func = ManaAnim.CurveFuncDicF[curve];
         Target = target;
@@ -90,7 +92,7 @@ public class TweenText : Tween
     public override void StartForward()
     {
         base.StartForward();
-        Target.SetActive(true);
+
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -104,7 +106,7 @@ public class TweenText : Tween
     public override void StartBackward()
     {
         base.StartBackward();
-        Target.SetActive(true);
+
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -121,6 +123,8 @@ public class TweenText : Tween
 
         if (Timer > Duration)
         {
+            FinishForward();
+
             Timer = 0;
 
             InForward = false;
@@ -149,6 +153,8 @@ public class TweenText : Tween
 
         if (Timer > Duration)
         {
+            FinishBackward();
+
             Timer = 0;
 
             InBackward = false;

+ 7 - 28
Assets/Script/Tool/Anim/TweenVec.cs

@@ -51,12 +51,7 @@ public class TweenVec : Tween
                     Target.position = Origin;
                 }
 
-                Target.SetActive(OriginActive);
-
-                if (CG != null)
-                {
-                    CG.interactable = OriginActive;
-                }
+                FinishBackward();
             }
         }
     }
@@ -105,12 +100,7 @@ public class TweenVec : Tween
                     Target.position = Destination;
                 }
 
-                Target.SetActive(DestActive);
-
-                if (CG != null)
-                {
-                    CG.interactable = DestActive;
-                }
+                FinishForward();
             }
         }
     }
@@ -120,12 +110,11 @@ public class TweenVec : Tween
     protected Vector3 Origin;
     protected Vector3 Destination;
     protected Transform Target;
-    protected CanvasGroup CG;
     protected CurveFunctionV Func;
 
     #endregion
 
-    public TweenVec(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
+    public TweenVec(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false) : base(cg,target)
     {
         CG = target.GetComponent<CanvasGroup>();
         Func = ManaAnim.CurveFuncDicV[curve];
@@ -148,13 +137,6 @@ public class TweenVec : Tween
     {
         base.StartForward();
 
-        Target.SetActive(true);
-
-        if (CG != null)
-        {
-            CG.interactable = false;
-        }
-
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -176,13 +158,6 @@ public class TweenVec : Tween
     {
         base.StartBackward();
 
-        Target.SetActive(true);
-
-        if (CG != null)
-        {
-            CG.interactable = false;
-        }
-
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -207,6 +182,8 @@ public class TweenVec : Tween
 
         if (Timer > Duration)
         {
+            FinishForward();
+
             Timer = 0;
 
             InForward = false;
@@ -242,6 +219,8 @@ public class TweenVec : Tween
 
         if (Timer > Duration)
         {
+            FinishBackward();
+
             Timer = 0;
 
             InBackward = false;

+ 82 - 0
Assets/Script/Tool/Anim/Zoom2D.cs

@@ -0,0 +1,82 @@
+using UnityEngine;
+
+using System.Collections;
+
+public class Zoom2D : Move
+{
+    #region 变量
+
+    public float Delta;
+    public float Timer;
+    public float Origin;
+    public float Duration;
+    public float Destination;
+    public Vector3 OriginVec;
+    public Camera Camera;
+    public Transform Target;
+    public CurveFunctionF Func;
+
+    #endregion
+
+    public Zoom2D(Camera camera)
+    {
+        Camera = camera;
+    }
+
+    public override bool Do()
+    {
+        Timer += Time.fixedDeltaTime;
+
+        if (Timer > Duration)
+        {
+            Timer = 0;
+
+            Camera.orthographicSize = Destination;
+
+            ManaAnim.MoveList.Remove(this);
+
+            return true;
+        }
+        else
+        {
+            Camera.orthographicSize = Func(Timer, Duration, Origin, Delta);
+
+            return false;
+        }
+    }
+
+    public void StartZoom(float origin, float destination, float duration, float stay, Transform target, Curve curve)
+    {
+        Origin = origin;
+        Target = target;
+        Duration = duration;
+        Destination = destination;
+
+        Func = ManaAnim.CurveFuncDicF[curve];
+        Delta = destination - origin;
+        OriginVec = Camera.transform.position;
+
+        ManaAnim.MoveList.Remove(this);
+        ManaAnim.MoveList.Add(this);
+
+        Move move = Camera.Move2D(Target.position, duration, false, curve);
+
+        move.OnForwardFinish = () =>
+        {
+            Auxiliary.Instance.DelayCall
+            (
+                () =>
+                {
+                    Delta = origin - destination;
+                    Origin = destination;
+                    Destination = origin;
+
+                    ManaAnim.MoveList.Add(this);
+
+                    Camera.Move2D(OriginVec, duration, false, curve);
+                },
+                stay
+            );
+        };
+    }
+}

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

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

+ 70 - 14
Assets/Script/Tool/Data.cs

@@ -115,6 +115,16 @@ public class Data
 
     #endregion
 
+    public static void SaveXml()
+    {
+        StreamWriter sw = new StreamWriter(Application.persistentDataPath + "/PlayerConfig.xml");
+
+        sw.Write(PlayerDoc.OuterXml);
+
+        sw.Close();
+    }
+
+
     private static void SaveSkillList()
     {
         XmlNode xmlNode;
@@ -319,11 +329,7 @@ public class Data
         SaveCommon();
         SaveFlowerList();
 
-        StreamWriter sw = new StreamWriter(Application.persistentDataPath + "/PlayerConfig.xml");
-
-        sw.Write(PlayerDoc.OuterXml);
-
-        sw.Close();
+        SaveXml();
     }
 
 
@@ -485,6 +491,8 @@ public class Data
         PlayerNode.SelectSingleNode("CircleTimer").Attributes[0].Value = "10";
         PlayerNode.SelectSingleNode("MiniGameIndex").Attributes[0].Value = "0";
         PlayerNode.SelectSingleNode("Player").Attributes[0].Value = "PlayerBlond";
+        PlayerNode.SelectSingleNode("Tutorial").Attributes[0].Value = "1";
+        PlayerNode.SelectSingleNode("TutorialIndex").Attributes[0].Value = "1";
     }
 
     private static void ResetFlowerList()
@@ -502,35 +510,83 @@ public class Data
         ResetCommon();
         ResetFlowerList();
 
-        StreamWriter sw = new StreamWriter(Application.persistentDataPath + "/PlayerConfig.xml");
-
-        sw.Write(PlayerDoc.OuterXml);
-
-        sw.Close();
+        SaveXml();
     }
 
 
-    public static int PlayerInt(string node)
+    public static int GetPlayerInt(string node)
     {
         return int.Parse(PlayerNode.SelectSingleNode(node).Attributes[0].Value);
     }
 
-    public static bool PlayerBool(string node)
+    public static bool GetPlayerBool(string node)
     {
         return Convert.ToBoolean(int.Parse(PlayerNode.SelectSingleNode(node).Attributes[0].Value));
     }
 
-    public static float PlayerFloat(string node)
+    public static float GetPlayerFloat(string node)
     {
         return float.Parse(PlayerNode.SelectSingleNode(node).Attributes[0].Value);
     }
 
-    public static double PlayerDouble(string node)
+    public static string GetPlayerString(string node)
+    {
+        return PlayerNode.SelectSingleNode(node).Attributes[0].Value;
+    }
+
+    public static double GetPlayerDouble(string node)
     {
         return double.Parse(PlayerNode.SelectSingleNode(node).Attributes[0].Value);
     }
 
 
+    public static void SavePlayerInt(string node, int value)
+    {
+        PlayerNode.SelectSingleNode(node).Attributes[0].Value = value.ToString();
+
+        SaveXml();
+    }
+
+    public static void SavePlayerBool(string node, bool value)
+    {
+        string str;
+
+        if (value)
+        {
+            str = "1";
+        }
+        else
+        {
+            str = "0";
+        }
+
+        PlayerNode.SelectSingleNode(node).Attributes[0].Value = str;
+
+        SaveXml();
+    }
+
+    public static void SavePlayerFloat(string node, float value)
+    {
+        PlayerNode.SelectSingleNode(node).Attributes[0].Value = value.ToString();
+
+        SaveXml();
+    }
+
+    public static void SavePlayerString(string node, string value)
+    {
+        PlayerNode.SelectSingleNode(node).Attributes[0].Value = value;
+
+        SaveXml();
+    }
+
+    public static void SavePlayerDouble(string node, double value)
+    {
+        PlayerNode.SelectSingleNode(node).Attributes[0].Value = value.ToString();
+
+        SaveXml();
+    }
+
+
     public static List<int> GetFlowerList()
     {
         List<int> list = new List<int>();

+ 64 - 44
Assets/Script/Tool/Extension.cs

@@ -71,6 +71,16 @@ public static class Extension
         return ManaAnim.Move3D(comp.transform, destination, duration, local, curve);
     }
 
+    public static Zoom2D Zoom2D(Transform target, float origin, float destination, float duration, float stay, Transform targetZoom, Curve curve)
+    {
+        return ManaAnim.Zoom2D(target, origin, destination, duration, stay, targetZoom, curve);
+    }
+
+    public static Zoom2D Zoom2D(Transform target, float destination, float duration, float stay, Transform targetZoom, Curve curve)
+    {
+        return ManaAnim.Zoom2D(target, destination, duration, stay, targetZoom, curve);
+    }
+
 
     public static Shake GetShake(this Component comp)
     {
@@ -87,6 +97,11 @@ public static class Extension
         return ManaAnim.GetMove3D(comp.transform);
     }
 
+    public static Zoom2D GetZoom2D(this Component comp)
+    {
+        return ManaAnim.GetZoom2D(comp.transform);
+    }
+
 
     public static Shake CreateShake(this Component comp)
     {
@@ -103,6 +118,11 @@ public static class Extension
         return ManaAnim.CreateMove3D(comp.transform);
     }
 
+    public static Zoom2D CreateZoom2D(this Component comp)
+    {
+        return ManaAnim.CreateZoom2D(comp.transform);
+    }
+
     #endregion
 
     #region Alpha
@@ -424,24 +444,24 @@ 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)
+    public static TweenSr CreateTweenSr(this Component comp, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group = false)
     {
-        return ManaAnim.CreateTweenSr(comp.transform, origin, destination, duration, group, originActive, destActive, curve);
+        return ManaAnim.CreateTweenSr(comp.transform, origin, destination, duration, originActive, destActive, curve, cg, group);
     }
 
-    public static TweenSr CreateTweenSr(this Component comp, float destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    public static TweenSr CreateTweenSr(this Component comp, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group = false)
     {
-        return ManaAnim.CreateTweenSr(comp.transform, destination, duration, group, originActive, destActive, curve);
+        return ManaAnim.CreateTweenSr(comp.transform, destination, duration, originActive, destActive, curve, cg, group);
     }
 
-    public static TweenSr CreateTweenSr(this Component comp, Color origin, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    public static TweenSr CreateTweenSr(this Component comp, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group = false)
     {
-        return ManaAnim.CreateTweenSr(comp.transform, origin, destination, duration, group, originActive, destActive, curve);
+        return ManaAnim.CreateTweenSr(comp.transform, origin, destination, duration, originActive, destActive, curve, cg, group);
     }
 
-    public static TweenSr CreateTweenSr(this Component comp, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
+    public static TweenSr CreateTweenSr(this Component comp, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group = false)
     {
-        return ManaAnim.CreateTweenSr(comp.transform, destination, duration, group, originActive, destActive, curve);
+        return ManaAnim.CreateTweenSr(comp.transform, destination, duration, originActive, destActive, curve, cg, group);
     }
 
     public static TweenCG CreateTweenCG(this Component comp, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
@@ -454,94 +474,94 @@ 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)
+    public static TweenGra CreateTweenGra(this Component comp, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenGra(comp.transform, origin, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenGra(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenGra CreateTweenGra(this Component comp, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenGra CreateTweenGra(this Component comp, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenGra(comp.transform, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenGra(comp.transform, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenGra CreateTweenGra(this Component comp, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenGra CreateTweenGra(this Component comp, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenGra(comp.transform, origin, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenGra(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenGra CreateTweenGra(this Component comp, Color destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenGra CreateTweenGra(this Component comp, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenGra(comp.transform, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenGra(comp.transform, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenVec CreateTweenVec2D(this Component comp, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
+    public static TweenVec CreateTweenVec2D(this Component comp, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenVec2D(comp.transform, origin, destination, duration, local, originActive, destActive, curve);
+        return ManaAnim.CreateTweenVec2D(comp.transform, origin, destination, duration, local, originActive, destActive, curve, cg);
     }
 
-    public static TweenVec CreateTweenVec2D(this Component comp, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
+    public static TweenVec CreateTweenVec2D(this Component comp, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenVec2D(comp.transform, destination, duration, local, originActive, destActive, curve);
+        return ManaAnim.CreateTweenVec2D(comp.transform, destination, duration, local, originActive, destActive, curve, cg);
     }
 
-    public static TweenVec CreateTweenVec3D(this Component comp, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
+    public static TweenVec CreateTweenVec3D(this Component comp, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenVec3D(comp.transform, origin, destination, duration, local, originActive, destActive, curve);
+        return ManaAnim.CreateTweenVec3D(comp.transform, origin, destination, duration, local, originActive, destActive, curve, cg);
     }
 
-    public static TweenVec CreateTweenVec3D(this Component comp, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
+    public static TweenVec CreateTweenVec3D(this Component comp, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenVec3D(comp.transform, destination, duration, local, originActive, destActive, curve);
+        return ManaAnim.CreateTweenVec3D(comp.transform, destination, duration, local, originActive, destActive, curve, cg);
     }
 
-    public static TweenText CreateTweenText(this Component comp, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenText CreateTweenText(this Component comp, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenText(comp.transform, origin, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenText(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenText CreateTweenText(this Component comp, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenText CreateTweenText(this Component comp, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenText(comp.transform, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenText(comp.transform, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenRect CreateTweenRect(this Component comp, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenRect CreateTweenRect(this Component comp, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenRect(comp.transform, origin, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenRect(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenRect CreateTweenRect(this Component comp, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenRect CreateTweenRect(this Component comp, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenRect(comp.transform, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenRect(comp.transform, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenScale CreateTweenScale(this Component comp, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenScale CreateTweenScale(this Component comp, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenScale(comp.transform, origin, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenScale(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenScale CreateTweenScale(this Component comp, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenScale CreateTweenScale(this Component comp, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenScale(comp.transform, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenScale(comp.transform, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenAudio CreateTweenAudio(this Component comp, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenAudio CreateTweenAudio(this Component comp, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenAudio(comp.transform, origin, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenAudio(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenAudio CreateTweenAudio(this Component comp, float destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenAudio CreateTweenAudio(this Component comp, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenAudio(comp.transform, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenAudio(comp.transform, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenNumber CreateTweenNumber(this Component comp, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenNumber CreateTweenNumber(this Component comp, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenNumber(comp.transform, origin, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenNumber(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenNumber CreateTweenNumber(this Component comp, int destination, float duration, bool originActive, bool destActive, Curve curve)
+    public static TweenNumber CreateTweenNumber(this Component comp, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenNumber(comp.transform, destination, duration, originActive, destActive, curve);
+        return ManaAnim.CreateTweenNumber(comp.transform, destination, duration, originActive, destActive, curve, cg);
     }
 
     #endregion

+ 10 - 0
Assets/Script/Tool/SceneMask.cs

@@ -8,12 +8,14 @@ public class SceneMask : MonoBehaviour
     #region 变量
 
     public static Material Material;
+    public static BoxCollider2D BoxCollider;
 
     #endregion
 
     public void Regist()
     {
         Material = GetComponent<SpriteRenderer>().material;
+        BoxCollider = ManaReso.Get<BoxCollider2D>("TutorialCollider");
     }
 
     public static void SetArea(Transform tra, float radiusX, float radiusY)
@@ -34,6 +36,10 @@ public class SceneMask : MonoBehaviour
             Material.SetFloat("_RadiusY", radiusY);
             Material.SetVector("_Center", screenPos);
 
+            BoxCollider.transform.SetX(tra.position.x);
+            BoxCollider.transform.SetY(tra.position.y);
+            BoxCollider.size = new Vector2(36* radiusX, 20*radiusY);
+            
             ManaReso.Get("TutorialMask").TweenConForSr();
         }
     }
@@ -52,6 +58,10 @@ public class SceneMask : MonoBehaviour
             Material.SetFloat("_RadiusY", 0);
             Material.SetVector("_Center", new Vector2(0, 0));
 
+            BoxCollider.transform.SetX(0);
+            BoxCollider.transform.SetY(0);
+            BoxCollider.size = new Vector2();
+
             ManaReso.Get("TutorialMask").TweenConBacSr();
         }
     }

+ 1 - 0
MyLovelyGarden.csproj

@@ -144,6 +144,7 @@
     <Compile Include="Assets\Script\Tool\Anim\TweenSr.cs" />
     <Compile Include="Assets\Script\Tool\Anim\TweenText.cs" />
     <Compile Include="Assets\Script\Tool\Anim\TweenVec.cs" />
+    <Compile Include="Assets\Script\Tool\Anim\Zoom2D.cs" />
     <Compile Include="Assets\Script\Tool\Auxiliary.cs" />
     <Compile Include="Assets\Script\Tool\Bundle.cs" />
     <Compile Include="Assets\Script\Tool\DashGame\CallBackUtil.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

+ 2 - 9
ToList.txt

@@ -1,16 +1,9 @@
-小游戏时间(45)
+小游戏持续时间(45)
 
 ManaData ManaSkill ManaGarden 种花使用Dic
 
 
-ManaReso中添加获得Tween Move的ShortCut
-
-在Extension中进行委托的Null的检查
-
-自动添加销毁Canvas和GraphicRaycaster
-
-动画(是否影响CanvasGroup)
-
+动画(Move作为所有的基类)
 
 切换后台