Browse Source

Temp 4.14

LiuQilin 8 năm trước cách đây
mục cha
commit
51713337aa
49 tập tin đã thay đổi với 893 bổ sung468 xóa
  1. BIN
      .vs/MyLovelyGarden/v14/.suo
  2. BIN
      Assets/Resource/Prefab/Object/Bird0.prefab
  3. 3 3
      Assets/Resource/Prefab/Object/Bird0.prefab.meta
  4. BIN
      Assets/Resource/Prefab/Object/Rainbow.prefab
  5. BIN
      Assets/Resource/Prefab/Object/Tree1.prefab
  6. BIN
      Assets/Resource/Prefab/PrefabUI/Canvas.prefab
  7. 17 1
      Assets/Resource/Sprite/Garden/技能树1.png.meta
  8. 17 1
      Assets/Resource/Sprite/Garden/技能添加彩虹.png.meta
  9. 1 1
      Assets/Resource/XML/Config/ability_config.xml
  10. 5 3
      Assets/Resource/XML/PlayerConfig.xml
  11. BIN
      Assets/Resource/Xlsx/ability_config.xlsx
  12. 5 0
      Assets/Script/Interface/Regist.cs
  13. 6 20
      Assets/Script/Manage/Initializer.cs
  14. 5 4
      Assets/Script/Manage/ManaAnim.cs
  15. 20 22
      Assets/Script/Manage/ManaData.cs
  16. 49 52
      Assets/Script/Manage/ManaGarden.cs
  17. 26 30
      Assets/Script/Manage/ManaMiniGame.cs
  18. 1 1
      Assets/Script/Manage/ManaPlayer.cs
  19. 8 13
      Assets/Script/Manage/ManaReso.cs
  20. 8 12
      Assets/Script/Manage/ManaSign.cs
  21. 0 27
      Assets/Script/Manage/ManaSkill.cs
  22. 0 12
      Assets/Script/Manage/ManaSkill.cs.meta
  23. 2 29
      Assets/Script/Manage/ManaText.cs
  24. 190 46
      Assets/Script/Manage/ManaTutorial.cs
  25. 54 8
      Assets/Script/Manage/ManaUI.cs
  26. 3 1
      Assets/Script/Object/Drop.cs
  27. 2 2
      Assets/Script/Object/DropDiamond.cs
  28. 2 2
      Assets/Script/Object/DropGold.cs
  29. 5 5
      Assets/Script/Object/Flower.cs
  30. 6 6
      Assets/Script/Object/Garden.cs
  31. 1 1
      Assets/Script/Object/ObjRoot.cs
  32. 11 9
      Assets/Script/Object/Player.cs
  33. 140 17
      Assets/Script/Object/Skill/Ability.cs
  34. 102 46
      Assets/Script/Object/Skill/BigSkill.cs
  35. 2 2
      Assets/Script/Object/Skill/Pack.cs
  36. 16 13
      Assets/Script/Object/Skill/Skill.cs
  37. 4 2
      Assets/Script/Object/Slot.cs
  38. 18 10
      Assets/Script/Object/Tutorial.cs
  39. 57 0
      Assets/Script/Tool/Anim/Move.cs
  40. 14 10
      Assets/Script/Tool/Anim/TweenSr.cs
  41. 32 17
      Assets/Script/Tool/Anim/Zoom2D.cs
  42. 2 0
      Assets/Script/Tool/Auxiliary.cs
  43. 3 2
      Assets/Script/Tool/Bundle.cs
  44. 8 6
      Assets/Script/Tool/Data.cs
  45. 29 8
      Assets/Script/Tool/Extension.cs
  46. 3 2
      Assets/Script/Tool/SceneMask.cs
  47. 16 13
      MyLovelyGarden.sln
  48. BIN
      ProjectSettings/GraphicsSettings.asset
  49. 0 9
      ToList.txt

BIN
.vs/MyLovelyGarden/v14/.suo


BIN
Assets/Resource/Prefab/Object/Bird.prefab → Assets/Resource/Prefab/Object/Bird0.prefab


+ 3 - 3
Assets/Resource/Prefab/Object/Bird.prefab.meta → Assets/Resource/Prefab/Object/Bird0.prefab.meta

@@ -1,8 +1,8 @@
 fileFormatVersion: 2
-guid: 796eb2171bf23284d8c0ec5af566fd91
-timeCreated: 1490084251
+guid: 0e486879c57cba849b0d9aece7cb7f51
+timeCreated: 1492147913
 licenseType: Pro
 NativeFormatImporter:
   userData: 
-  assetBundleName: character
+  assetBundleName: 
   assetBundleVariant: 

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


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


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


+ 17 - 1
Assets/Resource/Sprite/Garden/技能树1.png.meta

@@ -37,7 +37,7 @@ TextureImporter:
   spriteMode: 1
   spriteExtrude: 1
   spriteMeshType: 1
-  alignment: 0
+  alignment: 7
   spritePivot: {x: 0.5, y: 0.5}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spritePixelsToUnits: 100
@@ -90,6 +90,22 @@ TextureImporter:
     crunchedCompression: 0
     allowsAlphaSplitting: 0
     overridden: 0
+  - buildTarget: tvOS
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Windows Store Apps
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
   spriteSheet:
     serializedVersion: 2
     sprites: []

+ 17 - 1
Assets/Resource/Sprite/Garden/技能添加彩虹.png.meta

@@ -37,7 +37,7 @@ TextureImporter:
   spriteMode: 1
   spriteExtrude: 1
   spriteMeshType: 1
-  alignment: 0
+  alignment: 7
   spritePivot: {x: 0.5, y: 0.5}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spritePixelsToUnits: 100
@@ -90,6 +90,22 @@ TextureImporter:
     crunchedCompression: 0
     allowsAlphaSplitting: 0
     overridden: 0
+  - buildTarget: tvOS
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Windows Store Apps
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
   spriteSheet:
     serializedVersion: 2
     sprites: []

+ 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="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="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="Bird0,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="" />

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

@@ -1,7 +1,9 @@
 <PlayerConfig>
-  <Tutorial value="1" />
-  <Version value="56" />
-  <TutorialIndex value="1" />
+  <Version value="69" />
+  <TutorialA value="1" />
+  <TutorialB value="1" />
+  <TutorialIndexA value="1" />
+  <TutorialIndexB value="1" />
 
   <Player value="PlayerBlond" />
   <QuitTime value="2/3/2017 09:30:00 AM" />

BIN
Assets/Resource/Xlsx/ability_config.xlsx


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

@@ -9,6 +9,11 @@ public class Regist : MonoBehaviour
 
     }
 
+    public virtual void RegistImmed()
+    {
+        
+    }
+
     public virtual void RegistValueA()
     {
         

+ 6 - 20
Assets/Script/Manage/Initializer.cs

@@ -12,23 +12,7 @@ public class Initializer : MonoBehaviour
 {
     #region
 
-    public static List<Regist> RegistList
-    {
-        get
-        {
-            if (_RegistList == null)
-            {
-                _RegistList = new List<Regist>();
-            }
-
-            return _RegistList;
-        }
-        set { _RegistList = value; }
-    }
-
-    public static List<Regist> _RegistList;
-
-    public static bool Tutorial;
+    public static List<Regist> RegistList = new List<Regist>();
 
     #endregion
 
@@ -52,11 +36,11 @@ public class Initializer : MonoBehaviour
 
         gameObject.AddScript<ManaUI>();
         gameObject.AddScript<ManaSign>();
+        gameObject.AddScript<ManaGarden>();
 
         gameObject.AddScript<ManaData>();
         gameObject.AddScript<ManaPlayer>();
         gameObject.AddScript<ManaDebug>();
-        gameObject.AddScript<ManaGarden>();
         gameObject.AddScript<ManaAchieve>();
         gameObject.AddScript<ManaMiniGame>();
 
@@ -66,8 +50,10 @@ public class Initializer : MonoBehaviour
 
     public static void Initialize()
     {
-        Tutorial = Data.GetPlayerBool("Tutorial");
-        ManaTutorial.TutorialIndex = Data.GetPlayerInt("TutorialIndex");
+        ManaTutorial.TutorialA = Data.GetPlayerBool("TutorialA");
+        ManaTutorial.TutorialB = Data.GetPlayerBool("TutorialB");
+        ManaTutorial.TutorialIndexA = Data.GetPlayerInt("TutorialIndexA");
+        ManaTutorial.TutorialIndexB = Data.GetPlayerInt("TutorialIndexB");
 
         for (int i = 0; i < RegistList.Count; i++)
         {

+ 5 - 4
Assets/Script/Manage/ManaAnim.cs

@@ -95,7 +95,7 @@ public class ManaAnim : Regist
     }
 
 
-    public override void RegistValueA()
+    public override void RegistImmed()
     {
         MoveList = new List<Move>();
         TweenForList = new List<Tween>();
@@ -112,6 +112,7 @@ public class ManaAnim : Regist
         ShakeDic = new Dictionary<Transform, Shake>();
         MoveDic3D = new Dictionary<Transform, Move3D>();
         MoveDic2D = new Dictionary<Transform, Move2D>();
+        ZoomDic2D = new Dictionary<Transform, Zoom2D>();
 
         TweenSrDic = new Dictionary<Transform, TweenSr>();
         TweenCgDic = new Dictionary<Transform, TweenCG>();
@@ -471,7 +472,7 @@ public class ManaAnim : Regist
     {
         Zoom2D move;
 
-        if (ZoomDic2D.TryGetValue(targetZoom, out move))
+        if (ZoomDic2D.TryGetValue(target, out move))
         {
             move.StartZoom(origin, destination, duration, stay, targetZoom, curve);
         }
@@ -491,13 +492,13 @@ public class ManaAnim : Regist
 
         Camera camera = target.GetComponent<Camera>();
 
-        if (ZoomDic2D.TryGetValue(targetZoom, out move))
+        if (ZoomDic2D.TryGetValue(target, out move))
         {
             move.StartZoom(camera.orthographicSize, destination, duration, stay, targetZoom, curve);
         }
         else
         {
-            move = CreateZoom2D(targetZoom);
+            move = CreateZoom2D(target);
 
             move.StartZoom(camera.orthographicSize, destination, duration, stay, targetZoom, curve);
         }

+ 20 - 22
Assets/Script/Manage/ManaData.cs

@@ -152,6 +152,16 @@ public class ManaData : Regist
             }
 
             ManaAchieve.UpdateStatus(AchieveType.Garden, _Level);
+
+            if (ManaTutorial.TutorialB && !TutorialB)
+            {
+                if (_Level >= 200)
+                {
+                    TutorialB = true;
+
+                    ManaTutorial.PrepareStep10();
+                }
+            }
         }
     }
     public static bool Pause
@@ -266,10 +276,12 @@ public class ManaData : Regist
 
     public static int SignIndex;
     public static int MainDepth;
+    public static bool Free;
     public static bool Mini;
     public static bool TabBtn;
     public static bool SkillBar;
     public static bool Connect;
+    public static bool TutorialB;
     public static float OpTime = 90;
     public static float OpTimer;
     public static float MiniTimer;
@@ -290,7 +302,7 @@ public class ManaData : Regist
 
     private void Update()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA)
         {
             TutorialUpdate();
         }
@@ -352,7 +364,7 @@ public class ManaData : Regist
 
     private void FixedUpdate()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA)
         {
             TutorialFixedUpdate();
         }
@@ -409,7 +421,7 @@ public class ManaData : Regist
                 ManaReso.GetHudText("+" + temp.ToString("0"), Color.white, 25, ManaReso.Get("C_PosTra"), ManaReso.Get("C_Main"), false);
             }
 
-            ManaDebug.Log(string.Format("参观收益<color=red>{0:0}</color> = <color=red>{1}</color> * <color=red>{2}</color> * <color=red>{3}</color> * <color=red>{4}</color> (人次*金币*时间*加成)", temp, NewPerson, NewCoinPerson, CircleTime, 1 + SkillPlus));
+            ManaDebug.Log(string.Format("参观收益<color=red>{0:0.0}</color> = <color=red>{1}</color> * <color=red>{2}</color> * <color=red>{3}</color> * <color=red>{4}</color> (人次*金币*时间*加成)", temp, NewPerson, NewCoinPerson, CircleTime, 1 + SkillPlus));
         }
 
         #endregion
@@ -502,25 +514,6 @@ public class ManaData : Regist
         FlowerCoin = dataList[5];
 
         #endregion
-
-        #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
     }
 
     public override void RegistValueC()
@@ -647,6 +640,11 @@ public class ManaData : Regist
 
     public static bool Pay(double amt, Current current)
     {
+        if (Free)
+        {
+            return true;
+        }
+
         amt = (long) amt;
 
         if (current == Current.Free)

+ 49 - 52
Assets/Script/Manage/ManaGarden.cs

@@ -87,20 +87,6 @@ public class ManaGarden : Regist
         }
     }
 
-    public static List<ObjType> AnimList
-    {
-        get
-        {
-            if (_AnimList == null)
-            {
-                _AnimList = new List<ObjType>();
-            }
-
-            return _AnimList;
-        }
-        set { _AnimList = value; }
-    }
-
     private static int _MyFlower;
     private static int _MyFlowerSpec;
     private static int _MyFlowerRegu;
@@ -109,25 +95,25 @@ public class ManaGarden : Regist
     private static int _TotalFlowerSpec;
     private static int _TotalFlowerRegu;
 
-    private static List<ObjType> _AnimList;
-
-    public static bool Award;
+    public static bool Award = true;
     public static bool AwardLock;
-    public static float AnimTimer;
-    public static float AwardTimer;
+    public static float AnimTimer = Random.Range(0f, 30f);
+    public static float AwardTimer = Random.Range(20f, 60f);
 
     public static Slot SeleSlot;
     public static FlowerInfo SeleFlowerInfo;
 
-    public static List<Slot> SlotList;
-    public static List<Slot> PlantList;
-    public static List<FlowerInfo> FlowerInfoList;
+    public static List<Slot> SlotList = new List<Slot>();
+    public static List<Slot> PlantList = new List<Slot>();
+    public static List<ObjType> AnimList = new List<ObjType>();
+
+    public static Dictionary<int, FlowerInfo> FlowerInfoDic = new Dictionary<int, FlowerInfo>();
 
     #endregion
 
     public void FixedUpdate()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA)
         {
             TutorialFixedUpdate();
         }
@@ -153,7 +139,7 @@ public class ManaGarden : Regist
     public void AnimThread()
     {
         AnimTimer -= Time.fixedDeltaTime;
-
+        
         if (AnimTimer < 0)
         {
             AnimTimer = Random.Range(0f, 30f);
@@ -213,9 +199,6 @@ public class ManaGarden : Regist
 
         #region 生成FlowerItem
 
-        PlantList = new List<Slot>();
-        FlowerInfoList = new List<FlowerInfo>();
-
         List<XmlAttributeCollection> attributeList = Data.GetFlowerConfig();
 
         for (int i = 0; i < attributeList.Count; i++)
@@ -231,7 +214,7 @@ public class ManaGarden : Regist
                 TotalFlowerRegu++;
             }
 
-            FlowerInfoList.Add(flowerInfo);
+            FlowerInfoDic.Add(flowerInfo.ID, flowerInfo);
         }
 
         #endregion
@@ -240,32 +223,46 @@ public class ManaGarden : Regist
 
     public override void RegistValueA()
     {
-        Award = true;
-        AwardLock = false;
-        AnimTimer = Random.Range(0f, 30f);
-        AwardTimer = Random.Range(20f, 60f);
-
         SlotList = new List<Slot>()
         {
-            ManaReso.Get("SlotA1").AddComponent<Slot>(),
-            ManaReso.Get("SlotA2").AddComponent<Slot>(),
-            ManaReso.Get("SlotA3").AddComponent<Slot>(),
-            ManaReso.Get("SlotA4").AddComponent<Slot>(),
-            ManaReso.Get("SlotA5").AddComponent<Slot>(),
-            ManaReso.Get("SlotA6").AddComponent<Slot>(),
-            ManaReso.Get("SlotA7").AddComponent<Slot>(),
-            ManaReso.Get("SlotA8").AddComponent<Slot>(),
-            ManaReso.Get("SlotA9").AddComponent<Slot>(),
-            ManaReso.Get("SlotB1").AddComponent<Slot>(),
-            ManaReso.Get("SlotB2").AddComponent<Slot>(),
-            ManaReso.Get("SlotB3").AddComponent<Slot>(),
-            ManaReso.Get("SlotB4").AddComponent<Slot>(),
-            ManaReso.Get("SlotB5").AddComponent<Slot>(),
-            ManaReso.Get("SlotB6").AddComponent<Slot>(),
-            ManaReso.Get("SlotB7").AddComponent<Slot>(),
-            ManaReso.Get("SlotB8").AddComponent<Slot>(),
-            ManaReso.Get("SlotB9").AddComponent<Slot>(),
+            ManaReso.Get("SlotA1").AddScript<Slot>(),
+            ManaReso.Get("SlotA2").AddScript<Slot>(),
+            ManaReso.Get("SlotA3").AddScript<Slot>(),
+            ManaReso.Get("SlotA4").AddScript<Slot>(),
+            ManaReso.Get("SlotA5").AddScript<Slot>(),
+            ManaReso.Get("SlotA6").AddScript<Slot>(),
+            ManaReso.Get("SlotA7").AddScript<Slot>(),
+            ManaReso.Get("SlotA8").AddScript<Slot>(),
+            ManaReso.Get("SlotA9").AddScript<Slot>(),
+            ManaReso.Get("SlotB1").AddScript<Slot>(),
+            ManaReso.Get("SlotB2").AddScript<Slot>(),
+            ManaReso.Get("SlotB3").AddScript<Slot>(),
+            ManaReso.Get("SlotB4").AddScript<Slot>(),
+            ManaReso.Get("SlotB5").AddScript<Slot>(),
+            ManaReso.Get("SlotB6").AddScript<Slot>(),
+            ManaReso.Get("SlotB7").AddScript<Slot>(),
+            ManaReso.Get("SlotB8").AddScript<Slot>(),
+            ManaReso.Get("SlotB9").AddScript<Slot>(),
         };
+
+        #region 读花朵存档
+
+        List<int> flowerList = Data.GetFlowerList();
+
+        for (int i = 0; i < flowerList.Count; i++)
+        {
+            FlowerInfoDic[flowerList[i]].Unlock = true;
+        }
+
+
+        List<KV<int, string>> plantList = Data.GetPlantList();
+
+        for (int i = 0; i < plantList.Count; i++)
+        {
+            PlantFlower(plantList[i].Key - 1, plantList[i].Value);
+        }
+
+        #endregion
     }
 
 
@@ -401,7 +398,7 @@ public class ManaGarden : Regist
     {
         Slot slot = ManaReso.Get<Slot>(parName);
 
-        FlowerInfo flowerInfo = FlowerInfoList[id];
+        FlowerInfo flowerInfo = FlowerInfoDic[id];
 
         slot.Plant(flowerInfo, false);
     }

+ 26 - 30
Assets/Script/Manage/ManaMiniGame.cs

@@ -22,8 +22,8 @@ public class Award
     public string FlowerFml;
     public string DiamondFml;
 
-    public List<float> Odds;
-    public List<float> Standard;
+    public List<float> Odds = new List<float>();
+    public List<float> Standard = new List<float>();
 
     #endregion
 
@@ -60,7 +60,7 @@ public class Award
 
     public void GetAward(int score)
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA)
         {
             TutorialAward(score);
         }
@@ -135,7 +135,7 @@ public class Award
         }
 
 
-        FlowerInfo flowerInfo = ManaGarden.FlowerInfoList[0];
+        FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic[0];
 
         Vector2 newSize = flowerInfo.Sprite.rect.size;
         newSize.x *= 0.2f;
@@ -334,7 +334,8 @@ public class Award
 
         tween.AddEventOnetime
         (
-            EventType.ForwardFinish, () =>
+            EventType.ForwardFinish, 
+            () =>
             {
                 Tutorial.HightScreen(ManaReso.Get("Da_GetAwardArrow0"), ManaReso.Get("Da_GetAwardArrow1"), ManaReso.Get("Da_GetAward"));
             }
@@ -423,8 +424,8 @@ public class Award
                     {
                         throw new Exception();
                     }
-
-                    flowerInfo = ManaGarden.FlowerInfoList.Random();
+                    
+                    flowerInfo = ManaGarden.FlowerInfoDic.Random();
 
                     if (flowerInfo.Unlock)
                     {
@@ -758,33 +759,32 @@ public class ManaMiniGame : Regist
     private static float _GameTimer;
     private static float _PrepareTimer;
 
-    public static int MiniGameIndex;
-    public static bool TutorialValid = true;
-    public static bool DropDiamond;
-    public static List<DropGold> GoldList;
-    public static List<DropDiamond> DiamondList;
-
     public static Text BtnLab;
     public static Text TimerLab;
     public static Text PrepareLab;
     public static Image TimerIcon;
     public static Award Award;
-    public static List<Flower> OpList;
-    public static List<Flower> IdleList;
+    public static List<Flower> OpList = new List<Flower>();
+    public static List<Flower> IdleList = new List<Flower>();
+    public static List<DropGold> GoldList = new List<DropGold>();
+    public static List<DropDiamond> DiamondList = new List<DropDiamond>();
 
-    private static float OpTime;
-    private static float OpTimer;
-    private static float GoldTimer;
-    private static float GameTime;
-    private static float PanaltyTime;
-    private static float PanaltyTimer;
-    private static float DIamondTimer;
+    public static int MiniGameIndex;
+    public static bool TutorialValid = true;
+    public static bool DropDiamond;
+    public static float OpTime = 1.5f;
+    public static float OpTimer;
+    public static float GoldTimer;
+    public static float GameTime = 45;
+    public static float PanaltyTime = 1;
+    public static float PanaltyTimer;
+    public static float DIamondTimer;
 
     #endregion
 
     private void FixedUpdate()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA)
         {
             TutorialFixedUpdate();
         }
@@ -883,7 +883,7 @@ public class ManaMiniGame : Regist
 
                     Tutorial.HightScreen(ManaReso.Get("D_WaterArrow0"), ManaReso.Get("D_WaterArrow1"), ManaReso.Get("D_Water1"));
 
-                    ManaReso.AddButtonEvent
+                    ManaReso.AddButtonEventOnetime
                     (
                         "D_Water2",
                         () =>
@@ -995,10 +995,6 @@ public class ManaMiniGame : Regist
 
     public override void RegistValueA()
     {
-        OpTime = 1.5f;
-        GameTime = 5;
-        PanaltyTime = 1;
-
         OpTimer = OpTime;
         GameTimer = GameTime;
         MiniGameIndex = Data.GetPlayerInt("MiniGameIndex");
@@ -1242,11 +1238,11 @@ public class ManaMiniGame : Regist
 
         while (true)
         {
-            FlowerInfo flowerInfo = ManaGarden.FlowerInfoList.Random();
+            FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic.Random();
 
             if (flowerInfo.Unlock)
             {
-                IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini" + count)));
+                IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoDic[0], ManaReso.Get("SlotMini" + count)));
 
                 count++;
 

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

@@ -17,7 +17,7 @@ public class ManaPlayer : Regist
 
     public override void Instantiate()
     {
-        if (ManaTutorial.TutorialIndex == 1)
+        if (ManaTutorial.TutorialA && ManaTutorial.TutorialIndexA == 1)
         {
             
         }

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

@@ -51,18 +51,15 @@ public class ManaReso : Regist
 {
     #region 变量
 
-    public static Dictionary<string, Object> ObjDic;
-    public static Dictionary<string, Transform> TraDic;
-    public static Dictionary<ObjType, List<Transform>> ObjectPool;
+    public static Dictionary<string, Object> ObjDic = new Dictionary<string, Object>();
+    public static Dictionary<string, Transform> TraDic = new Dictionary<string, Transform>();
+
+    public static Dictionary<ObjType, List<Transform>> ObjectPool = new Dictionary<ObjType, List<Transform>>();
 
     #endregion
 
     public override void Instantiate()
     {
-        TraDic = new Dictionary<string, Transform>();
-        ObjDic = new Dictionary<string, Object>();
-        ObjectPool = new Dictionary<ObjType, List<Transform>>();
-
         Transform objPool = new GameObject("ObjPool").transform;
 
         objPool.parent = transform;
@@ -199,7 +196,7 @@ public class ManaReso : Regist
 
         if (dropGold == null)
         {
-            dropGold = tra.AddComponent<DropGold>();
+            dropGold = tra.AddScript<DropGold>();
         }
 
         dropGold.ResetSta();
@@ -218,7 +215,7 @@ public class ManaReso : Regist
 
         if (dropDiamond == null)
         {
-            dropDiamond = tra.AddComponent<DropDiamond>();
+            dropDiamond = tra.AddScript<DropDiamond>();
         }
 
         dropDiamond.ResetSta();
@@ -234,8 +231,7 @@ public class ManaReso : Regist
 
         if (flower == null)
         {
-            flower = tra.AddComponent<Flower>();
-            flower.Regist();
+            flower = tra.AddScript<Flower>();
 
             flower.ObjType = ObjType.Flower;
             flower.LocalPos = flower.transform.localPosition;
@@ -262,8 +258,7 @@ public class ManaReso : Regist
 
         if (flower == null)
         {
-            flower = tra.AddComponent<Flower>();
-            flower.Regist();
+            flower = tra.AddScript<Flower>();
 
             flower.ObjType = ObjType.Flower;
             flower.LocalPos = flower.transform.localPosition;

+ 8 - 12
Assets/Script/Manage/ManaSign.cs

@@ -1,10 +1,10 @@
-using System;
-using UnityEngine;
+using UnityEngine;
+using UnityEngine.UI;
 
+using System;
+using System.Xml;
 using System.Collections;
 using System.Collections.Generic;
-using System.Xml;
-using UnityEngine.UI;
 
 public class Sign
 {
@@ -14,7 +14,7 @@ public class Sign
     public Text Lab2;
     public Image Icon;
     public Image Mark;
-    public List<int> FlowerList;
+    public List<int> FlowerList = new List<int>();
 
     public Sign(int index, Transform tra, XmlAttributeCollection attribute)
     {
@@ -31,8 +31,6 @@ public class Sign
 
         if (!string.IsNullOrEmpty(attribute[1].Value))
         {
-            FlowerList = new List<int>();
-
             string[] strings = attribute[1].Value.Split(',');
 
             for (int i = 0; i < strings.Length; i++)
@@ -73,9 +71,9 @@ public class Sign
         {
             for (int i = 0; i < FlowerList.Count; i++)
             {
-                if (ManaGarden.FlowerInfoList[FlowerList[i] - 1].Unlock == false)
+                if (ManaGarden.FlowerInfoDic[FlowerList[i]].Unlock == false)
                 {
-                    ManaGarden.FlowerInfoList[FlowerList[i] - 1].Unlock = true;
+                    ManaGarden.FlowerInfoDic[FlowerList[i]].Unlock = true;
 
                     ManaData.SignIndex++;
                     ManaData.SignIndex %= 21;
@@ -131,7 +129,7 @@ public class ManaSign : Regist
 {
     #region 变量
 
-    public static Dictionary<int, Sign> SignDic;
+    public static Dictionary<int, Sign> SignDic = new Dictionary<int, Sign>();
 
     #endregion
 
@@ -150,8 +148,6 @@ public class ManaSign : Regist
 
     public override void RegistValueB()
     {
-        SignDic = new Dictionary<int, Sign>();
-
         List<XmlAttributeCollection> attributeList = Data.GetSignConfig();
 
         Transform tra = ManaReso.Get("Bb_Grid");

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

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

+ 0 - 12
Assets/Script/Manage/ManaSkill.cs.meta

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

+ 2 - 29
Assets/Script/Manage/ManaText.cs

@@ -25,35 +25,8 @@ public class ManaText : Regist
 {
     #region 变量
 
-    public static Dictionary<Text, object[]> TextDic
-    {
-        get
-        {
-            if (_TextDic == null)
-            {
-                _TextDic = new Dictionary<Text, object[]>();
-            }
-
-            return _TextDic;
-        }
-        set { _TextDic = value; }
-    }
-    public static Dictionary<TextMesh, object[]> TextMeshDic
-    {
-        get
-        {
-            if (_TextMeshDic == null)
-            {
-                _TextMeshDic = new Dictionary<TextMesh, object[]>();
-            }
-
-            return _TextMeshDic;
-        }
-        set { _TextMeshDic = value; }
-    }
-
-    public static Dictionary<Text, object[]> _TextDic;
-    public static Dictionary<TextMesh, object[]> _TextMeshDic;
+    public static Dictionary<Text, object[]> TextDic = new Dictionary<Text, object[]>();
+    public static Dictionary<TextMesh, object[]> TextMeshDic = new Dictionary<TextMesh, object[]>();
 
     #endregion
 

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

@@ -8,13 +8,16 @@ public class ManaTutorial : Regist
 {
     #region 变量
 
-    public static int TutorialIndex;
+    public static int TutorialIndexA;
+    public static int TutorialIndexB;
+    public static bool TutorialA;
+    public static bool TutorialB;
 
     #endregion
 
     public override void Instantiate()
     {
-        if (Initializer.Tutorial)
+        if (TutorialA || TutorialB)
         {
             ManaReso.Get("Tutorial", Folder.Object, true, transform, false).AddScript<Tutorial>();
         }
@@ -23,7 +26,7 @@ public class ManaTutorial : Regist
 
     public override void RegistValueC()
     {
-        if (Initializer.Tutorial)
+        if (TutorialA || TutorialB)
         {
             TutorialRegistC();
         }
@@ -35,42 +38,45 @@ public class ManaTutorial : Regist
 
     private void TutorialRegistC()
     {
-        ManaReso.SetActive("B_SignIn", false);
-        ManaReso.SetActive("N_Tutorial", true);
-
         ManaReso.Get("N_Mask").CreateTweenGra(0, 180 / 255f, 0.25f, false, true, Curve.EaseOutQuad);
         ManaReso.Get("N_Arrow").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
         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);
 
-        if (TutorialIndex == 1)
-        {
-            PrepareStep1();
-        }
-        else if (TutorialIndex == 2)
+        if (TutorialA)
         {
-            Garden.Instance.TutorialToRegular();
+            ManaReso.SetActive("B_SignIn", false);
+            ManaReso.SetActive("N_Tutorial", true);
 
-            PrepareStep2();
-        }
-        else if (TutorialIndex == 4)
-        {
-            Garden.Instance.TutorialToRegular();
-            ManaUI.Instance.TutorialToRegular();
+            if (TutorialIndexA == 1)
+            {
+                PrepareStep1();
+            }
+            else if (TutorialIndexA == 2)
+            {
+                Garden.Instance.TutorialToRegular();
 
-            ManaReso.Get("Tutorial").SetCollider(true);
+                PrepareStep2();
+            }
+            else if (TutorialIndexA == 4)
+            {
+                Garden.Instance.TutorialToRegular();
+                ManaUI.Instance.TutorialToRegular();
 
-            ManaReso.SetActive("TutorialMask", true);
-            ManaReso.SetActive("TutorialCollider", true);
+                ManaReso.Get("Tutorial").SetCollider(true);
 
-            Tutorial.HightScene(0.1f, 0.075f, ManaReso.Get("SlotArrowA1"), ManaReso.Get("SlotA1"));
-        }
-        else if (TutorialIndex == 6)
-        {
-            Garden.Instance.TutorialToRegular();
-            ManaUI.Instance.TutorialToRegular();
+                ManaReso.SetActive("TutorialMask", true);
+                ManaReso.SetActive("TutorialCollider", true);
 
-            PrepareStep6();
+                Tutorial.HightScene(0.1f, 0.075f, ManaReso.Get("SlotArrowA1"), ManaReso.Get("SlotA1"));
+            }
+            else if (TutorialIndexA == 6)
+            {
+                Garden.Instance.TutorialToRegular();
+                ManaUI.Instance.TutorialToRegular();
+
+                PrepareStep6();
+            }
         }
     }
 
@@ -90,7 +96,7 @@ public class ManaTutorial : Regist
 
         Garden.Instance.TutorialToRegular();
 
-        Data.SavePlayerInt("TutorialIndex", TutorialIndex+1);
+        Data.SavePlayerInt("TutorialIndexA", TutorialIndexA+1);
         Data.SavePlayerString("Player", Tutorial.SelectPlayer);
 
         PrepareStep2();
@@ -116,7 +122,7 @@ public class ManaTutorial : Regist
 
         Tutorial.HightDisable();
 
-        Data.SavePlayerInt("TutorialIndex", TutorialIndex + 1);
+        Data.SavePlayerInt("TutorialIndexA", TutorialIndexA + 1);
 
         PrepareStep4();
     }
@@ -130,7 +136,7 @@ public class ManaTutorial : Regist
 
     public static void EndStep5()
     {
-        Data.SavePlayerInt("TutorialIndex", TutorialIndex + 1);
+        Data.SavePlayerInt("TutorialIndexA", TutorialIndexA + 1);
 
         PrepareStep6();
     }
@@ -159,10 +165,10 @@ public class ManaTutorial : Regist
     public static void EndStep9()
     {
         Tutorial.HightDisable();
+        
+        TutorialA = false;
 
-        Initializer.Tutorial = false;
-
-        Data.SavePlayerBool("Tutorial", false);
+        Data.SavePlayerBool("TutorialA", false);
 
         ManaReso.Get("Tutorial").SetCollider(false);
     }
@@ -170,7 +176,7 @@ public class ManaTutorial : Regist
 
     public static void PrepareStep1()
     {
-        TutorialIndex = 1;
+        TutorialIndexA = 1;
 
         ManaReso.SetActive("N_Confirm", true);
 
@@ -195,11 +201,11 @@ public class ManaTutorial : Regist
                 ManaReso.Get("Tutorial").TweenBacSr();
                 ManaReso.Get("N_Confirm").TweenBacGra();
 
-                Tween tween = Tutorial.Player.GetTweenVec();
+                Tween tween = ManaReso.Get("Tutorial").GetTweenSr();
 
                 tween.AddEventOnetime
                 (
-                    EventType.ForwardFinish,
+                    EventType.BackwardFinish,
                     () =>
                     {
                         EndStep1();
@@ -211,7 +217,7 @@ public class ManaTutorial : Regist
 
     public static void PrepareStep2()
     {
-        TutorialIndex = 2;
+        TutorialIndexA = 2;
 
         ManaReso.Get("N_Mask").TweenConForGra();
 
@@ -253,7 +259,7 @@ public class ManaTutorial : Regist
 
     public static void PrepareStep3()
     {
-        TutorialIndex = 3;
+        TutorialIndexA = 3;
 
         ManaReso.SetActive("D_Quit", false);
 
@@ -291,7 +297,7 @@ public class ManaTutorial : Regist
 
     public static void PrepareStep4()
     {
-        TutorialIndex = 4;
+        TutorialIndexA = 4;
 
         ManaReso.Get("C_Main").TweenBacCG();
 
@@ -311,7 +317,7 @@ public class ManaTutorial : Regist
 
     public static void PrepareStep5()
     {
-        TutorialIndex = 5;
+        TutorialIndexA = 5;
 
         Tween tween = ManaReso.Get("G_Flower").TweenForCG();
 
@@ -347,7 +353,7 @@ public class ManaTutorial : Regist
 
     public static void PrepareStep6()
     {
-        TutorialIndex = 6;
+        TutorialIndexA = 6;
 
         ManaReso.Get("C_Main").TweenForCG();
 
@@ -373,7 +379,7 @@ public class ManaTutorial : Regist
 
     public static void PrepareStep7()
     {
-        TutorialIndex = 7;
+        TutorialIndexA = 7;
 
         Tween tween = ManaReso.Get("F_Manage0").GetTweenVec();
 
@@ -402,7 +408,7 @@ public class ManaTutorial : Regist
 
     public static void PrepareStep8()
     {
-        TutorialIndex = 8;
+        TutorialIndexA = 8;
 
         Tween tween = ManaReso.Get("Fa_Scrr").GetTweenRect();
 
@@ -432,8 +438,8 @@ public class ManaTutorial : Regist
 
     public static void PrepareStep9()
     {
-        TutorialIndex = 9;
-
+        TutorialIndexA = 9;
+        
         Tween tween = ManaReso.Get("Fe_Info").GetTweenCG();
 
         tween.AddEventOnetime
@@ -445,4 +451,142 @@ public class ManaTutorial : Regist
             }
         );
     }
+
+
+    public static void EndStep10()
+    {
+        Tutorial.HightDisable();
+    }
+
+    public static void EndStep11()
+    {
+        Tutorial.HightDisable();
+
+        TutorialB = false;
+    }
+
+    public static void PrepareStep10()
+    {
+        Data.SavePlayerBool("TutorialB", false);
+
+        ManaReso.Get("Fe_Info").TweenConBacCG();
+
+        ManaReso.Get("N_Mask").TweenForGra();
+
+        ManaReso.SetActive("N_Mask", true);
+        ManaReso.SetActive("N_Arrow", true);
+        ManaReso.SetActive("N_Tutorial", true);
+
+
+        Transform grid = ManaReso.Get("Fa_Grid");
+        Transform item = ManaData.SkillDic["Ability2"].SkillItem;
+        RectTransform scrr = ManaReso.Get<RectTransform>("Fa_Scrr");
+
+        Vector2 v1 = scrr.rect.center; 
+        Vector2 v2 = item.localPosition;
+        Vector3 offset = v1 - v2;
+
+        offset.x = 0;
+
+
+        Move move = ManaReso.Get("Fa_Grid").Move2D(grid.position + offset, 1f, false, Curve.EaseOutQuad);
+
+        move.AddEventOnetime
+        (
+            EventType.ForwardFinish,
+            () =>
+            {
+                Tutorial.HightScreen(item.FindChild("Arrow1"), item.FindChild("Arrow0"), item.FindChild("Btn"));
+            }
+        );
+
+
+        Tween tween = ManaReso.Get("Fe_Info").GetTweenCG();
+
+        tween.AddEventOnetime
+        (
+            EventType.ForwardFinish,
+            () =>
+            {
+                Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
+            }
+        );
+
+
+        tween = ManaReso.Get("F_Manage").GetTweenGra();
+
+        tween.AddEventOnetime
+        (
+            EventType.BackwardFinish,
+            () =>
+            {
+                move = ManaReso.Get("MainCamera").GetZoom2D();
+                
+                move.AddEventOnetime
+                (
+                    EventType.ForwardFinish,
+                    () =>
+                    {
+                        PrepareStep11();
+                    }
+                );
+            }
+        );
+    }
+
+    public static void PrepareStep11()
+    {
+        ManaReso.Get("N_Mask").TweenForGra();
+
+        ManaReso.Get<Button>("C_Manage").onClick.Invoke();
+
+        Tween tween = ManaReso.Get("F_Manage0").GetTweenVec();
+
+        tween.AddEventOnetime
+        (
+            EventType.ForwardFinish,
+            () =>
+            {
+                Auxiliary.Instance.DelayCall
+                (
+                    () =>
+                    {
+                        ManaReso.Get<Button>("F_Elf").onClick.Invoke();
+                    },
+                    0.25f
+                );
+                
+                Auxiliary.Instance.DelayCall
+                (
+                    () =>
+                    {
+                        Transform item = ManaData.SkillDic["Ability5"].SkillItem;
+
+                        Tutorial.HightScreen(item.FindChild("Arrow1"), item.FindChild("Arrow0"), item.FindChild("Btn"));
+                    },
+                    0.5f
+                );
+            }
+        );
+
+
+        tween = ManaReso.Get("Fe_Info").GetTweenCG();
+
+        tween.AddEventOnetime
+        (
+            EventType.ForwardFinish,
+            () =>
+            {
+                Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
+            }
+        );
+
+        ManaReso.AddButtonEventOnetime
+        (
+            "Fe_Btn", () =>
+            {
+                EndStep11();
+            }
+        );
+    }
 }

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

@@ -22,7 +22,7 @@ public class ManaUI : Regist
         Transform tra = new GameObject("UI").transform;
 
         ManaReso.Get("Canvas", Folder.UI, true, tra, false);
-        ManaReso.Get("MainCamera", Folder.UI, false, tra,  false);
+        ManaReso.Get("MainCamera", Folder.UI, true, tra,  false);
         ManaReso.Get("EventSystem", Folder.UI, false, tra, false);
     }
 
@@ -33,7 +33,7 @@ public class ManaUI : Regist
 
     public override void RegistValueB()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA)
         {
             TutorialRegistValueB();
         }
@@ -255,7 +255,7 @@ public class ManaUI : Regist
             "D_Quit",
             () =>
             {
-                FlowerInfo flowerInfo = ManaGarden.FlowerInfoList.Random();
+                FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic.Random();
 
                 Vector2 newSize = flowerInfo.Sprite.rect.size;
                 newSize.x *= 0.2f;
@@ -490,6 +490,26 @@ public class ManaUI : Regist
 
         #region E
 
+        ManaReso.SetButtonEvent
+        (
+            "E_ShowBtn",
+            () =>
+            {
+                if (ManaReso.Get("E_Group").gameObject.activeSelf)
+                {
+                    ManaReso.SetActive("E_Group", false);
+
+                    ManaReso.SetText("E_ShowLab", "显示");
+                }
+                else
+                {
+                    ManaReso.SetActive("E_Group", true);
+
+                    ManaReso.SetText("E_ShowLab", "隐藏");
+                }
+            }
+        );
+
         #region E_PauseBtn
 
         ManaReso.AddButtonEvent
@@ -579,8 +599,9 @@ public class ManaUI : Regist
             "Ea_Current",
             () =>
             {
-                ManaData.Coin += 1000;
-                ManaData.Diamond += 1000;
+                //ManaData.Coin += 1000;
+                //ManaData.Diamond += 1000;
+                ManaData.Free = true;
             }
         );
 
@@ -1516,7 +1537,7 @@ public class ManaUI : Regist
             "D_Quit",
             () =>
             {
-                FlowerInfo flowerInfo = ManaGarden.FlowerInfoList.Random();
+                FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic.Random();
 
                 Vector2 newSize = flowerInfo.Sprite.rect.size;
                 newSize.x *= 0.2f;
@@ -1751,6 +1772,30 @@ public class ManaUI : Regist
 
         #region E
 
+        #region E_Show
+
+        ManaReso.SetButtonEvent
+        (
+            "E_ShowBtn",
+            () =>
+            {
+                if (ManaReso.Get("E_Group").gameObject.activeSelf)
+                {
+                    ManaReso.SetActive("E_Group", false);
+
+                    ManaReso.SetText("E_ShowLab", "显示");
+                }
+                else
+                {
+                    ManaReso.SetActive("E_Group", true);
+
+                    ManaReso.SetText("E_ShowLab", "隐藏");
+                }
+            }
+        );
+
+        #endregion
+
         #region E_PauseBtn
 
         ManaReso.AddButtonEvent
@@ -1840,8 +1885,9 @@ public class ManaUI : Regist
             "Ea_Current",
             () =>
             {
-                ManaData.Coin += 1000;
-                ManaData.Diamond += 1000;
+                //ManaData.Coin += 1000;
+                //ManaData.Diamond += 1000;
+                ManaData.Free = true;
             }
         );
 

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

@@ -14,8 +14,10 @@ public class Drop : ObjRoot,IPointerClickHandler
 
     #endregion
 
-    protected virtual void Awake()
+    public override void RegistImmed()
     {
+        enabled = true;
+
         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);
 

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

@@ -12,9 +12,9 @@ public class DropDiamond : Drop
     
     #endregion
 
-    protected override void Awake()
+    public override void RegistImmed()
     {
-        base.Awake();
+        base.RegistImmed();
 
         ObjType = ObjType.DropDiamond;
     }

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

@@ -12,9 +12,9 @@ public class DropGold : Drop
 
     #endregion
 
-	protected override void Awake()
+	public override void RegistImmed()
     {
-        base.Awake();
+        base.RegistImmed();
 
 	    ObjType = ObjType.DropGold;
     }

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

@@ -133,7 +133,7 @@ public class FlowerInfo
         (
             () =>
             {
-                if (Initializer.Tutorial)
+                if (ManaTutorial.TutorialA)
                 {
                     TutorialClick();
                 }
@@ -237,14 +237,14 @@ public class Flower : ObjRoot, IPointerClickHandler
     public Transform GoldBk;
     public Transform GoldIcon;
 
-    private Dictionary<string, Transform> ChildDic;
+    private Dictionary<string, Transform> ChildDic = new Dictionary<string, Transform>();
 
     #endregion
     
-    public void Regist()
+    public override void RegistImmed()
     {
-        ChildDic = new Dictionary<string, Transform>();
-        
+        enabled = true;
+
         Auxiliary.CompileDic(transform, ChildDic);
 
         GoldBk = ChildDic["GoldBk"];

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

@@ -34,11 +34,11 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
     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;
+    public static List<Vector3> PlayerPos = new List<Vector3>();
+    public static List<Vector3> GardenPosA = new List<Vector3>();
+    public static List<Vector3> GardenPosBk2 = new List<Vector3>();
+    public static List<Vector3> GardenPosBk3 = new List<Vector3>();
+    public static List<Vector3> GardenPosBk4 = new List<Vector3>();
 
     #endregion
 
@@ -184,7 +184,7 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
     public override void RegistReference()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA)
         {
             TutorialRegistReference();
         }

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

@@ -3,7 +3,7 @@
 using System;
 using System.Collections;
 
-public class ObjRoot : MonoBehaviour 
+public class ObjRoot : Regist 
 {
     public ObjType ObjType;
 }

+ 11 - 9
Assets/Script/Object/Player.cs

@@ -3,7 +3,7 @@
 using System.Collections;
 using System.Collections.Generic;
 
-public class Player : MonoBehaviour 
+public class Player : Regist 
 {
     #region 变量
 
@@ -16,13 +16,13 @@ public class Player : MonoBehaviour
     private SpriteRenderer RightShoeSr;
     private SpriteRenderer HeadWearSr;
 
-    private List<Sprite> EyeList;
-    private List<Sprite> TopList;
-    private List<Sprite> ShoeList;
-    private List<Sprite> HeadList;
-    private List<Sprite> DressList;
-    private List<Sprite> MouseList;
-    private List<Sprite> HeadWearList;
+    private List<Sprite> EyeList = new List<Sprite>();
+    private List<Sprite> TopList = new List<Sprite>();
+    private List<Sprite> ShoeList = new List<Sprite>();
+    private List<Sprite> HeadList = new List<Sprite>();
+    private List<Sprite> DressList = new List<Sprite>();
+    private List<Sprite> MouseList = new List<Sprite>();
+    private List<Sprite> HeadWearList = new List<Sprite>();
 
     public static Dictionary<string, Transform> _ChildDic;
 
@@ -42,8 +42,10 @@ public class Player : MonoBehaviour
 
     #endregion
 
-    private void Awake()
+    public override void RegistImmed()
     {
+        enabled = true;
+
         #region MyRegion
 
         Auxiliary.CompileDic(transform, ChildDic);

+ 140 - 17
Assets/Script/Object/Skill/Ability.cs

@@ -1,4 +1,5 @@
 using UnityEngine;
+using UnityEngine.UI;
 
 using System;
 using System.Xml;
@@ -82,7 +83,7 @@ public class Ability : SkillRoot
             {
                 ItemBtn.interactable = true;
 
-                ManaText.Add(ItemTit, new LanStr("SkillName", _Name), " ", (Level + 1).ToString());
+                ManaText.Add(ItemTit, new LanStr("SkillName", _Name), " ", Level .ToString());
                 ManaText.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab2"));
             }
             else
@@ -208,8 +209,11 @@ public class Ability : SkillRoot
             UpgradeValue(ref NewPerson, Person, UpgradePerson, Level);
             UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, Level);
             UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, Level);
-            
-            UseConti();
+
+            if (Level > 0)
+            {
+                UseConti();
+            }
         }
 
         ItemStatus = ItemStatus;
@@ -242,8 +246,6 @@ public class Ability : SkillRoot
 
             ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
 
-            UseConti();
-
             if (UpgradeCur != Current.Free)
             {
                 ItemStatus = SkillStatus.Upgrade;
@@ -257,7 +259,7 @@ public class Ability : SkillRoot
 
     protected void OnClick()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA || ManaTutorial.TutorialB && ManaData.Level >= 200)
         {
             TutorialClick();
         }
@@ -269,7 +271,7 @@ public class Ability : SkillRoot
 
     protected void Upgrade()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA)
         {
             TutorialUpgrade();
         }
@@ -283,8 +285,6 @@ public class Ability : SkillRoot
     {
         if (ValidAnim == false)
         {
-            ValidAnim = true;
-
             if (!string.IsNullOrEmpty(Anim))
             {
                 string[] strings = Anim.Split(',');
@@ -295,7 +295,7 @@ public class Ability : SkillRoot
                 }
                 else if (strings.Length > 1)
                 {
-                    ManaReso.Get(strings[0], Folder.Character, false, ManaReso.Get(strings[1]), false);
+                    ManaReso.Get(strings[0], Folder.Character, true, ManaReso.Get(strings[1]), false);
                 }
             }
         }
@@ -400,8 +400,6 @@ public class Ability : SkillRoot
 
             ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
 
-            UseConti();
-
             if (UpgradeCur != Current.Free)
             {
                 ItemStatus = SkillStatus.Upgrade;
@@ -465,11 +463,18 @@ public class Ability : SkillRoot
                 "Fe_Btn",
                 () =>
                 {
-                    Upgrade();
+                    TutorialUpgrade();
 
                     ManaReso.Get("Fe_Info").TweenBacCG();
 
-                    ManaTutorial.EndStep7();
+                    if (ManaTutorial.TutorialA)
+                    {
+                        ManaTutorial.EndStep7();
+                    }
+                    else if (ManaTutorial.TutorialB)
+                    {
+                        ManaTutorial.EndStep10();
+                    }
                 }
             );
         }
@@ -570,7 +575,7 @@ public class Ability : SkillRoot
         UpgradeValue(ref NewSkillCdBuff, UpgradeCD, 1);
         UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
 
-        ManaText.Add(ItemTit, new LanStr("SkillName", _Name), " ", (Level + 1).ToString());
+        ManaText.Add(ItemTit, new LanStr("SkillName", _Name), " ", Level.ToString());
 
         ItemLab.text = Description(0);
         ManaReso.SetText("Fe_Lab0", Description(0));
@@ -580,6 +585,65 @@ public class Ability : SkillRoot
         ManaDebug.Log(string.Format("<color=red>{0}</color> 升级 : {1}", Name, Level));
 
         UseConti();
+
+        if (ValidAnim == false)
+        {
+            ValidAnim = true;
+
+            if (!string.IsNullOrEmpty(Anim))
+            {
+                string[] strings = Anim.Split(',');
+
+                if (strings.Length == 1)
+                {
+                    if (ManaGarden.PlantList.Count == 0)
+                    {
+                        return;
+                    }
+
+                    Flower flower = ManaGarden.PlantList.Random().Flower;
+
+                    flower.PlayAnim(ManaGarden.AnimList.Last(0));
+
+                    ManaReso.Get<Button>("F_Close").onClick.Invoke();
+
+                    Tween tween = ManaReso.Get("F_Manage0").GetTweenVec();
+
+                    ManaReso.Get("MainCamera").CreateZoom2D();
+
+                    tween.AddEventOnetime
+                    (
+                        EventType.BackwardFinish,
+                        () =>
+                        {
+                            ManaReso.Get("MainCamera").Zoom2D(1.5f, 1f, 1, flower.transform.GetChild(4), Curve.EaseOutQuad);
+                        }
+                    );
+                }
+                else if (strings.Length > 1)
+                {
+                    ManaReso.Get<Button>("F_Close").onClick.Invoke();
+
+                    ManaReso.Get("MainCamera").CreateZoom2D();
+
+                    Tween tween0 = ManaReso.Get(strings[0]).CreateTweenSr(0, 1, 1, true, true, Curve.EaseOutQuad, false, true);
+
+                    tween0.InOrigin = true;
+
+                    Tween tween1 = ManaReso.Get("F_Manage0").GetTweenVec();
+
+                    tween1.AddEventOnetime
+                    (
+                        EventType.BackwardFinish,
+                        () =>
+                        {
+                            tween0.StartForward();
+                            ManaReso.Get("MainCamera").Zoom2D(3.5f, 1f, 1, ManaReso.Get(strings[0]), Curve.EaseOutQuad);
+                        }
+                    );
+                }
+            }
+        }
     }
 
     private void RegularUpgrade()
@@ -588,7 +652,7 @@ public class Ability : SkillRoot
         {
             if (_Name == "Ability1")
             {
-                ManaData.Level++;
+                ManaData.Level+= 20;
             }
 
             Level++;
@@ -606,7 +670,7 @@ public class Ability : SkillRoot
             UpgradeValue(ref NewSkillCdBuff, UpgradeCD, 1);
             UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
 
-            ManaText.Add(ItemTit, new LanStr("SkillName", _Name), " ", (Level + 1).ToString());
+            ManaText.Add(ItemTit, new LanStr("SkillName", _Name), " ", Level.ToString());
 
             ItemLab.text = Description(0);
             ManaReso.SetText("Fe_Lab0", Description(0));
@@ -616,6 +680,65 @@ public class Ability : SkillRoot
             ManaDebug.Log(string.Format("<color=red>{0}</color> 升级 : {1}", Name, Level));
 
             UseConti();
+
+            if (ValidAnim == false)
+            {
+                ValidAnim = true;
+
+                if (!string.IsNullOrEmpty(Anim))
+                {
+                    string[] strings = Anim.Split(',');
+
+                    if (strings.Length == 1)
+                    {
+                        if (ManaGarden.PlantList.Count == 0)
+                        {
+                            return;
+                        }
+
+                        Flower flower = ManaGarden.PlantList.Random().Flower;
+
+                        flower.PlayAnim(ManaGarden.AnimList.Last(0));
+
+                        ManaReso.Get<Button>("F_Close").onClick.Invoke();
+
+                        Tween tween = ManaReso.Get("F_Manage0").GetTweenVec();
+
+                        ManaReso.Get("MainCamera").CreateZoom2D();
+
+                        tween.AddEventOnetime
+                        (
+                            EventType.BackwardFinish,
+                            () =>
+                            {
+                                ManaReso.Get("MainCamera").Zoom2D(1.5f, 1f, 1, flower.transform.GetChild(4), Curve.EaseOutQuad);
+                            }
+                        );
+                    }
+                    else if (strings.Length > 1)
+                    {
+                        ManaReso.Get<Button>("F_Close").onClick.Invoke();
+
+                        Tween tween0 = ManaReso.Get(strings[0]).CreateTweenSr(0, 1, 1, true, true, Curve.EaseOutQuad, false, true);
+
+                        tween0.InOrigin = true;
+
+                        Tween tween1 = ManaReso.Get("F_Manage0").GetTweenVec();
+
+                        ManaReso.Get("MainCamera").CreateZoom2D();
+
+                        tween1.AddEventOnetime
+                        (
+                            EventType.BackwardFinish,
+                            () =>
+                            {
+                                tween0.StartForward();
+                                ManaReso.Get("MainCamera").Zoom2D(3.5f, 1f, 1, ManaReso.Get(strings[0]), Curve.EaseOutQuad);
+                            }
+                        );
+                    }
+                }
+            }
         }
     }
 

+ 102 - 46
Assets/Script/Object/Skill/BigSkill.cs

@@ -44,8 +44,6 @@ public class BigSkill : Skill
                     BarBk1.SetActive(true);
                     BarBtn.interactable = false;
                     BarLab.text = "";
-
-                    BarBk1.material = ManaReso.Load<Material>("GrayMat", Folder.Shader);
                 }
                 else
                 {
@@ -88,7 +86,7 @@ public class BigSkill : Skill
             }
             else if (_ItemStatus == SkillStatus.Upgrade)
             {
-                ManaText.Add(ItemTit, new LanStr("SkillName", _Name), " ", (Level + 1).ToString());
+                ManaText.Add(ItemTit, new LanStr("SkillName", _Name), " ", Level.ToString());
 
                 ManaText.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab2"));
             }
@@ -247,8 +245,6 @@ public class BigSkill : Skill
 
             if (_ItemStatus == SkillStatus.Upgrade)
             {
-                BarBk1.material = null;
-
                 ShowSkillBar();
 
                 ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁 等级 : {1}", Name, Level));
@@ -359,7 +355,7 @@ public class BigSkill : Skill
 
     protected override void Buy()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA)
         {
             TutorialBuy();
         }
@@ -374,11 +370,8 @@ public class BigSkill : Skill
         if (ManaData.Pay(UnlockAmt, UnlockCur))
         {
             ShowSkillBar();
-
-            BarBk1.material = null;
-
+            
             ItemStatus = SkillStatus.Upgrade;
-            BarStatus = SkillStatus.Buy;
 
             if (SkillTab != SkillTab.Null)
             {
@@ -391,40 +384,13 @@ public class BigSkill : Skill
 
     protected override void Upgrade()
     {
-        if (ManaData.Pay(NewUpgradeAmt, UpgradeCur))
+        if (ManaTutorial.TutorialA || ManaTutorial.TutorialB && ManaData.Level >= 200)
         {
-            Level++;
-
-            if (BarStatus == SkillStatus.Use)
-            {
-                AnnulConti();
-            }
-
-            NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
-
-            UpgradeValue(ref NewPlus, Plus, UpgradePlus, 1);
-            UpgradeValue(ref NewSkillCdBuff, UpgradeCD, 1);
-            UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
-            UpgradeValue(ref NewCoinOnceBuff, UpgradeCoinOnce, 1);
-
-            UpgradeValue(ref NewPerson, Person, UpgradePerson, 1);
-            UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, 1);
-            UpgradeValue(ref NewDuration, Duration, UpgradeDuration, 1);
-            UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, 1);
-            UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
-
-            ManaText.Add(ItemTit, new LanStr("SkillName", _Name), " ", (Level + 1).ToString());
-            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"), ImageParse(UpgradeCur), NewUpgradeAmt));
-
-            ManaDebug.Log(string.Format("<color=red>{0}</color> 升级 : {1}", Name, Level));
-
-            if (BarStatus == SkillStatus.Use)
-            {
-                UseConti();
-            }
+            TutorialUpgrade();
+        }
+        else
+        {
+            RegularUpgrade();
         }
     }
 
@@ -441,10 +407,7 @@ public class BigSkill : Skill
         {
             ShowSkillBar();
 
-            BarBk1.material = null;
-
             ItemStatus = SkillStatus.Upgrade;
-            BarStatus = SkillStatus.Buy;
 
             ManaReso.Get("Fe_Info").TweenBacCG();
 
@@ -636,4 +599,97 @@ public class BigSkill : Skill
             #endregion
         }
     }
+
+    private void TutorialUpgrade()
+    {
+        if (Level == 0)
+        {
+            BarStatus = SkillStatus.Buy;
+
+            BarBk1.material = null;
+
+            return;
+        }
+
+        Level++;
+
+        if (BarStatus == SkillStatus.Use)
+        {
+            AnnulConti();
+        }
+
+        NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
+
+        UpgradeValue(ref NewPlus, Plus, UpgradePlus, 1);
+        UpgradeValue(ref NewSkillCdBuff, UpgradeCD, 1);
+        UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
+        UpgradeValue(ref NewCoinOnceBuff, UpgradeCoinOnce, 1);
+
+        UpgradeValue(ref NewPerson, Person, UpgradePerson, 1);
+        UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, 1);
+        UpgradeValue(ref NewDuration, Duration, UpgradeDuration, 1);
+        UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, 1);
+        UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
+
+        ManaText.Add(ItemTit, new LanStr("SkillName", _Name), " ", Level.ToString());
+        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"), ImageParse(UpgradeCur), NewUpgradeAmt));
+
+        ManaDebug.Log(string.Format("<color=red>{0}</color> 升级 : {1}", Name, Level));
+
+        if (BarStatus == SkillStatus.Use)
+        {
+            UseConti();
+        }
+    }
+
+    private void RegularUpgrade()
+    {
+        if (ManaData.Pay(NewUpgradeAmt, UpgradeCur))
+        {
+            if (Level == 0)
+            {
+                BarStatus = SkillStatus.Buy;
+
+                BarBk1.material = null;
+
+                return;
+            }
+
+            Level++;
+
+            if (BarStatus == SkillStatus.Use)
+            {
+                AnnulConti();
+            }
+
+            NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
+
+            UpgradeValue(ref NewPlus, Plus, UpgradePlus, 1);
+            UpgradeValue(ref NewSkillCdBuff, UpgradeCD, 1);
+            UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
+            UpgradeValue(ref NewCoinOnceBuff, UpgradeCoinOnce, 1);
+
+            UpgradeValue(ref NewPerson, Person, UpgradePerson, 1);
+            UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, 1);
+            UpgradeValue(ref NewDuration, Duration, UpgradeDuration, 1);
+            UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, 1);
+            UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
+
+            ManaText.Add(ItemTit, new LanStr("SkillName", _Name), " ", Level.ToString());
+            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"), ImageParse(UpgradeCur), NewUpgradeAmt));
+
+            ManaDebug.Log(string.Format("<color=red>{0}</color> 升级 : {1}", Name, Level));
+
+            if (BarStatus == SkillStatus.Use)
+            {
+                UseConti();
+            }
+        }
+    }
 }

+ 2 - 2
Assets/Script/Object/Skill/Pack.cs

@@ -227,7 +227,7 @@ public class Pack : SkillRoot
 
                 for (int i = 0; i < strings.Length; i++)
                 {
-                    strb.AppendFormat(" 获得<color=red>{0}</color>", ManaGarden.FlowerInfoList[int.Parse(strings[i])].Name);
+                    strb.AppendFormat(" 获得<color=red>{0}</color>", ManaGarden.FlowerInfoDic[int.Parse(strings[i])].Name);
                 }
             }
 
@@ -253,7 +253,7 @@ public class Pack : SkillRoot
 
             for (int i = 0; i < strings.Length; i++)
             {
-                FlowerInfo flowerInfo = ManaGarden.FlowerInfoList[int.Parse(strings[i])];
+                FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic[int.Parse(strings[i])];
 
                 if (flowerInfo.Unlock == false)
                 {

+ 16 - 13
Assets/Script/Object/Skill/Skill.cs

@@ -362,7 +362,7 @@ public class Skill : SkillRoot
 
     protected void OnClick()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA)
         {
             TutorialClick();
         }
@@ -517,7 +517,7 @@ public class Skill : SkillRoot
 
     protected virtual void Upgrade()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA || ManaTutorial.TutorialB && ManaData.Level >= 200)
         {
             TutorialUpgrade();
         }
@@ -620,19 +620,22 @@ public class Skill : SkillRoot
             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"), ImageParse(UpgradeCur), NewUpgradeAmt));
+            
+            if (ManaTutorial.TutorialA)
+            {
+                ManaReso.AddButtonEventOnetime
+                (
+                    "Fe_Btn",
+                    () =>
+                    {
+                        Upgrade();
 
-            ManaReso.SetButtonEvent
-            (
-                "Fe_Btn",
-                () =>
-                {
-                    Upgrade();
-
-                    ManaReso.Get("Fe_Info").TweenBacCG();
+                        ManaReso.Get("Fe_Info").TweenBacCG();
 
-                    ManaTutorial.EndStep8();
-                }
-            );
+                        ManaTutorial.EndStep8();
+                    }
+                );
+            }
         }
         else if (ItemStatus == SkillStatus.Use)
         {

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

@@ -4,7 +4,7 @@ using System.Collections;
 using System.Collections.Generic;
 using UnityEngine.UI;
 
-public class Slot : MonoBehaviour
+public class Slot : Regist
 {
     #region 变量
 
@@ -38,8 +38,10 @@ public class Slot : MonoBehaviour
 
     #endregion
 
-	private void Awake()
+	public override void RegistImmed()
 	{
+	    enabled = true;
+
         Icon = transform.GetChild(0).gameObject;
 	    Collider = GetComponent<BoxCollider2D>();
         TextMesh = transform.GetChild(0).GetChild(0).GetComponent<TextMesh>();

+ 18 - 10
Assets/Script/Object/Tutorial.cs

@@ -52,7 +52,7 @@ public class Tutorial : Regist, IPointerClickHandler
 
     public override void Instantiate()
     {
-        if (ManaTutorial.TutorialIndex == 1)
+        if (ManaTutorial.TutorialA && ManaTutorial.TutorialIndexA == 1)
         {
             PlayerBrown = ManaReso.Get("PlayerBrown", Folder.Character, false, ManaReso.Get("PlayerBk1"), ManaReso.Get("PlayerBk1").position);
 
@@ -64,20 +64,20 @@ public class Tutorial : Regist, IPointerClickHandler
 
     public override void RegistValueA()
     {
-        if (Initializer.Tutorial)
+        if (ManaTutorial.TutorialA || ManaTutorial.TutorialB)
         {
-            ManaReso.Get("Tutorial").CreateTweenSr(0, 1, 5f, true, true, Curve.EaseOutQuad, false, true);
+            ManaReso.Get("Tutorial").CreateTweenSr(0, 1, 2.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();
+            ManaReso.Get("TutorialMask").AddScript<SceneMask>();
             
             Arrow = ManaReso.Get("N_Arrow");
             Material = ManaReso.Get<Image>("N_Mask").material;
 
-            if (ManaTutorial.TutorialIndex == 1)
+            if (ManaTutorial.TutorialA && ManaTutorial.TutorialIndexA == 1)
             {
                 ManaReso.SetActive("PlayerBk1", true);
                 ManaReso.SetActive("PlayerBk2", true);
@@ -85,6 +85,10 @@ public class Tutorial : Regist, IPointerClickHandler
                 ManaReso.SetActive("TutorialMask", true);
                 ManaReso.SetActive("TutorialCollider", true);
             }
+            else
+            {
+                ManaReso.Get("Tutorial").SetCollider(false);
+            }
         }
     }
 
@@ -101,7 +105,7 @@ public class Tutorial : Regist, IPointerClickHandler
     public static void HightScene(float radiusX, float radiusY, Transform posTra, Transform targetPos, Transform targetTra)
     {
         SceneMask.SetArea(targetTra, radiusX, radiusY);
-
+        
         PointScene(Camera.main.WorldToScreenPoint(posTra.position), targetPos);
 
         Arrow.TweenForCG();
@@ -117,8 +121,6 @@ public class Tutorial : Regist, IPointerClickHandler
 
         PointScreen(posTra.position, targetTra);
 
-        HighLightList.Add(targetTra);
-
         UIMask = true;
 
         Arrow.TweenForCG();
@@ -151,6 +153,8 @@ public class Tutorial : Regist, IPointerClickHandler
     {
         for (int i = 0; i < HighLightList.Count; i++)
         {
+            HighLightList[i].GetComponent<Canvas>().overrideSorting = false;
+            
             Destroy(HighLightList[i].GetComponent<GraphicRaycaster>());
             Destroy(HighLightList[i].GetComponent<Canvas>());
         }
@@ -167,9 +171,11 @@ public class Tutorial : Regist, IPointerClickHandler
 
     public static void HightDisable(int index, bool hideArrow)
     {
+        HighLightList[index].GetComponent<Canvas>().overrideSorting = false;
+
         Destroy(HighLightList[index].GetComponent<GraphicRaycaster>());
         Destroy(HighLightList[index].GetComponent<Canvas>());
-
+        
         HighLightList.RemoveAt(index);
 
         if (hideArrow)
@@ -180,6 +186,8 @@ public class Tutorial : Regist, IPointerClickHandler
 
     public static void HightDisable(Transform tra, bool hideArrow)
     {
+        tra.GetComponent<Canvas>().overrideSorting = false;
+
         Destroy(tra.GetComponent<GraphicRaycaster>());
         Destroy(tra.GetComponent<Canvas>());
 
@@ -238,7 +246,7 @@ public class Tutorial : Regist, IPointerClickHandler
         }
         else if (eventData.rawPointerPress.name == "TutorialCollider")
         {
-            if (ManaTutorial.TutorialIndex == 4)
+            if (ManaTutorial.TutorialIndexA == 4)
             {
                 ManaTutorial.EndStep4();
             }

+ 57 - 0
Assets/Script/Tool/Anim/Move.cs

@@ -21,4 +21,61 @@ public abstract class Move
     #endregion
 
     public abstract bool Do();
+
+
+    public void PushEvent(EventType type, UnityAction action)
+    {
+        if (type == EventType.ForwardStart)
+        {
+            OnForwardStart = action + OnForwardStart;
+        }
+        else if (type == EventType.ForwardFinish)
+        {
+            OnForwardFinish = action + OnForwardFinish;
+        }
+    }
+
+    public void AddEventOnetime(EventType type, UnityAction action)
+    {
+        if (type == EventType.ForwardStart)
+        {
+            action += () =>
+            {
+                OnForwardStart -= action;
+            };
+
+            OnForwardStart += action;
+        }
+        else if (type == EventType.ForwardFinish)
+        {
+            action += () =>
+            {
+                OnForwardFinish -= action;
+            };
+
+            OnForwardFinish += 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;
+        }
+    }
 }

+ 14 - 10
Assets/Script/Tool/Anim/TweenSr.cs

@@ -31,9 +31,11 @@ public class TweenSr : Tween
 
                 if (Group)
                 {
-                    for (int i = 0; i < Targets.Length; i++)
+                    Targets = Target.GetComponentsInChildren<SpriteRenderer>();
+
+                    for (int i = 1; i < Targets.Length; i++)
                     {
-                        Targets[i].SetAlpha(Target.color.a * Targets[i].color.a);
+                        Targets[i].SetAlpha(Target.color.a);
                     }
                 }
 
@@ -67,9 +69,11 @@ public class TweenSr : Tween
 
                 if (Group)
                 {
-                    for (int i = 0; i < Targets.Length; i++)
+                    Targets = Target.GetComponentsInChildren<SpriteRenderer>();
+
+                    for (int i = 1; i < Targets.Length; i++)
                     {
-                        Targets[i].SetAlpha(Target.color.a * Targets[i].color.a);
+                        Targets[i].SetAlpha(Target.color.a);
                     }
                 }
 
@@ -169,15 +173,15 @@ public class TweenSr : Tween
         else
         {
             Target.color = Func(Timer, Duration, Origin, Delta);
-
+            
             if (Group)
             {
-                for (int i = 0; i < Targets.Length; i++)
+                for (int i = 1; i < Targets.Length; i++)
                 {
-                    Targets[i].SetAlpha(Target.color.a * Targets[i].color.a);
+                    Targets[i].SetAlpha(Target.color.a);
                 }
             }
-
+            
             return false;
         }
     }
@@ -210,9 +214,9 @@ public class TweenSr : Tween
 
             if (Group)
             {
-                for (int i = 0; i < Targets.Length; i++)
+                for (int i = 1; i < Targets.Length; i++)
                 {
-                    Targets[i].SetAlpha(Target.color.a * Targets[i].color.a);
+                    Targets[i].SetAlpha(Target.color.a);
                 }
             }
 

+ 32 - 17
Assets/Script/Tool/Anim/Zoom2D.cs

@@ -47,6 +47,8 @@ public class Zoom2D : Move
 
     public void StartZoom(float origin, float destination, float duration, float stay, Transform target, Curve curve)
     {
+        OnForwardStart.SafeInvoke();
+
         Origin = origin;
         Target = target;
         Duration = duration;
@@ -61,22 +63,35 @@ public class Zoom2D : Move
 
         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
-            );
-        };
+        move.AddEventOnetime
+        (
+            EventType.ForwardFinish, 
+            () =>
+            {
+                Auxiliary.Instance.DelayCall
+                (
+                    () =>
+                    {
+                        Delta = origin - destination;
+                        Origin = destination;
+                        Destination = origin;
+
+                        ManaAnim.MoveList.Add(this);
+
+                        Move tempMove = Camera.Move2D(OriginVec, duration, false, curve);
+
+                        tempMove.AddEventOnetime
+                        (
+                            EventType.ForwardFinish,
+                            () =>
+                            {
+                                OnForwardFinish.SafeInvoke();
+                            }
+                        );
+                    },
+                    stay
+                );
+            }
+        );
     }
 }

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

@@ -65,6 +65,8 @@ public class Auxiliary : MonoBehaviour
     private void Awake()
     {
         Instance = this;
+
+        transform.AddComponent<ManaAnim>().RegistValueA();
     }
 
     private void Update()

+ 3 - 2
Assets/Script/Tool/Bundle.cs

@@ -5,7 +5,7 @@ using System.Collections;
 using System.Diagnostics;
 using Debug = UnityEngine.Debug;
 
-public class Bundle : MonoBehaviour
+public class Bundle : Regist
 {
     #region
 
@@ -24,8 +24,9 @@ public class Bundle : MonoBehaviour
 
     #endregion
 
-    public void Awake()
+    public override void RegistImmed()
     {
+        enabled = true;
         Instance = this;
 
         DontDestroyOnLoad(gameObject);

+ 8 - 6
Assets/Script/Tool/Data.cs

@@ -9,7 +9,7 @@ using System.Collections.Generic;
 
 public class Data
 {
-    #region
+    #region 变量
 
     public static XmlNode PlayerNode
     {
@@ -310,11 +310,11 @@ public class Data
 
         attribute.Value = "";
 
-        for (int i = 0; i < ManaGarden.FlowerInfoList.Count; i++)
+        for (int i = 0; i < ManaGarden.FlowerInfoDic.Count; i++)
         {
-            if (ManaGarden.FlowerInfoList[i].Unlock)
+            if (ManaGarden.FlowerInfoDic[i].Unlock)
             {
-                attribute.Value += ManaGarden.FlowerInfoList[i].ID + " ";
+                attribute.Value += ManaGarden.FlowerInfoDic[i].ID + " ";
             }
         }
 
@@ -491,8 +491,10 @@ 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";
+        PlayerNode.SelectSingleNode("TutorialA").Attributes[0].Value = "1";
+        PlayerNode.SelectSingleNode("TutorialB").Attributes[0].Value = "1";
+        PlayerNode.SelectSingleNode("TutorialIndexA").Attributes[0].Value = "1";
+        PlayerNode.SelectSingleNode("TutorialIndexB").Attributes[0].Value = "1";
     }
 
     private static void ResetFlowerList()

+ 29 - 8
Assets/Script/Tool/Extension.cs

@@ -1,10 +1,12 @@
 using UnityEngine;
 using UnityEngine.UI;
+using UnityEngine.Events;
 
 using System;
+using System.Linq;
 using System.Collections;
 using System.Collections.Generic;
-using UnityEngine.Events;
+
 using Random = UnityEngine.Random;
 
 public static class Extension
@@ -71,12 +73,12 @@ 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)
+    public static Zoom2D Zoom2D(this 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)
+    public static Zoom2D Zoom2D(this Transform target, float destination, float duration, float stay, Transform targetZoom, Curve curve)
     {
         return ManaAnim.Zoom2D(target, destination, duration, stay, targetZoom, curve);
     }
@@ -184,20 +186,30 @@ public static class Extension
 
     #region Regist
 
-    public static void AddScript<T>(this Component comp)
+    public static T AddScript<T>(this Component comp) where T : Component
     {
-        AddScript<T>(comp.gameObject);
+        return AddScript<T>(comp.gameObject);
     }
 
-    public static void AddScript<T>(this GameObject go)
+    public static T AddScript<T>(this GameObject go) where T : Component
     {
         Component comp = go.AddComponent(typeof(T));
 
         if (comp is Regist)
         {
-            ((Regist)comp).enabled = false;
+            Regist regist = (Regist) comp;
+
+            regist.enabled = false;
 
-            Initializer.RegistList.Add((Regist)comp);
+            regist.RegistImmed();
+
+            Initializer.RegistList.Add(regist);
+
+            return (T) comp;
+        }
+        else
+        {
+            throw new Exception();
         }
     }
 
@@ -665,6 +677,15 @@ public static class Extension
 
     #endregion
 
+    #region Dictionary
+
+    public static T2 Random<T1, T2>(this Dictionary<T1, T2> dic)
+    {
+        return dic.Values.ToList().Random();
+    }
+
+    #endregion
+
     #region UnityAction
 
     public static void SafeInvoke(this UnityAction action)

+ 3 - 2
Assets/Script/Tool/SceneMask.cs

@@ -3,7 +3,7 @@
 using System.Collections;
 using System.Collections.Generic;
 
-public class SceneMask : MonoBehaviour
+public class SceneMask : Regist
 {
     #region 变量
 
@@ -12,8 +12,9 @@ public class SceneMask : MonoBehaviour
 
     #endregion
 
-    public void Regist()
+    public override void RegistImmed()
     {
+        enabled = true;
         Material = GetComponent<SpriteRenderer>().material;
         BoxCollider = ManaReso.Get<BoxCollider2D>("TutorialCollider");
     }

+ 16 - 13
MyLovelyGarden.sln

@@ -1,9 +1,9 @@
-
-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}"
+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}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyLovelyGarden.Editor", "MyLovelyGarden.Editor.csproj", "{B575449E-FD9A-1672-368B-EC1E1252F6E4}"
+Project("{8A8BB0A8-D809-F2DF-89D6-F26151FFF558}") = "MyLovelyGarden", "Assembly-CSharp-Editor.csproj", "{A08052E5-32CE-91C0-FF56-C60C901D6BEF}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,16 +11,19 @@ Global
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{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
+		{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
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
+	GlobalSection(MonoDevelopProperties) = preSolution
+		StartupItem = Assembly-CSharp.csproj
+	EndGlobalSection
 EndGlobal

BIN
ProjectSettings/GraphicsSettings.asset


+ 0 - 9
ToList.txt

@@ -1,14 +1,5 @@
-小游戏持续时间(45)
-
-ManaData ManaSkill ManaGarden 种花使用Dic
-
-
-动画(Move作为所有的基类)
-
 切换后台
 
-注册机制(Regist中添加RegistImmed函数,在AddScript中调用)
-
 分段加载场景