LiuQilin 8 years ago
parent
commit
2d4607fccb
79 changed files with 1672 additions and 783 deletions
  1. BIN
      .vs/MyLovelyGarden/v14/.suo
  2. BIN
      Assets/Resource/Animations/Logo.anim
  3. 0 0
      Assets/Resource/Animations/人物动画/Closet_ske.json
  4. 1 1
      Assets/Resource/Animations/人物动画/Closet_tex.json
  5. BIN
      Assets/Resource/Animations/人物动画/Closet_tex.png
  6. 0 0
      Assets/Resource/Animations/人物动画/stand_ske.json
  7. BIN
      Assets/Resource/Animations/人物动画/stand_tex.png
  8. BIN
      Assets/Resource/Garden.unity
  9. BIN
      Assets/Resource/Logo.unity
  10. 1 1
      Assets/Resource/Prefab/Object/MusicMini.prefab.meta
  11. 1 1
      Assets/Resource/Prefab/Object/MusicTheme.prefab.meta
  12. 1 1
      Assets/Resource/Prefab/Object/Page.prefab.meta
  13. BIN
      Assets/Resource/Prefab/Object/Player.prefab
  14. 0 0
      Assets/Resource/Prefab/Object/Player.prefab.meta
  15. BIN
      Assets/Resource/Prefab/Object/PlayerBrown.prefab
  16. 0 8
      Assets/Resource/Prefab/Object/PlayerBrown.prefab.meta
  17. BIN
      Assets/Resource/Prefab/Object/PlayerPink.prefab
  18. 0 8
      Assets/Resource/Prefab/Object/PlayerPink.prefab.meta
  19. 1 1
      Assets/Resource/Prefab/Object/Tutorial.prefab.meta
  20. BIN
      Assets/Resource/Prefab/PrefabUI/Canvas.prefab
  21. BIN
      Assets/Resource/Prefab/PrefabUI/FlowerItem.prefab
  22. 0 0
      Assets/Resource/Prefab/PrefabUI/FlowerItem.prefab.meta
  23. BIN
      Assets/Resource/Prefab/PrefabUI/SignItem.prefab
  24. 0 0
      Assets/Resource/Prefab/PrefabUI/SignItem.prefab.meta
  25. BIN
      Assets/Resource/Prefab/PrefabUI/SkillItem.prefab
  26. 3 3
      Assets/Resource/XML/PlayerConfig.xml
  27. 32 11
      Assets/Script/Editor/EditorAuxiliary.cs
  28. 7 0
      Assets/Script/Interface/Regist.cs
  29. 14 14
      Assets/Script/Manage/Initializer.cs
  30. 22 1
      Assets/Script/Manage/ManaAchieve.cs
  31. 239 133
      Assets/Script/Manage/ManaAnim.cs
  32. 5 3
      Assets/Script/Manage/ManaAudio.cs
  33. 117 25
      Assets/Script/Manage/ManaData.cs
  34. 39 2
      Assets/Script/Manage/ManaGarden.cs
  35. 28 14
      Assets/Script/Manage/ManaMiniGame.cs
  36. 47 17
      Assets/Script/Manage/ManaPlayer.cs
  37. 273 92
      Assets/Script/Manage/ManaReso.cs
  38. 17 11
      Assets/Script/Manage/ManaServer.cs
  39. 19 1
      Assets/Script/Manage/ManaSign.cs
  40. 54 35
      Assets/Script/Manage/ManaTutorial.cs
  41. 132 30
      Assets/Script/Manage/ManaUI.cs
  42. 9 0
      Assets/Script/Object/DropDiamond.cs
  43. 9 0
      Assets/Script/Object/DropGold.cs
  44. 9 0
      Assets/Script/Object/Elf.cs
  45. 15 8
      Assets/Script/Object/Flower.cs
  46. 23 15
      Assets/Script/Object/Garden.cs
  47. 39 31
      Assets/Script/Object/Player.cs
  48. 3 3
      Assets/Script/Object/Skill/Ability.cs
  49. 2 18
      Assets/Script/Object/Skill/BigSkill.cs
  50. 17 1
      Assets/Script/Object/Slot.cs
  51. 0 18
      Assets/Script/Object/Tutorial.cs
  52. 2 2
      Assets/Script/Tool/Anim/Move.cs
  53. 9 9
      Assets/Script/Tool/Anim/Move2D.cs
  54. 9 9
      Assets/Script/Tool/Anim/Move3D.cs
  55. 9 9
      Assets/Script/Tool/Anim/Shake.cs
  56. 6 6
      Assets/Script/Tool/Anim/Tween.cs
  57. 5 5
      Assets/Script/Tool/Anim/TweenAudio.cs
  58. 5 5
      Assets/Script/Tool/Anim/TweenCG.cs
  59. 7 7
      Assets/Script/Tool/Anim/TweenFont.cs
  60. 0 0
      Assets/Script/Tool/Anim/TweenFont.cs.meta
  61. 5 5
      Assets/Script/Tool/Anim/TweenGra.cs
  62. 5 5
      Assets/Script/Tool/Anim/TweenRect.cs
  63. 1 1
      Assets/Script/Tool/Anim/TweenScale.cs
  64. 7 7
      Assets/Script/Tool/Anim/TweenSr.cs
  65. 6 6
      Assets/Script/Tool/Anim/TweenVec.cs
  66. 93 52
      Assets/Script/Tool/Anim/Zoom2D.cs
  67. 51 36
      Assets/Script/Tool/Auxiliary.cs
  68. 29 25
      Assets/Script/Tool/Bundle.cs
  69. 18 19
      Assets/Script/Tool/DashGame/Logo.cs
  70. 12 11
      Assets/Script/Tool/Data.cs
  71. 163 22
      Assets/Script/Tool/Extension.cs
  72. 9 0
      Assets/Script/Tool/SceneMask.cs
  73. 14 0
      Assets/Script/Tool/UI/HudText.cs
  74. 8 0
      Assets/Script/Tool/UI/ImagePlus.cs
  75. 9 0
      Assets/Script/Tool/UI/Toast.cs
  76. 3 3
      MyLovelyGarden.Editor.csproj
  77. 4 4
      MyLovelyGarden.csproj
  78. BIN
      ProjectSettings/GraphicsSettings.asset
  79. 4 28
      ToList.txt

BIN
.vs/MyLovelyGarden/v14/.suo


BIN
Assets/Resource/Animations/Logo.anim


File diff suppressed because it is too large
+ 0 - 0
Assets/Resource/Animations/人物动画/Closet_ske.json


+ 1 - 1
Assets/Resource/Animations/人物动画/Closet_tex.json

@@ -1 +1 @@
-{"imagePath":"Closet_tex.png","SubTexture":[{"width":165,"y":680,"height":111,"name":"上衣1","x":649},{"width":165,"y":259,"height":111,"name":"上衣2","x":718},{"width":165,"y":793,"height":111,"name":"上衣3","x":649},{"width":264,"y":162,"height":95,"name":"眼睛1","x":718},{"y":906,"frameX":-8,"frameY":-12,"frameHeight":95,"width":231,"frameWidth":264,"height":77,"name":"眼睛2","x":765},{"y":985,"frameX":-14,"frameY":-10,"frameHeight":95,"width":220,"frameWidth":264,"height":78,"name":"眼睛3","x":765},{"width":646,"y":575,"height":391,"name":"脑壳1","x":1},{"width":548,"y":968,"height":424,"name":"脑壳2","x":1},{"width":487,"y":1,"height":572,"name":"脑壳3","x":1},{"y":968,"frameX":0,"frameY":-3,"frameHeight":142,"width":212,"frameWidth":212,"height":135,"name":"裙子1","x":551},{"y":956,"frameX":-22,"frameY":-12,"frameHeight":35,"width":12,"frameWidth":56,"height":10,"name":"嘴巴1","x":705},{"y":378,"frameX":-4,"frameY":0,"frameHeight":142,"width":203,"frameWidth":212,"height":135,"name":"裙子3","x":686},{"width":56,"y":906,"height":35,"name":"嘴巴2","x":649},{"y":943,"frameX":0,"frameY":-2,"frameHeight":35,"width":54,"frameWidth":56,"height":20,"name":"嘴巴3","x":649},{"y":259,"frameX":0,"frameY":-10,"frameHeight":48,"width":31,"frameWidth":44,"height":38,"name":"鞋子1","x":885},{"y":906,"frameX":-5,"frameY":0,"frameHeight":48,"width":39,"frameWidth":44,"height":48,"name":"鞋子2","x":707},{"y":540,"frameX":-3,"frameY":-18,"frameHeight":48,"width":26,"frameWidth":44,"height":30,"name":"鞋子3","x":490},{"width":226,"y":162,"height":214,"name":"头饰品1","x":490},{"width":194,"y":378,"height":160,"name":"头饰品2","x":490},{"width":383,"y":1,"height":159,"name":"头饰品3","x":490},{"y":540,"frameX":-4,"frameY":-4,"frameHeight":142,"width":203,"frameWidth":212,"height":138,"name":"裙子2","x":649}],"name":"Closet_ske"}
+{"imagePath":"Closet_tex.png","SubTexture":[{"width":165,"y":412,"height":111,"name":"上衣2","x":695},{"width":165,"y":299,"height":111,"name":"上衣3","x":695},{"frameWidth":264,"y":525,"frameHeight":95,"width":231,"frameX":-8,"height":77,"name":"眼睛2","frameY":-12,"x":551},{"frameWidth":264,"y":525,"frameHeight":95,"width":220,"frameX":-14,"height":78,"name":"眼睛3","frameY":-10,"x":784},{"width":548,"y":575,"height":424,"name":"脑壳2","x":1},{"width":487,"y":1,"height":572,"name":"脑壳3","x":1},{"frameWidth":212,"y":162,"frameHeight":142,"width":203,"frameX":-4,"height":135,"name":"裙子3","frameY":0,"x":686},{"width":56,"y":464,"height":35,"name":"嘴巴2","x":490},{"frameWidth":56,"y":551,"frameHeight":35,"width":54,"frameX":0,"height":20,"name":"嘴巴3","frameY":-2,"x":490},{"frameWidth":44,"y":501,"frameHeight":48,"width":39,"frameX":-5,"height":48,"name":"鞋子2","frameY":0,"x":490},{"frameWidth":44,"y":464,"frameHeight":48,"width":26,"frameX":-3,"height":30,"name":"鞋子3","frameY":-18,"x":548},{"width":194,"y":162,"height":160,"name":"头饰品2","x":490},{"width":383,"y":1,"height":159,"name":"头饰品3","x":490},{"frameWidth":212,"y":324,"frameHeight":142,"width":203,"frameX":-4,"height":138,"name":"裙子2","frameY":-4,"x":490}],"name":"Closet_ske"}

BIN
Assets/Resource/Animations/人物动画/Closet_tex.png


File diff suppressed because it is too large
+ 0 - 0
Assets/Resource/Animations/人物动画/stand_ske.json


BIN
Assets/Resource/Animations/人物动画/stand_tex.png


BIN
Assets/Resource/Garden.unity


BIN
Assets/Resource/Logo.unity


+ 1 - 1
Assets/Resource/Prefab/Object/MusicMini.prefab.meta

@@ -4,5 +4,5 @@ timeCreated: 1489836991
 licenseType: Pro
 NativeFormatImporter:
   userData: 
-  assetBundleName: object
+  assetBundleName: scene
   assetBundleVariant: 

+ 1 - 1
Assets/Resource/Prefab/Object/MusicTheme.prefab.meta

@@ -4,5 +4,5 @@ timeCreated: 1489836990
 licenseType: Pro
 NativeFormatImporter:
   userData: 
-  assetBundleName: object
+  assetBundleName: scene
   assetBundleVariant: 

+ 1 - 1
Assets/Resource/Prefab/Object/Page.prefab.meta

@@ -4,5 +4,5 @@ timeCreated: 1492827331
 licenseType: Pro
 NativeFormatImporter:
   userData: 
-  assetBundleName: object
+  assetBundleName: scene
   assetBundleVariant: 

BIN
Assets/Resource/Prefab/Object/PlayerBlond.prefab → Assets/Resource/Prefab/Object/Player.prefab


+ 0 - 0
Assets/Resource/Prefab/Object/PlayerBlond.prefab.meta → Assets/Resource/Prefab/Object/Player.prefab.meta


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


+ 0 - 8
Assets/Resource/Prefab/Object/PlayerBrown.prefab.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 2fc7256d7588e94469bd74d102d11966
-timeCreated: 1491546763
-licenseType: Pro
-NativeFormatImporter:
-  userData: 
-  assetBundleName: scene
-  assetBundleVariant: 

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


+ 0 - 8
Assets/Resource/Prefab/Object/PlayerPink.prefab.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 76da3d6b0e15306438d82fd66f45af1e
-timeCreated: 1491546826
-licenseType: Pro
-NativeFormatImporter:
-  userData: 
-  assetBundleName: scene
-  assetBundleVariant: 

+ 1 - 1
Assets/Resource/Prefab/Object/Tutorial.prefab.meta

@@ -4,5 +4,5 @@ timeCreated: 1491551640
 licenseType: Pro
 NativeFormatImporter:
   userData: 
-  assetBundleName: object
+  assetBundleName: scene
   assetBundleVariant: 

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


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


+ 0 - 0
Assets/Resource/Prefab/PrefabUI/FlowerItemG.prefab.meta → Assets/Resource/Prefab/PrefabUI/FlowerItem.prefab.meta


BIN
Assets/Resource/Prefab/PrefabUI/SignInItem.prefab → Assets/Resource/Prefab/PrefabUI/SignItem.prefab


+ 0 - 0
Assets/Resource/Prefab/PrefabUI/SignInItem.prefab.meta → Assets/Resource/Prefab/PrefabUI/SignItem.prefab.meta


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


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

@@ -1,9 +1,9 @@
 <PlayerConfig>
-  <Version value="119" />
+  <Version value="129" />
 
   <ID value="Default" />
-  <TutorialA value="1" />
-  <TutorialB value="1" />
+  <TutorialA value="0" />
+  <TutorialB value="0" />
   <TutorialIndexA value="1" />
   <TutorialIndexB value="1" />
 

+ 32 - 11
Assets/Script/Editor/EditorAuxiliary.cs

@@ -24,14 +24,24 @@ public class EditorAuxiliary : Editor
     {
         base.OnInspectorGUI();
 
-        if (GUILayout.Button("ChangeFont"))
+        if (GUILayout.Button("PrintBounds"))
         {
-            ChangeFont();
+            PrintBounds();
         }
 
-        if (GUILayout.Button("PrintBounds"))
+        if (GUILayout.Button("PrintPosition"))
         {
-            PrintBounds();
+            PrintPosition();
+        }
+
+        if (GUILayout.Button("PrintPositionLocal"))
+        {
+            PrintPositionLocal();
+        }
+
+        if (GUILayout.Button("ChangeFont"))
+        {
+            ChangeFont();
         }
 
         if (GUILayout.Button("ChangePivot"))
@@ -89,6 +99,24 @@ public class EditorAuxiliary : Editor
     }
 
 
+    private void PrintBounds()
+    {
+        Bounds bounds = Script.Go.GetComponent<Renderer>().bounds;
+
+        Debug.Log(string.Format("x : {0:0.00}   y : {1:0.00}   z : {2:0.00}", bounds.extents.x, bounds.extents.y, bounds.extents.z));
+    }
+
+    private void PrintPosition()
+    {
+        Debug.Log(Script.Go.transform.position);
+    }
+
+    private void PrintPositionLocal()
+    {
+        Debug.Log(Script.Go.transform.localPosition);
+    }
+
+
     private void ChangeFont()
     {
         for (int j = 0; j < Script.GoList.Count; j++)
@@ -115,13 +143,6 @@ public class EditorAuxiliary : Editor
         }
     }
 
-    private void PrintBounds()
-    {
-        Bounds bounds = Script.Go.GetComponent<Renderer>().bounds;
-
-        Debug.Log(string.Format("x : {0:0.00}   y : {1:0.00}   z : {2:0.00}", bounds.extents.x, bounds.extents.y, bounds.extents.z));
-    }
-
     private void ChangePivot()
     {
         for (int i = 0; i < Script.SrList.Count; i++)

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

@@ -4,11 +4,18 @@ using System.Collections;
 
 public class Regist : MonoBehaviour
 {
+    #region
+
+    public bool RegistFlag;
+
+    #endregion
+
     public virtual void Instantiate()
     {
 
     }
 
+
     public virtual void RegistImmed()
     {
         

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

@@ -13,23 +13,21 @@ public class Initializer : MonoBehaviour
     #region 变量
 
     public static bool LoadComplete;
+    public static Initializer Instance;
     public static List<Regist> RegistList = new List<Regist>();
 
     #endregion
 
     private void Awake()
     {
+        DontDestroyOnLoad(gameObject);
+
         ManaServer.Login(ManaData.LoginCallbackInitial);
 
-        if (Bundle.Instance == null)
-        {
-            gameObject.AddScript<Bundle>();
-        }
+        Instance = this;
 
-        if (Auxiliary.Instance == null)
-        {
-            gameObject.AddScript<Auxiliary>();
-        }
+        gameObject.AddScript<Bundle>();
+        gameObject.AddScript<Auxiliary>();
 
         gameObject.AddScript<ManaLan>();
         gameObject.AddScript<ManaReso>();
@@ -90,6 +88,8 @@ public class Initializer : MonoBehaviour
         ManaData.LoginCallbackInitial(new JsonData());
 
         ManaReso.Get("I_BlackMask").TweenForCG();
+
+        ManaReso.SetActive("I_Lab", false);
     }
 
 
@@ -97,16 +97,16 @@ public class Initializer : MonoBehaviour
     {
         while (Bundle.LoadComplete == false)
         {
-            if (Bundle.LoadCompleteUI)
-            {
-                Bundle.LoadCompleteUI = false;
-
-                ManaUI.InstantiateInitial();
-            }
+            yield return null;
+        }
 
+        while (!Logo.LogoComplete)
+        {
             yield return null;
         }
 
+        ManaUI.InitialInstantiate();
+
         Initialize();
     }
 }

+ 22 - 1
Assets/Script/Manage/ManaAchieve.cs

@@ -398,11 +398,15 @@ public class ManaAchieve : Regist
 
     public static Dictionary<int, Achieve> AchieveDic = new Dictionary<int, Achieve>();
     public static Dictionary<AchieveType, UnityAction<double>> DeleDic = new Dictionary<AchieveType, UnityAction<double>>();
-    
+
+    public static ManaAchieve Instance;
+
     #endregion
 
     public override void RegistValueA()
     {
+        Instance = this;
+
         DeleDic.Add(AchieveType.TotalPerson, TotalPerson);
         DeleDic.Add(AchieveType.ElfLevel, ElfLevel);
         DeleDic.Add(AchieveType.GardenLevel, GardenLevel);
@@ -456,4 +460,21 @@ public class ManaAchieve : Regist
     {
         DeleDic[type].SafeInvoke(value);
     }
+
+
+    public static void Reload()
+    {
+        foreach (var kv in AchieveDic)
+        {
+            if (kv.Value.AchieveItem != null)
+            {
+                ManaReso.Save(kv.Value.AchieveItem, true);
+            }
+        }
+
+        DeleDic = new Dictionary<AchieveType, UnityAction<double>>();
+        AchieveDic = new Dictionary<int, Achieve>();
+
+        Instance.RegistValueA();
+    }
 }

+ 239 - 133
Assets/Script/Manage/ManaAnim.cs

@@ -64,7 +64,7 @@ public class ManaAnim : Regist
     public static Dictionary<Transform, TweenCG> TweenCgDic = new Dictionary<Transform, TweenCG>();
     public static Dictionary<Transform, TweenGra> TweenGraDic = new Dictionary<Transform, TweenGra>();
     public static Dictionary<Transform, TweenVec> TweenVecDic = new Dictionary<Transform, TweenVec>();
-    public static Dictionary<Transform, TweenText> TweenTextDic = new Dictionary<Transform, TweenText>();
+    public static Dictionary<Transform, TweenFont> TweenFontDic = new Dictionary<Transform, TweenFont>();
     public static Dictionary<Transform, TweenRect> TweenRectDic = new Dictionary<Transform, TweenRect>();
     public static Dictionary<Transform, TweenScale> TweenScaleDic = new Dictionary<Transform, TweenScale>();
     public static Dictionary<Transform, TweenAudio> TweenAudioDic = new Dictionary<Transform, TweenAudio>();
@@ -428,98 +428,123 @@ public class ManaAnim : Regist
         return move;
     }
 
-    public static Move2D Move2D(Transform target, Vector3 destination, float duration, bool local, bool offset, Curve curve)
+
+    public static Move2D Move2D(Transform target, Vector3 destination, float duration, bool local, Curve curve)
     {
         Move2D move;
 
-        if (MoveDic2D.TryGetValue(target, out move))
+        if (local)
+        {
+            destination.z = target.localPosition.z;
+        }
+        else
         {
-            Vector3 dest = destination;
+            destination.z = target.position.z;
+        }
 
-            if (offset)
-            {
-                if (local)
-                {
-                    dest = target.localPosition + destination;
-                }
-                else
-                {
-                    dest = target.position + destination;
-                }
-            }
+        if (MoveDic2D.TryGetValue(target, out move))
+        {
+            move.StartMove(destination, duration, local, curve);
 
-            move.StartMove(dest, duration, local, curve);
+            return move;
         }
         else
         {
             move = CreateMove2D(target);
 
-            Vector3 dest = destination;
-
-            if (offset)
-            {
-                if (local)
-                {
-                    dest = target.localPosition + destination;
-                }
-                else
-                {
-                    dest = target.position + destination;
-                }
-            }
+            move.StartMove(destination, duration, local, curve);
 
-            move.StartMove(dest, duration, local, curve);
+            return move;
         }
-
-        return move;
     }
 
-    public static Move3D Move3D(Transform target, Vector3 destination, float duration, bool local, bool offset, Curve curve)
+    public static Move3D Move3D(Transform target, Vector3 destination, float duration, bool local, Curve curve)
     {
         Move3D move;
 
         if (MoveDic3D.TryGetValue(target, out move))
         {
-            Vector3 dest = destination;
-
-            if (offset)
-            {
-                if (local)
-                {
-                    dest = target.localPosition + destination;
-                }
-                else
-                {
-                    dest = target.position + destination;
-                }
-            }
+            move.StartMove(destination, duration, local, curve);
 
-            move.StartMove(dest, duration, local, curve);
+            return move;
         }
         else
         {
             move = CreateMove3D(target);
 
-            Vector3 dest = destination;
+            move.StartMove(destination, duration, local, curve);
 
-            if (offset)
-            {
-                if (local)
-                {
-                    dest = target.localPosition + destination;
-                }
-                else
-                {
-                    dest = target.position + destination;
-                }
-            }
+            return move;
+        }
+    }
+
+    public static Move2D MoveOffset2D(Transform target, Vector3 offset, float duration, bool local, Curve curve)
+    {
+        Move2D move;
+
+        Vector3 destination;
+
+        if (local)
+        {
+            destination = target.localPosition + offset;
 
-            move.StartMove(dest, duration, local, curve);
+            destination.z = target.localPosition.z;
         }
+        else
+        {
+            destination = target.position + offset;
 
-        return move;
+            destination.z = target.position.z;
+        }
+
+        if (MoveDic2D.TryGetValue(target, out move))
+        {
+            move.StartMove(destination, duration, local, curve);
+
+            return move;
+        }
+        else
+        {
+            move = CreateMove2D(target);
+
+            move.StartMove(destination, duration, local, curve);
+
+            return move;
+        }
     }
 
+    public static Move3D MoveOffset3D(Transform target, Vector3 offset, float duration, bool local, Curve curve)
+    {
+        Move3D move;
+
+        Vector3 destination;
+
+        if (local)
+        {
+            destination = target.localPosition + offset;
+        }
+        else
+        {
+            destination = target.position + offset;
+        }
+
+        if (MoveDic3D.TryGetValue(target, out move))
+        {
+            move.StartMove(destination, duration, local, curve);
+
+            return move;
+        }
+        else
+        {
+            move = CreateMove3D(target);
+
+            move.StartMove(destination, duration, local, curve);
+
+            return move;
+        }
+    }
+
+
     public static Zoom2D Zoom2D(Transform target, float origin, float destination, float duration, float stay, Transform targetZoom, Curve curve)
     {
         Zoom2D move;
@@ -623,11 +648,11 @@ public class ManaAnim : Regist
         return tween;
     }
 
-    public static TweenText TweenForText(Transform target)
+    public static TweenFont TweenForFont(Transform target)
     {
-        TweenText tween;
+        TweenFont tween;
 
-        if (TweenTextDic.TryGetValue(target, out tween))
+        if (TweenFontDic.TryGetValue(target, out tween))
         {
             tween.StartForward();
         }
@@ -768,11 +793,11 @@ public class ManaAnim : Regist
         return tween;
     }
 
-    public static TweenText TweenBacText(Transform target)
+    public static TweenFont TweenBacFont(Transform target)
     {
-        TweenText tween;
+        TweenFont tween;
 
-        if (TweenTextDic.TryGetValue(target, out tween))
+        if (TweenFontDic.TryGetValue(target, out tween))
         {
             tween.StartBackward();
         }
@@ -913,11 +938,11 @@ public class ManaAnim : Regist
         return tween;
     }
 
-    public static TweenText TweenConForText(Transform target)
+    public static TweenFont TweenConForFont(Transform target)
     {
-        TweenText tween;
+        TweenFont tween;
 
-        if (TweenTextDic.TryGetValue(target, out tween))
+        if (TweenFontDic.TryGetValue(target, out tween))
         {
             tween.ConfineForward();
         }
@@ -1058,11 +1083,11 @@ public class ManaAnim : Regist
         return tween;
     }
 
-    public static TweenText TweenConBacText(Transform target)
+    public static TweenFont TweenConBacFont(Transform target)
     {
-        TweenText tween;
+        TweenFont tween;
 
-        if (TweenTextDic.TryGetValue(target, out tween))
+        if (TweenFontDic.TryGetValue(target, out tween))
         {
             tween.ConfineBackward();
         }
@@ -1203,11 +1228,11 @@ public class ManaAnim : Regist
         return tween;
     }
 
-    public static TweenText TweenReForText(Transform target)
+    public static TweenFont TweenReForFont(Transform target)
     {
-        TweenText tween;
+        TweenFont tween;
 
-        if (TweenTextDic.TryGetValue(target, out tween))
+        if (TweenFontDic.TryGetValue(target, out tween))
         {
             tween.ReForward();
         }
@@ -1348,11 +1373,11 @@ public class ManaAnim : Regist
         return tween;
     }
 
-    public static TweenText TweenReBacText(Transform target)
+    public static TweenFont TweenReBacFont(Transform target)
     {
-        TweenText tween;
+        TweenFont tween;
 
-        if (TweenTextDic.TryGetValue(target, out tween))
+        if (TweenFontDic.TryGetValue(target, out tween))
         {
             tween.ReBackward();
         }
@@ -1595,11 +1620,11 @@ public class ManaAnim : Regist
         }
     }
 
-    public static TweenText GetTweenText(Transform target)
+    public static TweenFont GetTweenFont(Transform target)
     {
-        TweenText tween;
+        TweenFont tween;
 
-        if (TweenTextDic.TryGetValue(target, out tween))
+        if (TweenFontDic.TryGetValue(target, out tween))
         {
             return tween;
         }
@@ -2007,8 +2032,16 @@ public class ManaAnim : Regist
     {
         TweenVec tweenVec2D;
 
-        origin.z = target.position.z;
-        destination.z = target.position.z;
+        if (local)
+        {
+            origin.z = target.localPosition.z;
+            destination.z = target.localPosition.z;
+        }
+        else
+        {
+            origin.z = target.position.z;
+            destination.z = target.position.z;
+        }
 
         if (TweenVecDic.ContainsKey(target))
         {
@@ -2032,33 +2065,73 @@ public class ManaAnim : Regist
     {
         TweenVec tweenVec2D;
 
-        destination.z = target.position.z;
+        Vector3 origin;
+
+        if (local)
+        {
+            origin = target.localPosition;
+
+            destination.z = target.localPosition.z;
+        }
+        else
+        {
+            origin = target.position;
+
+            destination.z = target.position.z;
+        }
+
 
         if (TweenVecDic.ContainsKey(target))
         {
             tweenVec2D = TweenVecDic[target];
 
-            if (local)
-            {
-                TweenVecDic[target] = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve, cg);
-            }
-            else
-            {
-                TweenVecDic[target] = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve, cg);
-            }
+            TweenVecDic[target] = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
 
             return tweenVec2D;
         }
         else
         {
-            if (local)
-            {
-                tweenVec2D = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve, cg);
-            }
-            else
-            {
-                tweenVec2D = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve, cg);
-            }
+            tweenVec2D = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
+
+            TweenVecDic.Add(target, tweenVec2D);
+
+            return tweenVec2D;
+        }
+    }
+
+    public static TweenVec CreateTweenVecOffset2D(Transform target, Vector3 offset, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
+    {
+        TweenVec tweenVec2D;
+
+        Vector3 origin;
+        Vector3 destination;
+
+        if (local)
+        {
+            origin = target.localPosition;
+            destination = target.localPosition + offset;
+
+            destination.z = target.localPosition.z;
+        }
+        else
+        {
+            origin = target.position;
+            destination = target.position + offset;
+
+            destination.z = target.position.z;
+        }
+
+        if (TweenVecDic.ContainsKey(target))
+        {
+            tweenVec2D = TweenVecDic[target];
+
+            TweenVecDic[target] = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
+
+            return tweenVec2D;
+        }
+        else
+        {
+            tweenVec2D = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
 
             TweenVecDic.Add(target, tweenVec2D);
 
@@ -2093,31 +2166,64 @@ public class ManaAnim : Regist
     {
         TweenVec tweenVec3D;
 
+        Vector3 origin;
+
+        if (local)
+        {
+            origin = target.localPosition;
+        }
+        else
+        {
+            origin = target.position;
+        }
+
         if (TweenVecDic.ContainsKey(target))
         {
             tweenVec3D = TweenVecDic[target];
 
-            if (local)
-            {
-                TweenVecDic[target] = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve, cg);
-            }
-            else
-            {
-                TweenVecDic[target] = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve, cg);
-            }
+            TweenVecDic[target] = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
 
             return tweenVec3D;
         }
         else
         {
-            if (local)
-            {
-                tweenVec3D = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve, cg);
-            }
-            else
-            {
-                tweenVec3D = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve, cg);
-            }
+            tweenVec3D = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
+
+            TweenVecDic.Add(target, tweenVec3D);
+
+            return tweenVec3D;
+        }
+    }
+
+    public static TweenVec CreateTweenVecOffset3D(Transform target, Vector3 offset, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
+    {
+        TweenVec tweenVec3D;
+
+        Vector3 origin;
+        Vector3 destination;
+
+        if (local)
+        {
+            origin = target.localPosition;
+            destination = target.localPosition + offset;
+        }
+        else
+        {
+            origin = target.position;
+            destination = target.position + offset;
+        }
+
+        if (TweenVecDic.ContainsKey(target))
+        {
+            tweenVec3D = TweenVecDic[target];
+
+            TweenVecDic[target] = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
+
+            return tweenVec3D;
+        }
+        else
+        {
+            tweenVec3D = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
 
             TweenVecDic.Add(target, tweenVec3D);
 
@@ -2126,49 +2232,49 @@ public class ManaAnim : Regist
     }
 
 
-    public static TweenText CreateTweenText(Transform target, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
+    public static TweenFont CreateTweenFont(Transform target, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         Text text = target.GetComponent<Text>();
-        TweenText tweenText;
+        TweenFont tweenFont;
 
         if (TweenRectDic.ContainsKey(target))
         {
-            tweenText = TweenTextDic[target];
+            tweenFont = TweenFontDic[target];
 
-            TweenTextDic[target] = new TweenText(text, origin, destination, duration, originActive, destActive, curve, cg);
+            TweenFontDic[target] = new TweenFont(text, origin, destination, duration, originActive, destActive, curve, cg);
 
-            return tweenText;
+            return tweenFont;
         }
         else
         {
-            tweenText = new TweenText(text, origin, destination, duration, originActive, destActive, curve, cg);
+            tweenFont = new TweenFont(text, origin, destination, duration, originActive, destActive, curve, cg);
 
-            TweenTextDic.Add(target, tweenText);
+            TweenFontDic.Add(target, tweenFont);
 
-            return tweenText;
+            return tweenFont;
         }
     }
 
-    public static TweenText CreateTweenText(Transform target, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
+    public static TweenFont CreateTweenFont(Transform target, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
         Text text = target.GetComponent<Text>();
-        TweenText tweenText;
+        TweenFont tweenFont;
 
         if (TweenRectDic.ContainsKey(target))
         {
-            tweenText = TweenTextDic[target];
+            tweenFont = TweenFontDic[target];
 
-            TweenTextDic[target] = new TweenText(text, text.fontSize, destination, duration, originActive, destActive, curve, cg);
+            TweenFontDic[target] = new TweenFont(text, text.fontSize, destination, duration, originActive, destActive, curve, cg);
 
-            return tweenText;
+            return tweenFont;
         }
         else
         {
-            tweenText = new TweenText(text, text.fontSize, destination, duration, originActive, destActive, curve, cg);
+            tweenFont = new TweenFont(text, text.fontSize, destination, duration, originActive, destActive, curve, cg);
 
-            TweenTextDic.Add(target, tweenText);
+            TweenFontDic.Add(target, tweenFont);
 
-            return tweenText;
+            return tweenFont;
         }
     }
 

+ 5 - 3
Assets/Script/Manage/ManaAudio.cs

@@ -21,9 +21,11 @@ public class ManaAudio : Regist
     public override void Instantiate()
     {
         MusicParent = new GameObject("Music").transform;
-        
-        ManaReso.Get("MusicMini", Folder.Object, true, MusicParent, true);
-        ManaReso.Get("MusicTheme", Folder.Object, true, MusicParent, true);
+
+        MusicParent.parent = Initializer.Instance.transform;
+
+        ManaReso.Get<ObjRoot>("MusicMini", Folder.Scene, true, MusicParent, true, ObjType.MusicMini);
+        ManaReso.Get<ObjRoot>("MusicTheme", Folder.Scene, true, MusicParent, true, ObjType.MusicTheme);
     }
     
     public override void RegistValueA()

+ 117 - 25
Assets/Script/Manage/ManaData.cs

@@ -8,6 +8,7 @@ using System;
 using System.Xml;
 using System.Collections;
 using System.Collections.Generic;
+using UnityEngine.Events;
 
 public class ManaData : Regist 
 {
@@ -267,7 +268,6 @@ public class ManaData : Regist
     public static bool MiniValid;
     public static bool FirstFrame = true;
     public static bool TabBtnValid;
-    public static bool SkillBarValid;
     public static float Elapse;
     public static float OpTimer;
     public static float MiniTimer;
@@ -284,6 +284,7 @@ public class ManaData : Regist
     public static float SkillCoinPerson_;
 
     public static DateTime QuitTime;
+    public static ManaData Instance;
     public static List<Skill> UseList = new List<Skill>();
     public static List<Skill> CoolList = new List<Skill>();
     public static List<Skill> FFCoolList = new List<Skill>();
@@ -307,6 +308,8 @@ public class ManaData : Regist
     {
         if (ManaTutorial.TutorialA)
         {
+            LoginThread();
+
             return;
         }
 
@@ -357,7 +360,7 @@ public class ManaData : Regist
             if (MiniTimer < 0)
             {
                 MiniValid = true;
-
+                
                 ManaReso.Get("C_MiniGame").TweenForCG();
             }
         }
@@ -445,6 +448,41 @@ public class ManaData : Regist
     }
 
 
+    public static void Reload()
+    {
+        Reset = false;
+        TabBtnValid = false;
+
+        Person = 0;
+        CoinPerson = 0;
+
+        SkillPlus = 0;
+        SkillPerson = 0;
+        SkillPersonBuff = 0;
+        SkillCoinPerson = 0;
+
+        SaveTimer = 0;
+
+        UseList = new List<Skill>();
+        CoolList = new List<Skill>();
+        
+        Instance.RegistValueB();
+
+        RegistSkill();
+        RegistIncome();
+
+        ManaTutorial.TutorialB_ = Data.GetPlayerBool("TutorialB");
+        ManaTutorial.TutorialIndexB = Data.GetPlayerInt("TutorialIndexB");
+
+        if (ManaServer.Connect)
+        {
+            if (!ManaTutorial.TutorialA && !ManaTutorial.TutorialB)
+            {
+                ManaReso.Get("B_SignIn").TweenConForCG();
+            }
+        }
+    }
+
     public override void Reactive()
     {
         foreach (var kv in SkillDic)
@@ -531,19 +569,14 @@ public class ManaData : Regist
 
     public override void RegistValueB()
     {
-        Coin += Data.GetPlayerDouble("Coin");
+        Instance = this;
+
+        Coin = Data.GetPlayerDouble("Coin");
         Diamond = Data.GetPlayerDouble("Diamond");
         MiniTimer = Data.GetPlayerFloat("MiniTimer");
         CircleTimer = Data.GetPlayerFloat("CircleTimer");
 
-        if (MiniTimer < 0)
-        {
-            MiniValid = true;
-        }
-        else
-        {
-            MiniValid = false;
-        }
+        ManaServer.ID = Data.GetPlayerString("ID");
 
         ManaDebug.Log(string.Format("<color=red>{0:0}</color>秒后激活小游戏", MiniTimer));
 
@@ -570,6 +603,11 @@ public class ManaData : Regist
             Elapse = 43200;
         }
 
+        if (!Data.GetPlayerBool("QuitFlag"))
+        {
+            Elapse = 0;
+        }
+
         ManaDebug.Log(string.Format("离线时间<color=red>{0}</color>", Elapse));
 
 
@@ -722,20 +760,22 @@ public class ManaData : Regist
             return;
         }
         
+        if (ManaServer.Connect)
+        {
+            if (Data.GetPlayerString("ID") == "Default")
+            {
+                ManaServer.ID = ManaServer.JsonData["o"].ToString();
+
+                ManaReso.SetText("L_UserLab", ManaServer.ID);
+            }
+        }
+
         if (ManaServer.Connect && Data.GetPlayerBool("QuitFlag"))
         {
             if (!ManaTutorial.TutorialA)
             {
                 ManaReso.Get("B_SignIn").TweenForCG();
             }
-
-            ManaReso.SetText("L_UserLab", ManaServer.ID);
-        }
-        else
-        {
-            ManaServer.ID = Data.GetPlayerString("ID");
-
-            ManaReso.SetText("L_UserLab", ManaServer.ID);
         }
 
         RegistSkill();
@@ -751,9 +791,66 @@ public class ManaData : Regist
     }
 
 
+    public static void DownloadArchive()
+    {
+        ManaReso.SetText("La_Lab", "连接中");
+
+        ManaReso.SetActive("La_Lab", true);
+        ManaReso.SetActive("La_Mask", true);
+
+        string id = ManaReso.Get<InputField>("La_InputField").text;
+
+        ManaServer.Load(id, DownloadCallback);
+    }
+
+    public static void DownloadCallback(JsonData jsonData)
+    {
+        if (jsonData.Inst_Object.Keys.Contains("l"))
+        {
+            ManaReso.SetActive("La_Mask", false);
+
+            ManaReso.SetText("La_Lab", "连接成功 请稍等");
+
+            int version = Data.GetPlayerInt("Version");
+
+            Data.PlayerDoc.LoadXml(jsonData["l"].ToString());
+            Data.PlayerNode = Data.PlayerDoc.SelectSingleNode("PlayerConfig");
+
+            Data.SavePlayerInt("Version", version);
+
+
+            ManaReso.SetText("L_UserLab", Data.GetPlayerString("ID"));
+
+            ManaServer.ID = Data.GetPlayerString("ID");
+
+            ManaMiniGame.MiniGameIndex = Data.GetPlayerInt("MiniGameIndex");
+
+            Reload();
+
+            ManaAchieve.Reload();
+
+            Garden.Reload();
+
+            ManaGarden.Reload();
+
+            ManaPlayer.Reload();
+
+            ManaSign.Reload();
+
+            ManaReso.Get("La_Info").TweenBacCG();
+        }
+        else
+        {
+            ManaReso.SetText("La_Lab", "连接失败");
+
+            ManaReso.SetActive("La_Mask", false);
+        }
+    }
+
+
     public void OnApplicationQuit()
     {
-        if (!Reset)
+        if (Initializer.LoadComplete && !Reset)
         {
             Data.SavePlayerConfig();
             Data.SaveXml();
@@ -766,11 +863,6 @@ public class ManaData : Regist
         {
             Data.SavePlayerConfig();
             Data.SaveXml();
-
-            if (ManaMiniGame.Game || ManaMiniGame.Prepare)
-            {
-                ManaReso.Get<Button>("D_Quit").onClick.Invoke();
-            }
         }
         else
         {

+ 39 - 2
Assets/Script/Manage/ManaGarden.cs

@@ -94,6 +94,7 @@ public class ManaGarden : Regist
     public static float ElfTimer;
     public static float AwardTimer;
     public static FlowerInfo SeleInfo;
+    public static ManaGarden Instance;
 
     public static List<Slot> SlotList = new List<Slot>();
     public static List<Slot> PlantList = new List<Slot>();
@@ -160,9 +161,43 @@ public class ManaGarden : Regist
     }
 
 
+    public static void Reload()
+    {
+        for (int i = 0; i < PageList.Count; i++)
+        {
+            ManaReso.Save(PageList[i]);
+        }
+
+        for (int i = 0; i < PlantList.Count; i++)
+        {
+            PlantList[i].Retrieve();
+        }
+
+        foreach (var kv in FlowerInfoDic)
+        {
+            kv.Value.Unlock = false;
+        }
+
+        SlotAmt = 0;
+        PageAmt = 0;
+        MyFlowerSpec = 0;
+        MyFlowerRegu = 0;
+
+        ElfList = new List<ObjType>();
+        SlotList = new List<Slot>();
+        PageList = new List<Transform>();
+        PlantList = new List<Slot>();
+
+
+        CreatePage();
+        CreatePage();
+
+        Instance.RegistValueA();
+    }
+
     public override void Instantiate()
     {
-        ManaReso.Get("Garden", Folder.Scene, true, transform, true).AddScript<Garden>();
+        ManaReso.Get<ObjRoot>("Garden", Folder.Scene, true, transform, true, ObjType.Garden).AddScript<Garden>();
 
         CreatePage();
         CreatePage();
@@ -192,6 +227,8 @@ public class ManaGarden : Regist
 
     public override void RegistValueA()
     {
+        Instance = this;
+
         ElfTimer = Random.Range(0f, 30f);
         AwardTimer = Random.Range(20f, 60f);
 
@@ -247,7 +284,7 @@ public class ManaGarden : Regist
 
     public static void CreatePage()
     {
-        Transform tra = ManaReso.Get("Page", Folder.Object, false, ManaReso.Get("GardenPage"), false);
+        Transform tra = ManaReso.Get<ObjRoot>("Page", Folder.Scene, false, ManaReso.Get("GardenPage"), false, ObjType.Page);
 
         float offset = PageAmt*19.2f;
 

+ 28 - 14
Assets/Script/Manage/ManaMiniGame.cs

@@ -301,7 +301,7 @@ public class Award
                 EventType.ForwardFinish,
                 () =>
                 {
-                    Tutorial.HightScreen(ManaReso.Get("Da_GetAwardArrow0"), ManaReso.Get("Da_GetAwardArrow1"), ManaReso.Get("Da_GetAward"));
+                    Tutorial.HightScreen(ManaReso.Get("Da_Arrow0"), ManaReso.Get("Da_Arrow1"), ManaReso.Get("Da_GetAward"));
                 }
             );
         }
@@ -337,11 +337,11 @@ public class Award
             EventType.ForwardFinish,
             () =>
             {
-                ManaReso.Get("Da_ScoreTit").TweenForText();
+                ManaReso.Get("Da_ScoreTit").TweenForFont();
             }
         );
 
-        tween = ManaReso.Get("Da_ScoreTit").GetTweenText();
+        tween = ManaReso.Get("Da_ScoreTit").GetTweenFont();
         tween.InOrigin = true;
 
         tween.AddEventOnetime
@@ -723,7 +723,7 @@ public class ManaMiniGame : Regist
             PrepareLab.text = Language.GetStr("UI", "D_PrepareLab");
 
             PrepareLab.TweenForGra();
-            PrepareLab.TweenForText();
+            PrepareLab.TweenForFont();
         }
     }
 
@@ -774,7 +774,6 @@ public class ManaMiniGame : Regist
         MiniGameIndex = Data.GetPlayerInt("MiniGameIndex");
     }
 
-
     public override void RegistReference()
     {
         BtnLab = ManaReso.Get<Text>("D_BeginLab");
@@ -819,6 +818,15 @@ public class ManaMiniGame : Regist
 
     public static void GameEnd()
     {
+        if (Game)
+        {
+            ManaData.MiniValid = false;
+
+            ManaData.MiniTimer = Mathf.Lerp(180, 300, Random.Range(0, 1f));
+
+            ManaDebug.Log(string.Format("<color=red>{0:0}</color>秒后激活小游戏", ManaData.MiniTimer));
+        }
+
         Score = 0;
         Pause = false;
         Game = false;
@@ -841,15 +849,6 @@ public class ManaMiniGame : Regist
 
             DropList.RemoveAt(i--);
         }
-
-        if (Game)
-        {
-            ManaData.MiniValid = false;
-
-            ManaData.MiniTimer = Mathf.Lerp(180, 300, Random.Range(0, 1f));
-
-            ManaDebug.Log(string.Format("<color=red>{0:0}</color>秒后激活小游戏", ManaData.MiniTimer));
-        }
     }
 
     public static void GameOver()
@@ -931,4 +930,19 @@ public class ManaMiniGame : Regist
     }
 
     #endregion
+
+
+    public void OnApplicationPause(bool pause)
+    {
+        if (pause)
+        {
+            if (!ManaTutorial.TutorialA)
+            {
+                if (Game || Prepare)
+                {
+                    ManaReso.Get<Button>("D_Quit").onClick.Invoke();
+                }
+            }
+        }
+    }
 }

+ 47 - 17
Assets/Script/Manage/ManaPlayer.cs

@@ -22,27 +22,66 @@ public class ManaPlayer : Regist
     public static Transform PlayerPink;
     public static Transform PlayerBlond;
     public static Transform PlayerBrown;
+    public static ManaPlayer Instance;
 
     #endregion
 
+    public static void Reload()
+    {
+        ManaReso.TraDic.Remove("Player");
+
+        ManaReso.Save(Player);
+
+        Instance.GetPlayer();
+
+        ManaReso.Get<HudTarget>("C_MiniGame").PosTra = Player.ChildDic["EnterGameTra"];
+    }
+
+
     public override void Instantiate()
     {
-        UnityFactory.factory.LoadTextureAtlasData(Bundle.Config.LoadAsset<TextAsset>("Closet_tex"), "Closet_tex");
+        UnityFactory.factory.LoadDragonBonesData(Bundle.Config.LoadAsset<TextAsset>("stand_ske"));
         UnityFactory.factory.LoadDragonBonesData(Bundle.Config.LoadAsset<TextAsset>("Closet_ske"));
 
+        UnityFactory.factory.LoadTextureAtlasData(Bundle.Config.LoadAsset<TextAsset>("stand_tex"), "stand_tex");
+        UnityFactory.factory.LoadTextureAtlasData(Bundle.Config.LoadAsset<TextAsset>("Closet_tex"), "Closet_tex");
+        
         if (!ManaTutorial.TutorialA || ManaTutorial.TutorialIndexA != 1)
         {
-            string player = Data.GetPlayerString("Player");
+            GetPlayer();
+        }
+        else
+        {
+            PlayerPink = ManaReso.Get<ObjRoot>("Player", Folder.Scene, false, ManaReso.Get("PlayerBk3"), false, ObjType.PlayerPink);
+            PlayerBlond = ManaReso.Get<ObjRoot>("Player", Folder.Scene, false, ManaReso.Get("PlayerBk2"), false, ObjType.PlayerBlond);
+            PlayerBrown = ManaReso.Get<ObjRoot>("Player", Folder.Scene, false, ManaReso.Get("PlayerBk1"), false, ObjType.PlayerBrown);
+
+            PlayerPink.AddScript<Player>().BuildPink();
+            PlayerBlond.AddScript<Player>().BuildBlond();
+            PlayerBrown.AddScript<Player>().BuildBrown();
+
+            SelePlayer = "PlayerBlond";
+            SelePlayerTra = PlayerBlond;
+        }
+    }
+
+    public override void RegistValueA()
+    {
+        Instance = this;
+    }
 
 
-            Transform tra = ManaReso.Get(player, Folder.Scene, false, transform, ManaReso.Get("PlayerPosTra").position);
+    public void GetPlayer()
+    {
+        string player = Data.GetPlayerString("Player");
 
-            tra.name = "Player";
-            tra.localScale = new Vector3(0.5f, 0.5f, 0.5f);
 
-            ManaReso.TraDic.Add(tra.name, tra);
+        Transform tra = ManaReso.Get<ObjRoot>("Player", Folder.Scene, false, transform, ManaReso.Get("PlayerPosTra").position, (ObjType) Enum.Parse(typeof(ObjType), player));
 
+        Player = tra.GetComponent<Player>();
 
+        if (Player == null)
+        {
             Player = tra.AddScript<Player>();
 
             if (player == "PlayerPink")
@@ -60,18 +99,9 @@ public class ManaPlayer : Regist
                 Player.BuildBrown();
             }
         }
-        else
-        {
-            PlayerPink = ManaReso.Get("PlayerPink", Folder.Scene, false, ManaReso.Get("PlayerBk3"), false);
-            PlayerBlond = ManaReso.Get("PlayerBlond", Folder.Scene, false, ManaReso.Get("PlayerBk2"), false);
-            PlayerBrown = ManaReso.Get("PlayerBrown", Folder.Scene, false, ManaReso.Get("PlayerBk1"), false);
 
-            PlayerPink.AddScript<Player>().BuildPink();
-            PlayerBlond.AddScript<Player>().BuildBlond();
-            PlayerBrown.AddScript<Player>().BuildBrown();
+        tra.localScale = new Vector3(0.5f, 0.5f, 0.5f);
 
-            SelePlayer = "PlayerBlond";
-            SelePlayerTra = PlayerBlond;
-        }
+        ManaReso.TraDic.Add(tra.name, tra);
     }
 }

+ 273 - 92
Assets/Script/Manage/ManaReso.cs

@@ -17,18 +17,35 @@ public enum Folder
     UI,
     Scene,
     Config,
-    Object,
     Shader,
 }
 
 public enum ObjType
 {
     Null,
+
+    PlayerPink,
+    PlayerBlond,
+    PlayerBrown,
+
+    Page,
     Flower,
+    Garden,
+    Tutorial,
+
+    Canvas,
+    EventSystem,
+    MainCamera,
+
     HudText,
+    SkillItem,
+    SignItem,
     FlowerItem,
     AchieveItem,
 
+    MusicMini,
+    MusicTheme,
+
     DropGold,
     DropDiamond,
 
@@ -49,6 +66,15 @@ public class ManaReso : Regist
 {
     #region 变量
 
+    public static Coroutine CoroAsync;
+    public static Coroutine CoroInstantiate;
+    public static ManaReso Instance;
+
+    public static List<UnityAction> AsyncList = new List<UnityAction>();
+    public static List<AssetBundleRequest> RequestList = new List<AssetBundleRequest>();
+
+    public static List<KV<AssetBundleRequest, UnityAction>> InstantiateList = new List<KV<AssetBundleRequest, UnityAction>>();
+
     public static Dictionary<string, Object> ObjDic = new Dictionary<string, Object>();
     public static Dictionary<string, Transform> TraDic = new Dictionary<string, Transform>();
 
@@ -56,16 +82,29 @@ public class ManaReso : Regist
 
     #endregion
 
-    public override void Instantiate()
+    public override void RegistImmed()
     {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
+        Instance = this;
+
         Transform objPool = new GameObject("ObjPool").transform;
 
         objPool.parent = transform;
         objPool.SetActive(false);
 
         TraDic.Add(objPool.name, objPool);
-    }
 
+        CoroAsync = StartCoroutine(IAsyncLoad());
+        CoroInstantiate = StartCoroutine(IAsyncInstancitate());
+    }
 
     #region TraDic
 
@@ -108,7 +147,7 @@ public class ManaReso : Regist
 
     #region ObjPool
 
-    public static void Save<T>(T t) where T : Component
+    public static void Save<T>(T t, bool aware = false) where T : Component
     {
         Transform tra = t.transform;
 
@@ -125,7 +164,14 @@ public class ManaReso : Regist
         {
             if (traList.Contains(tra))
             {
-                throw new Exception();
+                if (aware)
+                {
+                    return;
+                }
+                else
+                {
+                    throw new Exception();
+                }
             }
 
             tra.SetActive(false);
@@ -140,7 +186,7 @@ public class ManaReso : Regist
         }
     }
 
-    public static void Save(GameObject go)
+    public static void Save(GameObject go, bool aware = false)
     {
         ObjRoot objRoot = go.GetComponent<ObjRoot>();
 
@@ -155,7 +201,14 @@ public class ManaReso : Regist
         {
             if (traList.Contains(go.transform))
             {
-                throw new Exception();
+                if (aware)
+                {
+                    return;
+                }
+                else
+                {
+                    throw new Exception();
+                }
             }
 
             go.SetActive(false);
@@ -288,7 +341,7 @@ public class ManaReso : Regist
 
         if (ObjDic.TryGetValue(goName, out obj))
         {
-            return (T)obj;
+            return (T) obj;
         }
         else
         {
@@ -302,10 +355,6 @@ public class ManaReso : Regist
             {
                 t = Bundle.Config.LoadAsset<T>(goName);
             }
-            else if (folder == Folder.Object)
-            {
-                t = Bundle.Object.LoadAsset<T>(goName);
-            }
             else if (folder == Folder.Shader)
             {
                 t = Bundle.Shader.LoadAsset<T>(goName);
@@ -328,14 +377,14 @@ public class ManaReso : Regist
 
             if (objType != ObjType.Null)
             {
-                ObjectPool.Add(objType, new List<Transform>());
+                ObjectPool.UniqueAdd(objType, new List<Transform>());
             }
 
             return t;
         }
     }
 
-    public static Transform Get(string goName, Folder folder, bool compile, Transform par, bool worldSpace, ObjType objType = ObjType.Null)
+    public static Transform Get<T>(string goName, Folder folder, bool compile, Transform par, bool worldSpace, ObjType objType = ObjType.Null) where T : ObjRoot
     {
         Transform tra = Get(objType);
 
@@ -351,29 +400,42 @@ public class ManaReso : Regist
                 Auxiliary.CompileDic(go.transform, TraDic);
             }
 
+            if (objType != ObjType.Null)
+            {
+                go.AddComponent<T>().ObjType = objType;
+            }
+
             return go.transform;
         }
         else
         {
+            if (compile)
+            {
+                Auxiliary.CompileDic(tra, TraDic);
+            }
+
+            GameObject prefab = Load<GameObject>(goName, folder, objType);
+
             tra.SetParent(par);
 
+            if (worldSpace)
+            {
+                tra.position = prefab.transform.position;
+            }
+            else
+            {
+                tra.localPosition = prefab.transform.position;
+            }
+
             return tra;
         }
     }
 
-    public static Transform Get(string goName, Folder folder, bool compile, Transform par, Vector3 pos, ObjType objType = ObjType.Null)
+    public static Transform Get<T>(string goName, Folder folder, bool compile, Transform par, Vector3 pos, ObjType objType = ObjType.Null) where T : ObjRoot
     {
         Transform tra = Get(objType);
 
-        if (tra != null)
-        {
-            tra.SetParent(par);
-
-            tra.position = pos;
-
-            return tra;
-        }
-        else
+        if (tra == null)
         {
             GameObject go = Load<GameObject>(goName, folder, objType);
 
@@ -385,8 +447,26 @@ public class ManaReso : Regist
                 Auxiliary.CompileDic(go.transform, TraDic);
             }
 
+            if (objType != ObjType.Null)
+            {
+                go.AddComponent<T>().ObjType = objType;
+            }
+
             return go.transform;
         }
+        else
+        {
+            if (compile)
+            {
+                Auxiliary.CompileDic(tra, TraDic);
+            }
+
+            tra.SetParent(par);
+
+            tra.position = pos;
+
+            return tra;
+        }
     }
 
 
@@ -394,26 +474,24 @@ public class ManaReso : Regist
     {
         Vector3 pos = Vector3.Lerp(Get("MiniLeft").position, Get("MiniRight").position, Random.Range(0, 1f));
 
-        Transform tra = Get(objType.ToString(), Folder.UI, false, null, pos, objType);
-
-        Drop drop = tra.GetComponent<Drop>();
+        Transform tra;
 
-        if (drop == null)
+        if (objType == ObjType.DropGold)
         {
-            if (objType == ObjType.DropGold)
-            {
-                drop = tra.AddScript<DropGold>();
-            }
-            else if (objType == ObjType.DropDiamond)
-            {
-                drop = tra.AddScript<DropDiamond>();
-            }
-            else
-            {
-                throw new Exception();
-            }
+            tra = Get<DropGold>(objType.ToString(), Folder.UI, false, null, pos, objType);
+        }
+        else if(objType == ObjType.DropDiamond)
+        {
+            tra = Get<DropDiamond>(objType.ToString(), Folder.UI, false, null, pos, objType);
+        }
+        else
+        {
+            throw new Exception();
         }
 
+        Drop drop = tra.GetComponent<Drop>();
+
+        drop.RegistImmed();
         drop.ResetStatus();
 
         return drop;
@@ -422,22 +500,13 @@ public class ManaReso : Regist
 
     public static Flower GetFlower(FlowerInfo flowerInfo, Slot slot, bool collider)
     {
-        Transform tra = Get("Flower", Folder.Scene, false, slot.transform, false, ObjType.Flower);
+        Transform tra = Get<Flower>("Flower", Folder.Scene, false, slot.transform, false, ObjType.Flower);
 
         Flower flower = tra.GetComponent<Flower>();
 
-        if (flower == null)
-        {
-            flower = tra.AddScript<Flower>();
+        flower.RegistImmed();
 
-            flower.ObjType = ObjType.Flower;
-            flower.LocalPos = flower.transform.localPosition;
-        }
-        else
-        {
-            flower.GoldBk.SetActive(false);
-            flower.transform.localPosition = flower.LocalPos;
-        }
+        flower.GoldBk.SetActive(false);
 
         flower.FlowerInfo = flowerInfo;
         flower.Slot = slot;
@@ -449,22 +518,13 @@ public class ManaReso : Regist
 
     public static Flower GetFlower(FlowerInfo flowerInfo, Transform par)
     {
-        Transform tra = Get("Flower", Folder.Scene, false, par, false, ObjType.Flower);
+        Transform tra = Get<Flower>("Flower", Folder.Scene, false, par, false, ObjType.Flower);
 
         Flower flower = tra.GetComponent<Flower>();
 
-        if (flower == null)
-        {
-            flower = tra.AddScript<Flower>();
+        flower.RegistImmed();
 
-            flower.ObjType = ObjType.Flower;
-            flower.LocalPos = flower.transform.localPosition;
-        }
-        else
-        {
-            flower.GoldBk.SetActive(false);
-            flower.transform.localPosition = flower.LocalPos;
-        }
+        flower.GoldBk.SetActive(false);
 
         flower.FlowerInfo = flowerInfo;
 
@@ -487,24 +547,17 @@ public class ManaReso : Regist
             pos = posTra.position;
         }
 
-
-        Transform tra = Get("HudText", Folder.UI, false, parTra, pos, ObjType.HudText);
+        Transform tra = Get<HudText>("HudText", Folder.UI, false, parTra, pos, ObjType.HudText);
 
         HudText hudText = tra.GetComponent<HudText>();
 
-        if (hudText == null)
-        {
-            hudText = tra.AddComponent<HudText>();
-            hudText.ObjType = ObjType.HudText;
-        }
-
         hudText.Show(str, color, size);
 
         return hudText;
     }
 
 
-    public static Transform GetElf(Flower flower, ObjType obj)
+    public static Transform GetElf(Flower flower, Vector4 offset, ObjType obj)
     {
         Transform tra;
 
@@ -515,15 +568,13 @@ public class ManaReso : Regist
 
         pos.z -= Random.Range(0.001f, 0.1f);
 
-        tra = Get(obj.ToString(), Folder.Scene, false, par, pos, obj);
+        tra = Get<ObjRoot>(obj.ToString(), Folder.Scene, false, par, pos, obj);
 
-        ObjRoot objRoot = tra.GetComponent<ObjRoot>();
+        Elf elf = tra.GetChild(0).GetComponent<Elf>();
 
-        if (objRoot == null)
+        if (elf == null)
         {
-            tra.AddComponent<ObjRoot>().ObjType = obj;
-
-            tra.GetChild(0).AddScript<Elf>();
+            elf = tra.GetChild(0).AddScript<Elf>();
         }
 
 
@@ -536,14 +587,12 @@ public class ManaReso : Regist
             tra.SetEY(0);
         }
 
-        float offsetX = Mathf.Lerp(-0.75f * bounds.extents.x, 0.75f * bounds.extents.x, Random.Range(0f, 1f));
-        float offsetY = Mathf.Lerp(0, 0.75f * bounds.extents.y, Random.Range(0f, 1f));
+        float offsetX = Mathf.Lerp(offset.x*bounds.extents.x, offset.y*bounds.extents.x, Random.Range(0f, 1f));
+        float offsetY = Mathf.Lerp(offset.z, offset.w*bounds.extents.y, Random.Range(0f, 1f));
 
         tra.position += new Vector3(offsetX, offsetY, 0);
 
 
-        Elf elf = tra.GetChild(0).GetComponent<Elf>();
-
         elf.Flower = flower;
         elf.Animator.SetTrigger("Play");
 
@@ -556,19 +605,19 @@ public class ManaReso : Regist
 
         if (skillRoot.SkillTab == SkillTab.Elf)
         {
-            tra = Get("SkillItem", Folder.UI, false, Get("Fd_Grid"), false);
+            tra = Get<ObjRoot>("SkillItem", Folder.UI, false, Get("Fd_Grid"), false, ObjType.SkillItem);
         }
         else if (skillRoot.SkillTab == SkillTab.Store)
         {
-            tra = Get("SkillItem", Folder.UI, false, Get("Fc_Grid"), false);
+            tra = Get<ObjRoot>("SkillItem", Folder.UI, false, Get("Fc_Grid"), false, ObjType.SkillItem);
         }
         else if (skillRoot.SkillTab == SkillTab.Magic)
         {
-            tra = Get("SkillItem", Folder.UI, false, Get("Fb_Grid"), false);
+            tra = Get<ObjRoot>("SkillItem", Folder.UI, false, Get("Fb_Grid"), false, ObjType.SkillItem);
         }
         else if (skillRoot.SkillTab == SkillTab.Garden)
         {
-            tra = Get("SkillItem", Folder.UI, false, Get("Fa_Grid"), false);
+            tra = Get<ObjRoot>("SkillItem", Folder.UI, false, Get("Fa_Grid"), false, ObjType.SkillItem);
         }
         else
         {
@@ -582,15 +631,147 @@ public class ManaReso : Regist
 
     public static Transform GetAchieveItem()
     {
-        Transform tra = Get("AchieveItem", Folder.UI, false, ManaReso.Get("M_Grid"), false, ObjType.AchieveItem);
+        Transform tra = Get<ObjRoot>("AchieveItem", Folder.UI, false, ManaReso.Get("M_Grid"), false, ObjType.AchieveItem);
 
-        ObjRoot objRoot = tra.GetComponent<ObjRoot>();
+        return tra;
+    }
 
-        if (objRoot == null)
+
+    public static void AsyncLoad<T>(string goName, Folder folder, ObjType objType) where T : ObjRoot
+    {
+        KV<AssetBundleRequest, UnityAction> kv = new KV<AssetBundleRequest, UnityAction>();
+
+        AssetBundleRequest bundleRequest;
+
+        if (folder == Folder.UI)
+        {
+            bundleRequest = Bundle.UI.LoadAssetAsync(goName);
+        }
+        else if (folder == Folder.Config)
+        {
+            bundleRequest = Bundle.Config.LoadAssetAsync(goName);
+        }
+        else if (folder == Folder.Shader)
         {
-            tra.AddComponent<ObjRoot>().ObjType = ObjType.AchieveItem;
+            bundleRequest = Bundle.Shader.LoadAssetAsync(goName);
+        }
+        else if (folder == Folder.Scene)
+        {
+            bundleRequest = Bundle.Scene.LoadAssetAsync(goName);
+        }
+        else
+        {
+            throw new Exception();
         }
 
-        return tra;
+
+        kv.Key = bundleRequest;
+        kv.Value = () =>
+        {
+            ObjDic.Add(goName, bundleRequest.asset);
+
+            if (objType != ObjType.Null)
+            {
+                ObjectPool.Add(objType, new List<Transform>());
+            }
+
+            GameObject go = (GameObject) Instantiate(bundleRequest.asset);
+
+            go.AddComponent<T>().ObjType = objType;
+
+            go.name = go.name.Replace("(Clone)", "");
+
+            Save(go);
+        };
+
+        RequestList.Add(bundleRequest);
+
+        InstantiateList.Add(kv);
+    }
+
+    public static void AddAsyncLoad<T>(string goName, Folder folder, ObjType objType) where T : ObjRoot
+    {
+        AsyncList.Add
+        (
+            () =>
+            {
+                AsyncLoad<T>(goName, folder, objType);
+            }
+        );
+    }
+
+
+    public void StopAsync()
+    {
+        StopCoroutine(CoroAsync);
+        StopCoroutine(CoroInstantiate);
+    }
+
+    public static IEnumerator IAsyncLoad()
+    {
+        while (true)
+        {
+            if (RequestList.Count > 0)
+            {
+                yield return null;
+            }
+            else
+            {
+                if (AsyncList.Count > 0)
+                {
+                    AsyncList[0].SafeInvoke();
+
+                    AsyncList.RemoveAt(0);
+
+                    yield return null;
+                }
+                else
+                {
+                    yield return null;
+                }
+            }
+        }
+    }
+
+    public static IEnumerator IAsyncInstancitate()
+    {
+        while (true)
+        {
+            if (!InstantiateList.Valid())
+            {
+                yield return null;
+            }
+            else
+            {
+                if (Time.deltaTime > 0.333f)
+                {
+                    yield return null;
+                }
+
+                if (!InstantiateList[0].Key.isDone)
+                {
+                    yield return null;
+                }
+                else
+                {
+                    RequestList.Remove(InstantiateList[0].Key);
+
+                    UnityAction action = InstantiateList[0].Value;
+
+                    Auxiliary.Instance.DelayCall
+                    (
+                        () =>
+                        {
+                            action.SafeInvoke();
+
+                            InstantiateList.RemoveAt(0);
+                        },
+                        1
+                    );
+
+                    yield return null;
+                }
+            }
+        }
     }
 }

+ 17 - 11
Assets/Script/Manage/ManaServer.cs

@@ -38,7 +38,8 @@ public class ManaServer : Regist
     public static bool Connect_;
 
     public static bool LoginComplete;
-    public static string ID;
+    public static string ID = "Default";
+    public static JsonData JsonData;
     public static DateTime Time;
 
     #endregion
@@ -55,15 +56,25 @@ public class ManaServer : Regist
     private static void LoginCallback(JsonData jsonData)
     {
         LoginComplete = true;
-        
+
         if (jsonData["c"].ToJson() == "0")
         {
             Connect = true;
 
-            ID = jsonData["o"].ToJson().Trim('"');
+            JsonData = jsonData;
 
             Time = DateUtil.GetTime(jsonData["time"].ToJson());
 
+            if (Data._PlayerDoc != null)
+            {
+                if (Data.GetPlayerString("ID") == "Default")
+                {
+                    ID = jsonData["o"].ToString();
+
+                    ManaReso.SetText("L_UserLab", ID);
+                }
+            }
+
             ManaDebug.Log("<color=red>连接成功</color>");
         }
         else
@@ -94,17 +105,12 @@ public class ManaServer : Regist
     }
 
 
-    public static void Load()
+    public static void Load(string id, URLRequest.URLRequestJsonCallBackDelegate callback)
     {
         URLRequestData urlData = new URLRequestData();
 
-        urlData.Add("u", ID);
-
-        URLRequest.CreateURLRequest("https://garden.dashgame.com/index.php/home/user/load", urlData, LoadCallback, URLRequest.Method.POST);
-    }
+        urlData.Add("u", id);
 
-    private static void LoadCallback(JsonData jsonData)
-    {
-        Debug.Log(jsonData.ToJson());
+        URLRequest.CreateURLRequest("https://garden.dashgame.com/index.php/home/user/load", urlData, callback, URLRequest.Method.POST);
     }
 }

+ 19 - 1
Assets/Script/Manage/ManaSign.cs

@@ -161,6 +161,24 @@ public class ManaSign : Regist
     }
 
 
+    public static void Reload()
+    {
+        SignTime = DateTime.Parse(Data.GetPlayerString("SignTime"));
+
+        SignIndex = Data.GetPlayerInt("SignIndex");
+
+        foreach (var kv in SignDic)
+        {
+            kv.Value.Icon.SetActive(false);
+            kv.Value.Mark.SetActive(false);
+        }
+
+        for (int i = 1; i < SignIndex; i++)
+        {
+            SignDic[i].SetUI();
+        }
+    }
+
     public override void RegistValueB()
     {
         SignTime = DateTime.Parse(Data.GetPlayerString("SignTime"));
@@ -174,7 +192,7 @@ public class ManaSign : Regist
 
         for (int i = 0; i < attributeList.Count; i++)
         {
-            Transform tra = ManaReso.Get("SignInItem", Folder.UI, false, par, false);
+            Transform tra = ManaReso.Get<ObjRoot>("SignItem", Folder.UI, false, par, false, ObjType.SignItem);
 
             SignDic.Add(i + 1, new Sign(i + 1, tra, attributeList[i]));
         }

+ 54 - 35
Assets/Script/Manage/ManaTutorial.cs

@@ -75,15 +75,26 @@ public class ManaTutorial : Regist
     {
         if (TutorialA)
         {
-            ManaReso.Get("Tutorial", Folder.Object, true, transform, false).AddScript<Tutorial>();
+            ManaReso.Get<ObjRoot>("Tutorial", Folder.Scene, true, transform, false, ObjType.Tutorial).AddScript<Tutorial>();
         }
     }
 
 
     public override void RegistValueC()
     {
+        Tutorial.Arrow = ManaReso.Get("N_Arrow");
+        Tutorial.Material = ManaReso.Get<Image>("N_Mask").material;
+
         if (TutorialA)
         {
+            ManaReso.Get("TutorialMask").AddScript<SceneMask>();
+
+            ManaReso.Get("Tutorial").CreateTweenSr(0, 1, 1f, true, true, Curve.EaseOutQuad, false, true);
+            ManaReso.Get("PlayerBk1").CreateTweenScale(new Vector3(0.75f, 0.75f, 0.75f), new Vector3(0.9f, 0.9f, 0.9f), 0.25f, true, true, Curve.EaseOutQuad);
+            ManaReso.Get("PlayerBk2").CreateTweenScale(new Vector3(0.75f, 0.75f, 0.75f), new Vector3(0.9f, 0.9f, 0.9f), 0.25f, true, true, Curve.EaseOutQuad);
+            ManaReso.Get("PlayerBk3").CreateTweenScale(new Vector3(0.75f, 0.75f, 0.75f), new Vector3(0.9f, 0.9f, 0.9f), 0.25f, true, true, Curve.EaseOutQuad);
+            ManaReso.Get("TutorialMask").CreateTweenSr(0, 180 / 255f, 0.25f, false, true, Curve.EaseOutQuad);
+
             if (TutorialIndexA == 1)
             {
                 PrepareStep1();
@@ -96,13 +107,15 @@ public class ManaTutorial : Regist
             }
             else if (TutorialIndexA == 4)
             {
-                Garden.Instance.TutorialToRegular();
-                ManaUI.Instance.TutorialToRegular();
+                ManaReso.SetActive("N_Tutorial", true);
 
                 ManaReso.SetActive("Tutorial", true);
                 ManaReso.SetActive("TutorialMask", true);
                 ManaReso.SetActive("TutorialCollider", true);
 
+                Garden.Instance.TutorialToRegular();
+                ManaUI.Instance.TutorialToRegular();
+
                 Transform tra = ManaGarden.SlotList[0].transform;
 
                 Tutorial.HightScene(0.1f, 0.075f, tra.FindChild("SlotArrow"), tra);
@@ -122,9 +135,9 @@ public class ManaTutorial : Regist
     {
         Garden.Instance.TutorialToRegular();
 
-        ManaReso.SetActive("PlayerBk1", false);
-        ManaReso.SetActive("PlayerBk2", false);
-        ManaReso.SetActive("PlayerBk3", false);
+        Destroy(ManaReso.Get("PlayerBk1").gameObject);
+        Destroy(ManaReso.Get("PlayerBk2").gameObject);
+        Destroy(ManaReso.Get("PlayerBk3").gameObject);
 
         PrepareStep2();
     }
@@ -213,7 +226,6 @@ public class ManaTutorial : Regist
 
                 ManaPlayer.Player = tra.GetComponent<Player>();
 
-                tra.name = "Player";
                 tra.parent = ManaReso.Get("Garden");
 
                 ManaReso.TraDic.Add(tra.name, tra);
@@ -255,6 +267,7 @@ public class ManaTutorial : Regist
         ManaReso.SetActive("C_Achieve", false);
         ManaReso.SetActive("C_Manage", false);
 
+        ManaReso.SetActive("N_Tutorial", true);
 
         Tween tween = ManaReso.Get("N_Mask").TweenConForGra();
 
@@ -263,7 +276,7 @@ public class ManaTutorial : Regist
             EventType.ForwardFinish, 
             () =>
             {
-                Tutorial.HightScreen(ManaReso.Get("C_MiniGameArrow0"), ManaReso.Get("C_MiniGameArrow1"), ManaReso.Get("C_MiniGame"));
+                Tutorial.HightScreen(ManaReso.Get("C_MiniArrow0"), ManaReso.Get("C_MiniArrow1"), ManaReso.Get("C_MiniGame"));
             }
         );
 
@@ -329,6 +342,9 @@ public class ManaTutorial : Regist
 
                 ManaReso.Get<SpriteRenderer>("TutorialMask").material.SetColor("_Color", Color.white);
 
+                ManaReso.SetActive("TutorialMask", true);
+                ManaReso.SetActive("TutorialCollider", true);
+
                 Transform tra = ManaGarden.SlotList[0].transform;
 
                 Tutorial.HightScene(0.1f, 0.075f, tra.FindChild("SlotArrow"), tra);
@@ -347,7 +363,7 @@ public class ManaTutorial : Regist
             {
                 Transform tra = ManaReso.Get("G_RegularGrid").GetChild(0);
 
-                Tutorial.HightScreen(tra.FindChild("ArrowPos"), tra);
+                Tutorial.HightScreen(tra.FindChild("Arrow0"), tra);
             }
         );
 
@@ -359,7 +375,7 @@ public class ManaTutorial : Regist
             {
                 Tutorial.HightDisable(0, false);
 
-                Tutorial.HightScreen(ManaReso.Get("G_CloseArrow"), ManaReso.Get("G_Close"));
+                Tutorial.HightScreen(ManaReso.Get("G_Arrow0"), ManaReso.Get("G_Close"));
             }
         );
 
@@ -391,13 +407,15 @@ public class ManaTutorial : Regist
         ManaReso.SetActive("C_Achieve", true);
         ManaReso.SetActive("C_Manage", true);
 
+        ManaReso.SetActive("N_Tutorial", true);
+
         Tween tween = ManaReso.Get("C_Main").TweenForCG();
 
         tween.AddEventOnetime
         (
             EventType.ForwardFinish, () =>
             {
-                Tutorial.HightScreen(ManaReso.Get("C_ManageArrow"), ManaReso.Get("C_Manage"));
+                Tutorial.HightScreen(ManaReso.Get("C_ManageArrow0"), ManaReso.Get("C_Manage"));
             }
         );
 
@@ -422,7 +440,7 @@ public class ManaTutorial : Regist
             {
                 Transform tra = ManaData.SkillDic["Ability1"].SkillItem;
 
-                Tutorial.HightScreen(tra.FindChild("Arrow1"), tra.FindChild("Arrow0"), tra.FindChild("Btn"));
+                Tutorial.HightScreen(tra.FindChild("Arrow0"), tra.FindChild("Arrow1"), tra.FindChild("Btn"));
             }
         );
 
@@ -445,7 +463,7 @@ public class ManaTutorial : Regist
             EventType.ForwardFinish, 
             () =>
             {
-                Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
+                Tutorial.HightScreen(ManaReso.Get("Fe_Arrow0"), ManaReso.Get("Fe_Arrow1"), ManaReso.Get("Fe_Btn"));
 
                 ManaReso.AddButtonEventOnetime
                 (
@@ -467,7 +485,7 @@ public class ManaTutorial : Regist
             {
                 Transform tra = ManaData.SkillDic["Skill1"].SkillItem;
 
-                Tutorial.HightScreen(tra.FindChild("Arrow1"), tra.FindChild("Arrow0"), tra.FindChild("Btn"));
+                Tutorial.HightScreen(tra.FindChild("Arrow0"), tra.FindChild("Arrow1"), tra.FindChild("Btn"));
             }
         );
 
@@ -490,7 +508,7 @@ public class ManaTutorial : Regist
             EventType.ForwardFinish,
             () =>
             {
-                Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
+                Tutorial.HightScreen(ManaReso.Get("Fe_Arrow0"), ManaReso.Get("Fe_Arrow1"), ManaReso.Get("Fe_Btn"));
 
                 ManaReso.AddButtonEventOnetime
                 (
@@ -512,7 +530,7 @@ public class ManaTutorial : Regist
             {
                 ConnectExemptAmt = 1;
 
-                Tutorial.HightScreen(ManaReso.Get("F_SkillArrow10"), ManaReso.Get("F_Skill1"));
+                Tutorial.HightScreen(ManaReso.Get("F_Arrow0"), ManaReso.Get("F_Skill1"));
             }
         );
 
@@ -545,6 +563,7 @@ public class ManaTutorial : Regist
     public static void PrepareStep10()
     {
         TutorialB = false;
+        TutorialB_ = false;
 
         ManaReso.Get("N_Mask").TweenForGra();
 
@@ -561,25 +580,14 @@ public class ManaTutorial : Regist
         }
         else
         {
-            Transform grid = ManaReso.Get("Fa_Grid");
-            Transform item = ManaData.SkillDic["Ability2"].SkillItem;
-            RectTransform scrr = ManaReso.Get<RectTransform>("Fa_Scrr");
-
-            Vector2 v1 = scrr.position + new Vector3(0, scrr.rect.height / 2, 0);
-            Vector2 v2 = item.position;
-            Vector3 offset = v1 - v2;
-
-            offset.x = 0;
-
-
-            Move move = ManaReso.Get("Fa_Grid").Move2D(grid.position + offset, 1f, false, false, Curve.EaseOutQuad);
+            Move move = ManaReso.Get<ScrollRect>("Fa_Scrr").Locate(skill.SkillItem, 1, Curve.EaseOutQuad, LocatePos.Middle);
 
             move.AddEventOnetime
             (
                 EventType.ForwardFinish,
                 () =>
                 {
-                    Tutorial.HightScreen(item.FindChild("Arrow1"), item.FindChild("Arrow0"), item.FindChild("Btn"));
+                    Tutorial.HightScreen(skill.SkillItem.FindChild("Arrow0"), skill.SkillItem.FindChild("Arrow1"), skill.SkillItem.FindChild("Btn"));
                 }
             );
 
@@ -600,7 +608,7 @@ public class ManaTutorial : Regist
                 EventType.ForwardFinish,
                 () =>
                 {
-                    Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
+                    Tutorial.HightScreen(ManaReso.Get("Fe_Arrow0"), ManaReso.Get("Fe_Arrow1"), ManaReso.Get("Fe_Btn"));
 
                     ManaReso.AddButtonEventOnetime
                     (
@@ -652,7 +660,7 @@ public class ManaTutorial : Regist
                     {
                         Transform item = ManaData.SkillDic["Ability5"].SkillItem;
 
-                        Tutorial.HightScreen(item.FindChild("Arrow1"), item.FindChild("Arrow0"), item.FindChild("Btn"));
+                        Tutorial.HightScreen(item.FindChild("Arrow0"), item.FindChild("Arrow1"), item.FindChild("Btn"));
                     },
                     0.5f
                 );
@@ -678,7 +686,7 @@ public class ManaTutorial : Regist
             EventType.ForwardFinish,
             () =>
             {
-                Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
+                Tutorial.HightScreen(ManaReso.Get("Fe_Arrow0"), ManaReso.Get("Fe_Arrow1"), ManaReso.Get("Fe_Btn"));
 
                 ManaReso.AddButtonEventOnetime
                 (
@@ -694,7 +702,7 @@ public class ManaTutorial : Regist
 
     public static void PrepareStepB11()
     {
-        Tween tween = ManaReso.Get("Fe_Info").TweenForVec();
+        Tween tween = ManaReso.Get("Fe_Info").TweenBacCG();
 
         tween.AddEventOnetime
         (
@@ -716,7 +724,7 @@ public class ManaTutorial : Regist
                     {
                         Transform item = ManaData.SkillDic["Ability5"].SkillItem;
 
-                        Tutorial.HightScreen(item.FindChild("Arrow1"), item.FindChild("Arrow0"), item.FindChild("Btn"));
+                        Tutorial.HightScreen(item.FindChild("Arrow0"), item.FindChild("Arrow1"), item.FindChild("Btn"));
                     },
                     0.5f
                 );
@@ -724,6 +732,17 @@ public class ManaTutorial : Regist
         );
 
 
+        Ability skill = (Ability)ManaData.SkillDic["Ability5"];
+
+        skill.ItemBtn.AddButtonEventOnetime
+        (
+            () =>
+            {
+                Tutorial.HightDisable(0, false);
+            }
+        );
+
+
         tween = ManaReso.Get("Fe_Info").GetTweenCG();
 
         tween.AddEventOnetime
@@ -731,7 +750,7 @@ public class ManaTutorial : Regist
             EventType.ForwardFinish,
             () =>
             {
-                Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
+                Tutorial.HightScreen(ManaReso.Get("Fe_Arrow0"), ManaReso.Get("Fe_Arrow1"), ManaReso.Get("Fe_Btn"));
 
                 ManaReso.AddButtonEventOnetime
                 (

+ 132 - 30
Assets/Script/Manage/ManaUI.cs

@@ -16,20 +16,40 @@ public class ManaUI : Regist
 	#region 变量
 
     public static ManaUI Instance;
-    
+    public static Transform Canvas;
+    public static Transform Camera;
+    public static Transform Transform;
+    public static Transform EventSystem;
+
     #endregion
 
 
-    public static void InstantiateInitial()
+    public static void InitialInstantiate()
     {
-        Transform tra = new GameObject("UI").transform;
+        Transform par = new GameObject("UI").transform;
+        
+        par.parent = Transform;
 
-        ManaReso.Get("Canvas", Folder.UI, true, tra, false);
-        ManaReso.Get("MainCamera", Folder.UI, true, tra,  false);
-        ManaReso.Get("EventSystem", Folder.UI, false, tra, false);
+        Canvas = ManaReso.Get<ObjRoot>("Canvas", Folder.UI, true, par, false, ObjType.Canvas);
+        Camera = ManaReso.Get<ObjRoot>("MainCamera", Folder.UI, true, par,  false, ObjType.MainCamera);
+        EventSystem = ManaReso.Get<ObjRoot>("EventSystem", Folder.UI, false, par, false, ObjType.EventSystem);
     }
 
 
+    public override void RegistImmed()
+    {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
+        Transform = transform;
+    }
+
     public override void RegistValueA()
     {
         Instance = this;
@@ -70,7 +90,10 @@ public class ManaUI : Regist
             "Ba_Confirm",
             () =>
             {
-                if (ManaServer.Time.Day - ManaSign.SignTime.Day >= 1)
+                int daySpan = ManaServer.Time.Day - ManaSign.SignTime.Day;
+                int monthSpan = ManaServer.Time.Month - ManaSign.SignTime.Month;
+
+                if (daySpan >= 1 || monthSpan >= 1)
                 {
                     ManaReso.Get("Bb_SignIn").TweenForCG();
 
@@ -421,14 +444,14 @@ public class ManaUI : Regist
         #region D_PrepareLab
 
         ManaReso.Get("D_PrepareLab").CreateTweenGra(1, 0, 0.25f, false, false, Curve.EaseOutQuad);
-        ManaReso.Get("D_PrepareLab").CreateTweenText(90, 100, 0.25f, false, false, Curve.EaseOutQuad);
+        ManaReso.Get("D_PrepareLab").CreateTweenFont(90, 100, 0.25f, false, false, Curve.EaseOutQuad);
 
-        tween = ManaReso.Get("D_PrepareLab").GetTweenText();
+        tween = ManaReso.Get("D_PrepareLab").GetTweenFont();
 
         tween.OnForwardFinish += () =>
         {
             ManaReso.Get("D_PrepareLab").GetTweenGra().InOrigin = true;
-            ManaReso.Get("D_PrepareLab").GetTweenText().InOrigin = true;
+            ManaReso.Get("D_PrepareLab").GetTweenFont().InOrigin = true;
         };
 
         #endregion
@@ -469,7 +492,7 @@ public class ManaUI : Regist
 
         #region Da_Score
 
-        ManaReso.Get("Da_ScoreTit").CreateTweenText(1, 25, 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_ScoreTit").CreateTweenFont(1, 25, 0.25f, false, true, Curve.EaseOutQuad);
 
         #endregion
 
@@ -594,6 +617,21 @@ public class ManaUI : Regist
 
         #endregion
 
+        #region Ea_Send
+
+        ManaReso.AddButtonEvent
+        (
+            "Ea_Send",
+            () =>
+            {
+                ManaData.SaveTimer = 0;
+
+                ManaServer.Save();
+            }
+        );
+
+        #endregion
+
         #region Ea_Close
 
         ManaReso.AddButtonEvent
@@ -799,10 +837,7 @@ public class ManaUI : Regist
                 ManaReso.SetActive("F_MagicIcon", false);
                 ManaReso.SetActive("F_GardenIcon", true);
 
-                if (ManaData.SkillBarValid)
-                {
-                    ManaReso.SetActive("Ff_SkillBar", true);
-                }
+                ManaReso.SetActive("Ff_SkillBar", true);
             }
         );
 
@@ -885,16 +920,6 @@ public class ManaUI : Regist
         #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);
@@ -1146,17 +1171,23 @@ public class ManaUI : Regist
         #region L
 
         ManaLan.Add(ManaReso.Get<Text>("L_UserTit"), new LanStr("UI", "L_UserTit"));
-        ManaLan.Add(ManaReso.Get<Text>("L_ChangeLab"), new LanStr("UI", "L_ChangeLab"));
         ManaLan.Add(ManaReso.Get<Text>("L_AudioTit"), new LanStr("UI", "L_AudioTit"));
-        ManaLan.Add(ManaReso.Get<Text>("L_MusicLab"), new LanStr("UI", "L_MusicLab"));
-        ManaLan.Add(ManaReso.Get<Text>("L_AudioLab"), new LanStr("UI", "L_AudioLab"));
         ManaLan.Add(ManaReso.Get<Text>("L_ReportTit"), new LanStr("UI", "L_ReportTit"));
+        ManaLan.Add(ManaReso.Get<Text>("L_LanguageTit"), new LanStr("UI", "L_LanguageTit"));
+
+        ManaLan.Add(ManaReso.Get<Text>("L_AudioLab"), new LanStr("UI", "L_AudioLab"));
+        ManaLan.Add(ManaReso.Get<Text>("L_MusicLab"), new LanStr("UI", "L_MusicLab"));
         ManaLan.Add(ManaReso.Get<Text>("L_ReportLab"), new LanStr("UI", "L_ReportLab"));
+        ManaLan.Add(ManaReso.Get<Text>("L_ChangeLab"), new LanStr("UI", "L_ChangeLab"));
         ManaLan.Add(ManaReso.Get<Text>("L_ConfirmLab"), new LanStr("UI", "L_ConfirmLab"));
-        ManaLan.Add(ManaReso.Get<Text>("L_LanguageTit"), new LanStr("UI", "L_LanguageTit"));
+
         ManaLan.Add(ManaReso.Get<Text>("L_TraChiLab"), new LanStr("UI", "L_TraChiLab"));
-        ManaLan.Add(ManaReso.Get<Text>("L_EnglishLab"), new LanStr("UI", "L_EnglishLab"));
         ManaLan.Add(ManaReso.Get<Text>("L_SimChiLab"), new LanStr("UI", "L_SimChiLab"));
+        ManaLan.Add(ManaReso.Get<Text>("L_EnglishLab"), new LanStr("UI", "L_EnglishLab"));
+
+        ManaReso.SetText("L_UserLab", Data.GetPlayerString("ID"));
+
+        #region L_Setting
 
         tween = ManaReso.Get("L_Setting").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
 
@@ -1172,6 +1203,10 @@ public class ManaUI : Regist
             ManaReso.Get("C_Main").TweenForCG();
         };
 
+        #endregion
+
+        #region L_Confirm
+
         ManaReso.SetButtonEvent
         (
             "L_Confirm",
@@ -1181,18 +1216,45 @@ public class ManaUI : Regist
             }
         );
 
+        #endregion
+
+
+        #region L_MusicBtn
+
         ManaReso.SetButtonEvent
         (
             "L_MusicBtn",
             ManaAudio.Instance.MusicSwitch
         );
 
+        #endregion
+
+        #region L_AudioBtn
+
         ManaReso.SetButtonEvent
         (
             "L_AudioBtn",
             ManaAudio.Instance.AudioSwitch
         );
 
+        #endregion
+
+        #region L_ChangeBtn
+
+        ManaReso.AddButtonEvent
+        (
+            "L_ChangeBtn",
+            () =>
+            {
+                ManaReso.Get("La_Info").TweenForCG();
+            }
+        );
+
+        #endregion
+
+
+        #region L_TraChi
+
         ManaReso.SetButtonEvent
         (
             "L_TraChi",
@@ -1208,6 +1270,10 @@ public class ManaUI : Regist
             }
         );
 
+        #endregion
+
+        #region L_SimChi
+
         ManaReso.SetButtonEvent
         (
             "L_SimChi",
@@ -1225,6 +1291,10 @@ public class ManaUI : Regist
             }
         );
 
+        #endregion
+
+        #region L_English
+
         ManaReso.SetButtonEvent
         (
             "L_English",
@@ -1244,6 +1314,38 @@ public class ManaUI : Regist
 
         #endregion
 
+
+        #region La_Info
+
+        ManaReso.Get("La_Info").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
+        #endregion
+
+        #region La_Cancel
+
+        ManaReso.AddButtonEvent
+        (
+            "La_Cancel",
+            () =>
+            {
+                ManaReso.Get("La_Info").TweenBacCG();
+            }
+        );
+
+        #endregion
+
+        #region La_Confirm
+
+        ManaReso.AddButtonEvent
+        (
+            "La_Confirm",
+            ManaData.DownloadArchive
+        );
+
+        #endregion
+
+        #endregion
+
         #region M
 
         #region M_Close

+ 9 - 0
Assets/Script/Object/DropDiamond.cs

@@ -14,6 +14,15 @@ public class DropDiamond : Drop
 
     public override void RegistImmed()
     {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
         base.RegistImmed();
 
         ObjType = ObjType.DropDiamond;

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

@@ -14,6 +14,15 @@ public class DropGold : Drop
 
 	public override void RegistImmed()
     {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
         base.RegistImmed();
 
 	    ObjType = ObjType.DropGold;

+ 9 - 0
Assets/Script/Object/Elf.cs

@@ -23,6 +23,15 @@ public class Elf : Regist
 
     public override void RegistImmed()
     {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
         Root = transform.parent;
         Animator = GetComponent<Animator>();
     }

+ 15 - 8
Assets/Script/Object/Flower.cs

@@ -119,7 +119,7 @@ public class FlowerInfo
 
     public FlowerInfo(XmlAttributeCollection attribute)
     {
-        FlowerItem = ManaReso.Get("FlowerItemG", Folder.UI, false, ManaReso.Get("G_RegularGrid"),  false);
+        FlowerItem = ManaReso.Get<ObjRoot>("FlowerItem", Folder.UI, false, ManaReso.Get("G_RegularGrid"),  false, ObjType.FlowerItem);
 
         Dictionary<string, Transform> dic = new Dictionary<string, Transform>();
 
@@ -127,7 +127,7 @@ public class FlowerInfo
 
         Text = dic["Lab"].GetComponent<Text>();
         Image = dic["Icon"].GetComponent<Image>();
-        Button = dic["FlowerItemG"].GetComponent<Button>();
+        Button = dic["FlowerItem"].GetComponent<Button>();
         UIPartical = dic["UIParticle System"].GetComponent<UIPartical>();
 
         ID_ = int.Parse(attribute[0].Value);
@@ -243,7 +243,6 @@ public class Flower : ObjRoot, IPointerClickHandler
 
     public int ID;
     public Slot Slot;
-    public Vector3 LocalPos;
     public Animator ParticleAC;
     public Transform GoldBk;
     public Transform GoldIcon;
@@ -255,6 +254,15 @@ public class Flower : ObjRoot, IPointerClickHandler
     
     public override void RegistImmed()
     {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
         enabled = true;
 
         Auxiliary.CompileDic(transform, ChildDic);
@@ -434,9 +442,9 @@ public class Flower : ObjRoot, IPointerClickHandler
     #endregion
 
 
-    public void PlayAnim(ObjType obj)
+    public void PlayAnim(ObjType obj, float xMin = -0.75f, float xMax = 0.75f, float yMin = 0, float yMax = 0.75f)
     {
-        ElfList.Add(ManaReso.GetElf(this, obj));
+        ElfList.Add(ManaReso.GetElf(this, new Vector4(xMin, xMax, yMin, yMax), obj));
     }
 
     public void PlayParticle()
@@ -471,12 +479,11 @@ public class Flower : ObjRoot, IPointerClickHandler
         GoldBk.TweenForSr();
         GoldIcon.TweenForSr();
 
-        GoldBk.Move2D
+        GoldBk.MoveOffset2D
         (
-            GoldBk.transform.localPosition + new Vector3(0, 0.5f, 0),
+            new Vector3(0, 0.5f, 0),
             1f,
             true,
-            false,
             Curve.EaseOutQuad
         );
     }

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

@@ -41,6 +41,14 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
 
     #endregion
 
+    public static void Reload()
+    {
+        TotPage = 0;
+        CurPage = 0;
+
+        PagePos = new List<Vector3>();
+    }
+
     public override void RegistValueA()
     {
         Flag1 = true;
@@ -357,13 +365,13 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
         Vector3 gardenPos3 = Vector3.Lerp(GardenPos3[0], GardenPos3[1], ratio);
         Vector3 gardenPos4 = Vector3.Lerp(GardenPos4[0], GardenPos4[1], ratio);
 
-        Player.Move2D(playerPos, 0.5f, false, false, Curve.EaseOutQuad);
+        Player.Move2D(playerPos, 0.5f, false, Curve.EaseOutQuad);
 
-        Garden2.Move2D(gardenPos2, 0.5f, false, false, Curve.EaseOutQuad);
-        Garden3.Move2D(gardenPos3, 0.5f, false, false, Curve.EaseOutQuad);
-        Garden4.Move2D(gardenPos4, 0.5f, false, false, Curve.EaseOutQuad);
+        Garden2.Move2D(gardenPos2, 0.5f, false, Curve.EaseOutQuad);
+        Garden3.Move2D(gardenPos3, 0.5f, false, Curve.EaseOutQuad);
+        Garden4.Move2D(gardenPos4, 0.5f, false, Curve.EaseOutQuad);
 
-        GardenPage.Move2D(PagePos[CurPage], 0.5f, false, false, Curve.EaseOutQuad);
+        GardenPage.Move2D(PagePos[CurPage], 0.5f, false, Curve.EaseOutQuad);
     }
 
     private void PrevPage()
@@ -379,13 +387,13 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
         Vector3 gardenPos3 = Vector3.Lerp(GardenPos3[0], GardenPos3[1], ratio);
         Vector3 gardenPos4 = Vector3.Lerp(GardenPos4[0], GardenPos4[1], ratio);
 
-        Player.Move2D(playerPos, 0.5f, false, false, Curve.EaseOutQuad);
+        Player.Move2D(playerPos, 0.5f, false, Curve.EaseOutQuad);
 
-        Garden2.Move2D(gardenPos2, 0.5f, false, false, Curve.EaseOutQuad);
-        Garden3.Move2D(gardenPos3, 0.5f, false, false, Curve.EaseOutQuad);
-        Garden4.Move2D(gardenPos4, 0.5f, false, false, Curve.EaseOutQuad);
+        Garden2.Move2D(gardenPos2, 0.5f, false, Curve.EaseOutQuad);
+        Garden3.Move2D(gardenPos3, 0.5f, false, Curve.EaseOutQuad);
+        Garden4.Move2D(gardenPos4, 0.5f, false, Curve.EaseOutQuad);
 
-        GardenPage.Move2D(PagePos[CurPage], 0.5f, false, false, Curve.EaseOutQuad);
+        GardenPage.Move2D(PagePos[CurPage], 0.5f, false, Curve.EaseOutQuad);
     }
 
     private void NextPage()
@@ -401,12 +409,12 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
         Vector3 gardenPos3 = Vector3.Lerp(GardenPos3[0], GardenPos3[1], ratio);
         Vector3 gardenPos4 = Vector3.Lerp(GardenPos4[0], GardenPos4[1], ratio);
 
-        Player.Move2D(playerPos, 0.5f, false, false, Curve.EaseOutQuad);
+        Player.Move2D(playerPos, 0.5f, false, Curve.EaseOutQuad);
 
-        Garden2.Move2D(gardenPos2, 0.5f, false, false, Curve.EaseOutQuad);
-        Garden3.Move2D(gardenPos3, 0.5f, false, false, Curve.EaseOutQuad);
-        Garden4.Move2D(gardenPos4, 0.5f, false, false, Curve.EaseOutQuad);
+        Garden2.Move2D(gardenPos2, 0.5f, false, Curve.EaseOutQuad);
+        Garden3.Move2D(gardenPos3, 0.5f, false, Curve.EaseOutQuad);
+        Garden4.Move2D(gardenPos4, 0.5f, false, Curve.EaseOutQuad);
 
-        GardenPage.Move2D(PagePos[CurPage], 0.5f, false, false, Curve.EaseOutQuad);
+        GardenPage.Move2D(PagePos[CurPage], 0.5f, false, Curve.EaseOutQuad);
     }
 }

+ 39 - 31
Assets/Script/Object/Player.cs

@@ -4,7 +4,7 @@ using UnityEngine;
 
 using System.Collections;
 using System.Collections.Generic;
-using DragonBones = DragonBones.DragonBones;
+
 using Transform = UnityEngine.Transform;
 
 public class Player : Regist 
@@ -45,6 +45,15 @@ public class Player : Regist
 
     public override void RegistImmed()
     {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
         enabled = true;
 
         Auxiliary.CompileDic(transform, ChildDic);
@@ -54,10 +63,7 @@ public class Player : Regist
     #region 换装
 
     public UnityArmatureComponent Build()
-    {
-        UnityFactory.factory.LoadTextureAtlasData(Bundle.Config.LoadAsset<TextAsset>("stand_tex"), "stand_tex");
-        UnityFactory.factory.LoadDragonBonesData(Bundle.Config.LoadAsset<TextAsset>("stand_ske"));
-        
+    {        
         UAC = UnityFactory.factory.BuildArmatureComponent("Armature");
 
         UAC.transform.parent = transform;
@@ -67,32 +73,6 @@ public class Player : Regist
         UAC.animation.Play("newAnimation");
 
 
-        Eye = "眼睛1";
-        Top = "上衣1";
-        Shoe = "鞋子1";
-        Head = "脑壳1";
-        Dress = "裙子1";
-        Mouse = "嘴巴1";
-        HeadWear = "头饰品1";
-
-        UAC.armature.GetSlot("眼睛").childArmature = UnityFactory.factory.BuildArmature(Eye);
-        UAC.armature.GetSlot("上衣").childArmature = UnityFactory.factory.BuildArmature(Top);
-        UAC.armature.GetSlot("脑壳").childArmature = UnityFactory.factory.BuildArmature(Head);
-        UAC.armature.GetSlot("裙子").childArmature = UnityFactory.factory.BuildArmature(Dress);
-        UAC.armature.GetSlot("嘴巴").childArmature = UnityFactory.factory.BuildArmature(Mouse);
-        UAC.armature.GetSlot("鞋子左").childArmature = UnityFactory.factory.BuildArmature(Shoe);
-        UAC.armature.GetSlot("鞋子右").childArmature = UnityFactory.factory.BuildArmature(Shoe);
-        UAC.armature.GetSlot("头饰品").childArmature = UnityFactory.factory.BuildArmature(HeadWear);
-
-        EyeUac = transform.FindChild("Armature/眼睛1").GetComponent<UnityArmatureComponent>();
-        TopUac = transform.FindChild("Armature/上衣1").GetComponent<UnityArmatureComponent>();
-        HeadUac = transform.FindChild("Armature/脑壳1").GetComponent<UnityArmatureComponent>();
-        DressUac = transform.FindChild("Armature/裙子1").GetComponent<UnityArmatureComponent>();
-        MouseUac = transform.FindChild("Armature/嘴巴1").GetComponent<UnityArmatureComponent>();
-        LeftShoeUac = transform.FindChild("Armature/鞋子1").GetComponent<UnityArmatureComponent>();
-        HeadWearUac = transform.FindChild("Armature/头饰品1").GetComponent<UnityArmatureComponent>();
-        RightShoeUac = transform.FindChild("Armature").GetChild(transform.FindChild("Armature/鞋子1").GetSiblingIndex() + 1).GetComponent<UnityArmatureComponent>();
-
         EyeList.Add("眼睛1");
         TopList.Add("上衣1");
         ShoeList.Add("鞋子1");
@@ -117,6 +97,34 @@ public class Player : Regist
         MouseList.Add("嘴巴3");
         HeadWearList.Add("头饰品3");
 
+        Eye = EyeList[0];
+        Top = TopList[0];
+        Shoe = ShoeList[0];
+        Head = HeadList[0];
+        Dress = DressList[0];
+        Mouse = MouseList[0];
+        HeadWear = HeadWearList[0];
+
+        UAC.armature.GetSlot("眼睛").childArmature = UnityFactory.factory.BuildArmature(Eye);
+        UAC.armature.GetSlot("上衣").childArmature = UnityFactory.factory.BuildArmature(Top);
+        UAC.armature.GetSlot("脑壳").childArmature = UnityFactory.factory.BuildArmature(Head);
+        UAC.armature.GetSlot("裙子").childArmature = UnityFactory.factory.BuildArmature(Dress);
+        UAC.armature.GetSlot("嘴巴").childArmature = UnityFactory.factory.BuildArmature(Mouse);
+        UAC.armature.GetSlot("鞋子左").childArmature = UnityFactory.factory.BuildArmature(Shoe);
+        UAC.armature.GetSlot("鞋子右").childArmature = UnityFactory.factory.BuildArmature(Shoe);
+        UAC.armature.GetSlot("头饰品").childArmature = UnityFactory.factory.BuildArmature(HeadWear);
+        
+        EyeUac = transform.FindChild("Armature/眼睛1").GetComponent<UnityArmatureComponent>();
+        TopUac = transform.FindChild("Armature/上衣1").GetComponent<UnityArmatureComponent>();
+        HeadUac = transform.FindChild("Armature/脑壳1").GetComponent<UnityArmatureComponent>();
+        DressUac = transform.FindChild("Armature/裙子1").GetComponent<UnityArmatureComponent>();
+        MouseUac = transform.FindChild("Armature/嘴巴1").GetComponent<UnityArmatureComponent>();
+        LeftShoeUac = transform.FindChild("Armature/鞋子1").GetComponent<UnityArmatureComponent>();
+        RightShoeUac = transform.FindChild("Armature/鞋子1").GetComponent<UnityArmatureComponent>();
+        HeadWearUac = transform.FindChild("Armature/头饰品1").GetComponent<UnityArmatureComponent>();
+
+        RightShoeUac = transform.FindChild("Armature").GetChild(LeftShoeUac.transform.GetSiblingIndex() + 1).GetComponent<UnityArmatureComponent>();
+
         return UAC;
     }
 

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

@@ -299,7 +299,7 @@ public class Ability : SkillRoot
 
             Flower flower = ManaGarden.PlantList.Random().Flower;
 
-            flower.PlayAnim(ManaGarden.ElfList.Last(0));
+            flower.PlayAnim(ManaGarden.ElfList.Last(0), 0, 0, 0, 0);
 
             ManaReso.Get("F_Manage").TweenBacGra();
 
@@ -310,7 +310,7 @@ public class Ability : SkillRoot
                 EventType.BackwardFinish,
                 () =>
                 {
-                    ManaReso.Get("MainCamera").Zoom2D(1.5f, 1f, 1, flower.ElfList.Last(0), Curve.EaseOutQuad);
+                    ManaReso.Get("MainCamera").Zoom2D(1.5f, 3f, 1, flower.ElfList.Last(0), Curve.EaseOutQuad);
                 }
             );
         }
@@ -325,7 +325,7 @@ public class Ability : SkillRoot
                 EventType.BackwardFinish,
                 () =>
                 {
-                    ManaReso.Get("MainCamera").Zoom2D(3.5f, 1f, 1, ManaReso.Get(Item), Curve.EaseOutQuad);
+                    ManaReso.Get("MainCamera").Zoom2D(3.5f, 3f, 1, ManaReso.Get(Item), Curve.EaseOutQuad);
                 }
             );
         }

+ 2 - 18
Assets/Script/Object/Skill/BigSkill.cs

@@ -98,22 +98,6 @@ public class BigSkill : Skill
     }
 
 
-    public void ShowSkillBar()
-    {
-        if (!ManaData.SkillBarValid)
-        {
-            ManaData.SkillBarValid = true;
-
-            ManaReso.Get("Fa_Scrr").TweenForRect();
-
-            if (ManaReso.Get("Fa_Garden").gameObject.activeSelf)
-            {
-                ManaReso.SetActive("Ff_SkillBar", true);
-            }
-        }
-    }
-
-
     public override void Annul()
     {
         CoolTimer = CD * (1 + CdBuff);
@@ -198,6 +182,8 @@ public class BigSkill : Skill
         UseTimer = float.Parse(attribute[6].Value);
         CoolTimer = float.Parse(attribute[5].Value);
 
+        BarBk1.material = Bundle.Shader.LoadAsset<Material>("GrayMat");
+
         BarStatus_ = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[3].Value);
         ItemStatus_ = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
         
@@ -214,8 +200,6 @@ public class BigSkill : Skill
         
         if (SkillTab == SkillTab.Null)
         {
-            ShowSkillBar(); //todo 不再需要了
-
             BarBk1.sprite = BarIcon;
 
             BarBk1.material = null;

+ 17 - 1
Assets/Script/Object/Slot.cs

@@ -41,7 +41,16 @@ public class Slot : Regist
 
 	public override void RegistImmed()
 	{
-	    enabled = true;
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
+        enabled = true;
 
         Icon = transform.GetChild(0).gameObject;
 	    Collider = GetComponent<BoxCollider2D>();
@@ -85,5 +94,12 @@ public class Slot : Regist
         ManaReso.Save(Flower);
 
         ManaGarden.PlantList.Remove(this);
+
+        for (int i = 0; i < Flower.ElfList.Count; i++)
+        {
+            ManaReso.Save(Flower.ElfList[i]);
+        }
+
+        Flower.ElfList = new List<Transform>();
     }
 }

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

@@ -20,24 +20,6 @@ public class Tutorial : Regist, IPointerClickHandler
 
     #endregion
 
-    public override void RegistValueA()
-    {
-        if (ManaTutorial.TutorialA)
-        {
-            Arrow = ManaReso.Get("N_Arrow");
-            Material = ManaReso.Get<Image>("N_Mask").material;
-
-            ManaReso.Get("TutorialMask").AddScript<SceneMask>();
-
-            ManaReso.Get("Tutorial").CreateTweenSr(0, 1, 1f, true, true, Curve.EaseOutQuad, false, true);
-            ManaReso.Get("PlayerBk1").CreateTweenScale(new Vector3(0.75f, 0.75f, 0.75f), new Vector3(0.9f, 0.9f, 0.9f), 0.25f, true, true, Curve.EaseOutQuad);
-            ManaReso.Get("PlayerBk2").CreateTweenScale(new Vector3(0.75f, 0.75f, 0.75f), new Vector3(0.9f, 0.9f, 0.9f), 0.25f, true, true, Curve.EaseOutQuad);
-            ManaReso.Get("PlayerBk3").CreateTweenScale(new Vector3(0.75f, 0.75f, 0.75f), new Vector3(0.9f, 0.9f, 0.9f), 0.25f, true, true, Curve.EaseOutQuad);
-            ManaReso.Get("TutorialMask").CreateTweenSr(0, 180 / 255f, 0.25f, false, true, Curve.EaseOutQuad);
-        }
-    }
-
-
     public static void HightScene(float radiusX, float radiusY, Transform arrowPos, Transform target)
     {
         SetArea(target, radiusX, radiusY);

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

@@ -7,13 +7,13 @@ public abstract class Move
 {
     #region 变量
 
-    protected virtual bool InDestination
+    public virtual bool InDestination
     {
         get { return _InDestination; }
         set { _InDestination = value; }
     }
 
-    protected bool _InDestination;
+    public bool _InDestination;
 
     public UnityAction OnForwardStart;
     public UnityAction OnForwardFinish;

+ 9 - 9
Assets/Script/Tool/Anim/Move2D.cs

@@ -8,7 +8,7 @@ public class Move2D : Move
 {
     #region 变量
 
-    protected override bool InDestination
+    public override bool InDestination
     {
         get
         {
@@ -59,15 +59,15 @@ public class Move2D : Move
         }
     }
 
-    protected bool Local;
-    protected float Timer;
-    protected float Duration;
-    protected Vector3 Delta;
-    protected Vector3 Origin;
-    protected Vector3 Destination;
-    protected Transform Target;
+    public bool Local;
+    public float Timer;
+    public float Duration;
+    public Vector3 Delta;
+    public Vector3 Origin;
+    public Vector3 Destination;
+    public Transform Target;
 
-    protected CurveFunctionV Func;
+    public CurveFunctionV Func;
 
     #endregion
 

+ 9 - 9
Assets/Script/Tool/Anim/Move3D.cs

@@ -8,7 +8,7 @@ public class Move3D : Move
 {
     #region 变量
 
-    protected override bool InDestination
+    public override bool InDestination
     {
         get
         {
@@ -59,15 +59,15 @@ public class Move3D : Move
         }
     }
 
-    protected bool Local;
-    protected float Timer;
-    protected float Duration;
-    protected Vector3 Delta;
-    protected Vector3 Origin;
-    protected Vector3 Destination;
-    protected Transform Target;
+    public bool Local;
+    public float Timer;
+    public float Duration;
+    public Vector3 Delta;
+    public Vector3 Origin;
+    public Vector3 Destination;
+    public Transform Target;
 
-    protected CurveFunctionV Func;
+    public CurveFunctionV Func;
 
     #endregion
 

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

@@ -9,7 +9,7 @@ public class Shake : Move
 {
     #region 变量
 
-    protected override bool InDestination
+    public override bool InDestination
     {
         get
         {
@@ -35,15 +35,15 @@ public class Shake : Move
         }
     }
 
-    protected int Repeat;
-    protected float Z;
-    protected float Timer;
-    protected float Duration;
-    protected Vector3 Origin;
-    protected Vector3 Strength;
-    protected Transform Target;
+    public int Repeat;
+    public float Z;
+    public float Timer;
+    public float Duration;
+    public Vector3 Origin;
+    public Vector3 Strength;
+    public Transform Target;
 
-    protected ShakeFunctionV Func;
+    public ShakeFunctionV Func;
 
     #endregion
 

+ 6 - 6
Assets/Script/Tool/Anim/Tween.cs

@@ -18,8 +18,8 @@ public abstract class Tween
         set { _InDestination = value; }
     }
 
-    protected bool _InOrigin;
-    protected bool _InDestination;
+    public bool _InOrigin;
+    public bool _InDestination;
 
     public bool CG;
     public bool InForward;
@@ -34,15 +34,15 @@ public abstract class Tween
     
     public float Duration;
 
-    protected float Timer;
-    protected bool DestActive;
-    protected bool OriginActive;
+    public float Timer;
+    public bool DestActive;
+    public bool OriginActive;
 
     public abstract bool DoForward();
     public abstract bool DoBackward();
 
 
-    protected Tween(bool cg, Curve curve, Component comp)
+    public Tween(bool cg, Curve curve, Component comp)
     {
         CG = cg;
         Curve = curve;

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

@@ -63,11 +63,11 @@ public class TweenAudio : Tween
         }
     }
 
-    protected float Delta;
-    protected float Origin;
-    protected float Destination;
-    protected AudioSource Target;
-    protected CurveFunctionF Func;
+    public float Delta;
+    public float Origin;
+    public float Destination;
+    public AudioSource Target;
+    public CurveFunctionF Func;
 
     #endregion
 

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

@@ -63,11 +63,11 @@ public class TweenCG : Tween
         }
     }
 
-    protected float Delta;
-    protected float Origin;
-    protected float Destination;
-    protected CanvasGroup Target;
-    protected CurveFunctionF Func;
+    public float Delta;
+    public float Origin;
+    public float Destination;
+    public CanvasGroup Target;
+    public CurveFunctionF Func;
 
     #endregion
 

+ 7 - 7
Assets/Script/Tool/Anim/TweenText.cs → Assets/Script/Tool/Anim/TweenFont.cs

@@ -4,7 +4,7 @@ using UnityEngine.UI;
 using System;
 using System.Collections;
 
-public class TweenText : Tween 
+public class TweenFont : Tween 
 {
     #region 变量
 
@@ -64,16 +64,16 @@ public class TweenText : Tween
         }
     }
 
-    protected int Delta;
-    protected int Origin;
-    protected int Destination;
+    public int Delta;
+    public int Origin;
+    public int Destination;
 
-    protected Text Target;
-    protected CurveFunctionF Func;
+    public Text Target;
+    public CurveFunctionF Func;
 
     #endregion
 
-    public TweenText(Text target, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false) : base(cg, curve, target)
+    public TweenFont(Text target, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false) : base(cg, curve, target)
     {
         Func = ManaAnim.CurveFuncDicF[curve];
         Target = target;

+ 0 - 0
Assets/Script/Tool/Anim/TweenText.cs.meta → Assets/Script/Tool/Anim/TweenFont.cs.meta


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

@@ -64,11 +64,11 @@ public class TweenGra : Tween
         }
     }
 
-    protected Color Delta;
-    protected Color Origin;
-    protected Color Destination;
-    protected Graphic Target;
-    protected CurveFunctionC Func;
+    public Color Delta;
+    public Color Origin;
+    public Color Destination;
+    public Graphic Target;
+    public CurveFunctionC Func;
     
     #endregion
 

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

@@ -62,11 +62,11 @@ public class TweenRect : Tween
         }
     }
 
-    protected Vector2 Delta;
-    protected Vector2 Origin;
-    protected Vector2 Destination;
-    protected RectTransform Target;
-    protected CurveFunctionV Func;
+    public Vector2 Delta;
+    public Vector2 Origin;
+    public Vector2 Destination;
+    public RectTransform Target;
+    public CurveFunctionV Func;
 
     #endregion
 

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

@@ -5,7 +5,7 @@ using System.Collections;
 
 public class TweenScale : Tween 
 {
-    #region
+    #region 变量
 
     public override bool InOrigin
     {

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

@@ -96,13 +96,13 @@ public class TweenSr : Tween
         }
     }
 
-    protected bool Group;
-    protected Color Delta;
-    protected Color Origin;
-    protected Color Destination;
-    protected Material[] Targets;
-    protected SpriteRenderer Target;
-    protected CurveFunctionC Func;
+    public bool Group;
+    public Color Delta;
+    public Color Origin;
+    public Color Destination;
+    public Material[] Targets;
+    public SpriteRenderer Target;
+    public CurveFunctionC Func;
 
     #endregion
 

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

@@ -105,12 +105,12 @@ public class TweenVec : Tween
         }
     }
 
-    protected bool Local;
-    protected Vector3 Delta;
-    protected Vector3 Origin;
-    protected Vector3 Destination;
-    protected Transform Target;
-    protected CurveFunctionV Func;
+    public bool Local;
+    public Vector3 Delta;
+    public Vector3 Origin;
+    public Vector3 Destination;
+    public Transform Target;
+    public CurveFunctionV Func;
 
     #endregion
 

+ 93 - 52
Assets/Script/Tool/Anim/Zoom2D.cs

@@ -1,20 +1,37 @@
-using UnityEngine;
+using System;
+using UnityEngine;
 
 using System.Collections;
 
+public enum ZoomPhase
+{
+    Stay,
+    Forward,
+    Bacward,
+}
+
 public class Zoom2D : Move
 {
     #region 变量
 
-    public float Delta;
+    public float Stay;
     public float Timer;
-    public float Origin;
     public float Duration;
-    public float Destination;
-    public Vector3 OriginVec;
+    public float TempTime;
+    public float OnewayTime;
+
+    public float SizeDelta;
+    public float SizeOrigin;
+    public float SizeDestination;
+    public Vector3 PosDelta;
+    public Vector3 PosOrigin;
+    public Vector3 PosDestination;
+
     public Camera Camera;
     public Transform Target;
-    public CurveFunctionF Func;
+    public ZoomPhase Phase;
+    public CurveFunctionF SizeFunc;
+    public CurveFunctionV VecFunc;
 
     #endregion
 
@@ -23,73 +40,97 @@ public class Zoom2D : Move
         Camera = camera;
     }
 
+
     public override bool Do()
     {
         Timer += Time.fixedDeltaTime;
 
-        if (Timer > Duration)
+        if (Timer < TempTime)
         {
-            Timer = 0;
+            if (Phase == ZoomPhase.Forward)
+            {
+                Camera.orthographicSize = SizeFunc(Timer, OnewayTime, SizeOrigin, SizeDelta);
 
-            Camera.orthographicSize = Destination;
+                Camera.transform.position = VecFunc(Timer, OnewayTime, PosOrigin, PosDelta);
+            }
+            else if (Phase == ZoomPhase.Bacward)
+            {
+                Camera.orthographicSize = SizeFunc(Timer, OnewayTime, SizeDestination, -SizeDelta);
+
+                Camera.transform.position = VecFunc(Timer, OnewayTime, PosDestination, -PosDelta);
+            }
 
-            return true;
+            return false;
         }
         else
         {
-            Camera.orthographicSize = Func(Timer, Duration, Origin, Delta);
+            if (Phase == ZoomPhase.Forward)
+            {
+                Phase = ZoomPhase.Stay;
 
-            return false;
+                Timer = 0;
+                TempTime = Stay;
+
+                Camera.orthographicSize = SizeDestination;
+
+                Camera.transform.position = PosDestination;
+
+                return false;
+            }
+            else if (Phase == ZoomPhase.Stay)
+            {
+                Phase = ZoomPhase.Bacward;
+
+                Timer = 0;
+                TempTime = OnewayTime;
+
+                return false;
+            }
+            else if (Phase == ZoomPhase.Bacward)
+            {
+                Timer = 0;
+
+                Camera.orthographicSize = SizeOrigin;
+
+                Camera.transform.position = PosOrigin;
+
+                OnForwardFinish.SafeInvoke();
+
+                return true;
+            }
+
+            throw new Exception();
         }
     }
 
-    public void StartZoom(float origin, float destination, float duration, float stay, Transform target, Curve curve)
+
+    public void StartZoom(float sizeOrigin, float sizeDestination, float duration, float stay, Transform target, Curve curve)
     {
         OnForwardStart.SafeInvoke();
 
-        Origin = origin;
-        Target = target;
+        Stay = stay;
         Duration = duration;
-        Destination = destination;
+        OnewayTime = (duration - stay)/2;
 
-        Func = ManaAnim.CurveFuncDicF[curve];
-        Delta = destination - origin;
-        OriginVec = Camera.transform.position;
+        SizeDelta = sizeDestination - sizeOrigin;
+        SizeOrigin = sizeOrigin;
+        SizeDestination = sizeDestination;
 
-        ManaAnim.MoveList.Remove(this);
-        ManaAnim.MoveList.Add(this);
+        PosDelta = target.position - Camera.transform.position;
+        PosOrigin = Camera.transform.position;
+        PosDestination = target.position;
 
-        Move move = Camera.Move2D(Target.position, duration, false, false, curve);
+        PosDelta.z = 0;
+        PosDestination.z = Camera.transform.position.z;
 
-        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, false, curve);
-
-                        tempMove.AddEventOnetime
-                        (
-                            EventType.ForwardFinish,
-                            () =>
-                            {
-                                OnForwardFinish.SafeInvoke();
-                            }
-                        );
-                    },
-                    stay
-                );
-            }
-        );
+        Target = target;
+        TempTime = OnewayTime;
+
+        Phase = ZoomPhase.Forward;
+        VecFunc = ManaAnim.CurveFuncDicV[curve];
+        SizeFunc = ManaAnim.CurveFuncDicF[curve];
+
+        ManaAnim.MoveList.Remove(this);
+        ManaAnim.MoveList.Add(this);
     }
 }

+ 51 - 36
Assets/Script/Tool/Auxiliary.cs

@@ -33,7 +33,7 @@ public class Amount
     public static double 万万亿 = 10000000000000000;
 }
 
-public class Auxiliary : MonoBehaviour 
+public class Auxiliary : Regist 
 {
     #region 变量
 
@@ -82,6 +82,21 @@ public class Auxiliary : MonoBehaviour
 
     #endregion
 
+    public override void RegistImmed()
+    {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
+        enabled = true;
+    }
+
+
     private void Awake()
     {
         Instance = this;
@@ -91,41 +106,41 @@ public class Auxiliary : MonoBehaviour
     {
         #region 调试
 
-        if (Input.GetKeyDown(KeyCode.P))
-        {
-            ManaData.Level += 20;
-        }
-
-        if (Input.GetKeyDown(KeyCode.O))
-        {
-            for (int i = 0; i < ManaData.SkillList.Count; i++)
-            {
-                ManaData.SkillList[i].ReceiveCool(1, true, true);
-            }
-        }
-        
-        if (Input.GetKeyDown(KeyCode.I))
-        {
-            ManaData.Coin += 100000;
-            ManaData.Diamond += 1000;
-        }
-
-        if (Input.GetKeyDown(KeyCode.U))
-        {
-            Data.SavePlayerConfig();
-            Data.SaveXml();
-        }
-
-        if (Input.GetKeyDown(KeyCode.Y))
-        {
-            Data.ResetPlayerConfig();
-            Data.SaveXml();
-        }
-
-        if (Input.GetKeyDown(KeyCode.T))
-        {
-            ManaData.Pause = !ManaData.Pause;
-        }
+        //if (Input.GetKeyDown(KeyCode.P))
+        //{
+        //    ManaData.Level += 20;
+        //}
+
+        //if (Input.GetKeyDown(KeyCode.O))
+        //{
+        //    for (int i = 0; i < ManaData.SkillList.Count; i++)
+        //    {
+        //        ManaData.SkillList[i].ReceiveCool(1, true, true);
+        //    }
+        //}
+
+        //if (Input.GetKeyDown(KeyCode.I))
+        //{
+        //    ManaData.Coin += 100000;
+        //    ManaData.Diamond += 1000;
+        //}
+
+        //if (Input.GetKeyDown(KeyCode.U))
+        //{
+        //    Data.SavePlayerConfig();
+        //    Data.SaveXml();
+        //}
+
+        //if (Input.GetKeyDown(KeyCode.Y))
+        //{
+        //    Data.ResetPlayerConfig();
+        //    Data.SaveXml();
+        //}
+
+        //if (Input.GetKeyDown(KeyCode.T))
+        //{
+        //    ManaData.Pause = !ManaData.Pause;
+        //}
 
         if (Input.GetKeyDown(KeyCode.Escape))
         {

+ 29 - 25
Assets/Script/Tool/Bundle.cs

@@ -1,4 +1,5 @@
-using UnityEngine;
+using System;
+using UnityEngine;
 using UnityEngine.Events;
 
 using System.Collections;
@@ -10,7 +11,6 @@ public class Bundle : Regist
     #region
 
     public static bool LoadComplete;
-    public static bool LoadCompleteUI;
 
     public static Bundle Instance;
 
@@ -18,19 +18,24 @@ public class Bundle : Regist
     public static AssetBundle Atlas;
     public static AssetBundle Scene;
     public static AssetBundle Config;
-    public static AssetBundle Object;
     public static AssetBundle Shader;
 
-
     #endregion
 
     public override void RegistImmed()
     {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
         enabled = true;
         Instance = this;
 
-        DontDestroyOnLoad(gameObject);
-
         LoadAll
         (
             () => LoadComplete = true
@@ -65,12 +70,27 @@ public class Bundle : Regist
     {
         yield return LoadUI();
 
-        LoadCompleteUI = true;
+        if (!Logo.LogoComplete)
+        {
+            ManaReso.AddAsyncLoad<ObjRoot>("Canvas", Folder.UI, ObjType.Canvas);
+            ManaReso.AddAsyncLoad<ObjRoot>("EventSystem", Folder.UI, ObjType.EventSystem);
+            ManaReso.AddAsyncLoad<ObjRoot>("MainCamera", Folder.UI, ObjType.MainCamera);
+        }
+        
+        yield return LoadScene();
+
+        if (!Logo.LogoComplete)
+        {
+            ManaReso.AddAsyncLoad<Flower>("Flower", Folder.Scene, ObjType.Flower);
+
+            ManaReso.AddAsyncLoad<ObjRoot>("Page", Folder.Scene, ObjType.Page);
+            ManaReso.AddAsyncLoad<ObjRoot>("Garden", Folder.Scene, ObjType.Garden);
+            ManaReso.AddAsyncLoad<ObjRoot>("MusicMini", Folder.Scene, ObjType.MusicMini);
+            ManaReso.AddAsyncLoad<ObjRoot>("MusicTheme", Folder.Scene, ObjType.MusicTheme);
+        }
 
         yield return LoadAtlas();
-        yield return LoadScene();
         yield return LoadConfig();
-        yield return LoadObject();
         yield return LoadShader();
 
         if (callback != null)
@@ -128,22 +148,6 @@ public class Bundle : Regist
         }
     }
 
-    public static IEnumerator LoadObject()
-    {
-        WWW www = new WWW(GetStreamPath() + "object");
-
-        yield return www;
-
-        if (string.IsNullOrEmpty(www.error))
-        {
-            Object = www.assetBundle;
-        }
-        else
-        {
-            Debug.Log(www.error);
-        }
-    }
-
     public static IEnumerator LoadShader()
     {
         WWW www = new WWW(GetStreamPath() + "shader");

+ 18 - 19
Assets/Script/Tool/DashGame/Logo.cs

@@ -1,40 +1,39 @@
-using System;
-using UnityEngine;
+using UnityEngine;
 using UnityEngine.SceneManagement;
 
+using System;
 using System.Collections;
 
 public class Logo : MonoBehaviour
 {
-    #region
+    #region 变量
 
-    public bool LoadComplete;
+    public static bool LogoComplete = true;
+
+    public static GameObject Cameta;
 
     #endregion
 
-    private void Start()
+    public void Awake()
     {
-        StartCoroutine(Load());
+        Cameta = GameObject.Find("Main Camera");
     }
 
-
-    private IEnumerator Load()
+    public void Begin()
     {
-        AsyncOperation async = SceneManager.LoadSceneAsync(1);
+        LogoComplete = false;
+    }
 
-        async.allowSceneActivation = false;
+    public void Complete()
+    {
+        LogoComplete = true;
 
-        while (!LoadComplete || Math.Abs(async.progress - 0.9f) > 0.0005f)
-        {
-            yield return null;
-        }
+        Cameta.SetActive(false);
 
-        async.allowSceneActivation = true;
-    }
+        ManaUI.InitialInstantiate();
 
+        ManaReso.Instance.StopAsync();
 
-    public void complete()
-    {
-        LoadComplete = true;
+        SceneManager.LoadScene(1);
     }
 }

+ 12 - 11
Assets/Script/Tool/Data.cs

@@ -110,8 +110,8 @@ public class Data
         set { _PlayerDoc = value; }
     }
 
-    private static XmlNode _PlayerNode;
-    private static XmlDocument _PlayerDoc;
+    public static XmlNode _PlayerNode;
+    public static XmlDocument _PlayerDoc;
 
     #endregion
 
@@ -127,6 +127,11 @@ public class Data
 
     private static void SaveSkillList()
     {
+        if (ManaTutorial.TutorialA)
+        {
+            return;
+        }
+
         XmlNode xmlNode;
         XmlAttribute xmlAttribute;
 
@@ -278,6 +283,8 @@ public class Data
     {
         XmlAttributeCollection attribute = PlayerNode.SelectSingleNode("PlantList").Attributes;
 
+        attribute[0].Value = "";
+
         for (int i = 0; i < ManaGarden.PlantList.Count; i++)
         {
             Slot slot = ManaGarden.PlantList[i];
@@ -302,7 +309,9 @@ public class Data
         PlayerNode.SelectSingleNode("CircleTimer").Attributes[0].Value = ManaData.CircleTimer.ToString();
         PlayerNode.SelectSingleNode("MiniGameIndex").Attributes[0].Value = ManaMiniGame.MiniGameIndex.ToString();
         PlayerNode.SelectSingleNode("Player").Attributes[0].Value = ManaPlayer.SelePlayer;
+
         PlayerNode.SelectSingleNode("ID").Attributes[0].Value = ManaServer.ID;
+        
         PlayerNode.SelectSingleNode("SignTime").Attributes[0].Value = ManaSign.SignTime.ToString();
 
         if (ManaServer.Connect)
@@ -323,7 +332,7 @@ public class Data
             PlayerNode.SelectSingleNode("TutorialA").Attributes[0].Value = "0";
         }
 
-        if (ManaTutorial.TutorialB)
+        if (ManaTutorial.TutorialB_)
         {
             PlayerNode.SelectSingleNode("TutorialB").Attributes[0].Value = "1";
         }
@@ -577,8 +586,6 @@ public class Data
     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)
@@ -602,22 +609,16 @@ public class Data
     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();
     }
 
 

+ 163 - 22
Assets/Script/Tool/Extension.cs

@@ -9,6 +9,17 @@ using System.Collections.Generic;
 
 using Random = UnityEngine.Random;
 
+public enum LocatePos
+{
+    Left,
+    Right,
+    Center,
+
+    Up,
+    Down,
+    Middle,
+}
+
 public static class Extension
 {
     #region List
@@ -202,16 +213,28 @@ public static class Extension
         return ManaAnim.Shake(comp.transform, duration, repeat, strength, curve);
     }
 
-    public static Move2D Move2D(this Component comp, Vector3 destination, float duration, bool local, bool offset, Curve curve)
+
+    public static Move2D Move2D(this Component comp, Vector3 destination, float duration, bool local, Curve curve)
+    {
+        return ManaAnim.Move2D(comp.transform, destination, duration, local, curve);
+    }
+
+    public static Move3D Move3D(this Component comp, Vector3 destination, float duration, bool local, Curve curve)
+    {
+        return ManaAnim.Move3D(comp.transform, destination, duration, local, curve);
+    }
+
+    public static Move2D MoveOffset2D(this Component comp, Vector3 offset, float duration, bool local, Curve curve)
     {
-        return ManaAnim.Move2D(comp.transform, destination, duration, local, offset, curve);
+        return ManaAnim.MoveOffset2D(comp.transform, offset, duration, local, curve);
     }
 
-    public static Move3D Move3D(this Component comp, Vector3 destination, float duration, bool local, bool offset, Curve curve)
+    public static Move3D MoveOffset3D(this Component comp, Vector3 offset, float duration, bool local, Curve curve)
     {
-        return ManaAnim.Move3D(comp.transform, destination, duration, local, offset, curve);
+        return ManaAnim.MoveOffset3D(comp.transform, offset, duration, local, 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);
@@ -394,9 +417,9 @@ public static class Extension
         return ManaAnim.TweenForGra(comp.transform);
     }
 
-    public static TweenText TweenForText(this Component comp)
+    public static TweenFont TweenForFont(this Component comp)
     {
-        return ManaAnim.TweenForText(comp.transform);
+        return ManaAnim.TweenForFont(comp.transform);
     }
 
     public static TweenRect TweenForRect(this Component comp)
@@ -440,9 +463,9 @@ public static class Extension
         return ManaAnim.TweenBacGra(comp.transform);
     }
 
-    public static TweenText TweenBacText(this Component comp)
+    public static TweenFont TweenBacFont(this Component comp)
     {
-        return ManaAnim.TweenBacText(comp.transform);
+        return ManaAnim.TweenBacFont(comp.transform);
     }
 
     public static TweenRect TweenBacRect(this Component comp)
@@ -486,9 +509,9 @@ public static class Extension
         return ManaAnim.TweenReForGra(comp.transform);
     }
 
-    public static TweenText TweenReForText(this Component comp)
+    public static TweenFont TweenReForFont(this Component comp)
     {
-        return ManaAnim.TweenReForText(comp.transform);
+        return ManaAnim.TweenReForFont(comp.transform);
     }
 
     public static TweenRect TweenReForRect(this Component comp)
@@ -532,9 +555,9 @@ public static class Extension
         return ManaAnim.TweenReBacGra(comp.transform);
     }
 
-    public static TweenText TweenReBacText(this Component comp)
+    public static TweenFont TweenReBacFont(this Component comp)
     {
-        return ManaAnim.TweenReBacText(comp.transform);
+        return ManaAnim.TweenReBacFont(comp.transform);
     }
 
     public static TweenRect TweenReBacRect(this Component comp)
@@ -578,9 +601,9 @@ public static class Extension
         return ManaAnim.TweenConForGra(comp.transform);
     }
 
-    public static TweenText TweenConForText(this Component comp)
+    public static TweenFont TweenConForFont(this Component comp)
     {
-        return ManaAnim.TweenConForText(comp.transform);
+        return ManaAnim.TweenConForFont(comp.transform);
     }
 
     public static TweenRect TweenConForRect(this Component comp)
@@ -624,9 +647,9 @@ public static class Extension
         return ManaAnim.TweenConBacGra(comp.transform);
     }
 
-    public static TweenText TweenConBacText(this Component comp)
+    public static TweenFont TweenConBacFont(this Component comp)
     {
-        return ManaAnim.TweenConBacText(comp.transform);
+        return ManaAnim.TweenConBacFont(comp.transform);
     }
 
     public static TweenRect TweenConBacRect(this Component comp)
@@ -670,9 +693,9 @@ public static class Extension
         return ManaAnim.GetTweenGra(comp.transform);
     }
 
-    public static TweenText GetTweenText(this Component comp)
+    public static TweenFont GetTweenFont(this Component comp)
     {
-        return ManaAnim.GetTweenText(comp.transform);
+        return ManaAnim.GetTweenFont(comp.transform);
     }
 
     public static TweenRect GetTweenRect(this Component comp)
@@ -716,6 +739,7 @@ public static class Extension
         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)
     {
         return ManaAnim.CreateTweenCG(comp.transform, origin, destination, duration, originActive, destActive, curve);
@@ -726,6 +750,7 @@ 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, bool cg = false)
     {
         return ManaAnim.CreateTweenGra(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
@@ -746,6 +771,7 @@ public static class Extension
         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, bool cg = false)
     {
         return ManaAnim.CreateTweenVec2D(comp.transform, origin, destination, duration, local, originActive, destActive, curve, cg);
@@ -766,16 +792,28 @@ public static class Extension
         return ManaAnim.CreateTweenVec3D(comp.transform, destination, duration, local, originActive, destActive, curve, cg);
     }
 
-    public static TweenText CreateTweenText(this Component comp, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
+    public static TweenVec CreateTweenVecOffset2D(this Component comp, Vector3 offset, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
+    {
+        return ManaAnim.CreateTweenVecOffset2D(comp.transform, offset, duration, local, originActive, destActive, curve, cg);
+    }
+
+    public static TweenVec CreateTweenVecOffset3D(this Component comp, Vector3 offset, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
+    {
+        return ManaAnim.CreateTweenVecOffset3D(comp.transform, offset, duration, local, originActive, destActive, curve, cg);
+    }
+
+
+    public static TweenFont CreateTweenFont(this Component comp, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenText(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
+        return ManaAnim.CreateTweenFont(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
     }
 
-    public static TweenText CreateTweenText(this Component comp, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
+    public static TweenFont CreateTweenFont(this Component comp, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
     {
-        return ManaAnim.CreateTweenText(comp.transform, destination, duration, originActive, destActive, curve, cg);
+        return ManaAnim.CreateTweenFont(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, bool cg = false)
     {
         return ManaAnim.CreateTweenRect(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
@@ -786,6 +824,7 @@ public static class Extension
         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, bool cg = false)
     {
         return ManaAnim.CreateTweenScale(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
@@ -796,6 +835,7 @@ public static class Extension
         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, bool cg = false)
     {
         return ManaAnim.CreateTweenAudio(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
@@ -806,6 +846,7 @@ public static class Extension
         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, bool cg = false)
     {
         return ManaAnim.CreateTweenNumber(comp.transform, origin, destination, duration, originActive, destActive, curve, cg);
@@ -865,6 +906,92 @@ public static class Extension
 
     #endregion
 
+    #region ScrollRect
+
+    public static Move Locate(this ScrollRect scrollRect, int index, float duration, Curve curve, LocatePos locatePos)
+    {
+        LayoutGroup layoutGroup = scrollRect.content.GetComponent<LayoutGroup>();
+
+        RectTransform tra1 = scrollRect.GetComponent<RectTransform>();
+
+        Rect rect1 = tra1.rect;
+
+        RectTransform tra2 = scrollRect.content.GetChild(index).GetComponent<RectTransform>();
+
+        Rect rect2 = tra2.rect;
+
+
+        if (locatePos == LocatePos.Up)
+        {
+            Vector3 itemPos = tra2.position + new Vector3(0, rect2.yMax, 0);
+            Vector3 targetPos = tra1.position + new Vector3(0, rect1.yMax - layoutGroup.padding.top, 0);
+
+            Vector3 offset = targetPos - itemPos;
+            offset.x = 0;
+
+            return scrollRect.content.MoveOffset2D(offset, duration, false, curve);
+        }
+        if (locatePos == LocatePos.Down)
+        {
+            Vector3 itemPos = tra2.position + new Vector3(0, rect2.yMin, 0);
+            Vector3 targetPos = tra1.position + new Vector3(0, rect1.yMin + layoutGroup.padding.bottom, 0);
+
+            Vector3 offset = targetPos - itemPos;
+            offset.x = 0;
+
+            return scrollRect.content.MoveOffset2D(offset, duration, false, curve);
+        }
+        else if (locatePos == LocatePos.Middle)
+        {
+            Vector3 itemPos = tra2.position + new Vector3(rect2.center.x, rect2.center.y, 0);
+            Vector3 targetPos = tra1.position + new Vector3(rect1.center.x, rect1.center.y, 0);
+
+            Vector3 offset = targetPos - itemPos;
+            offset.x = 0;
+
+            return scrollRect.content.MoveOffset2D(offset, duration, false, curve);
+        }
+        if (locatePos == LocatePos.Left)
+        {
+            Vector3 itemPos = tra2.position + new Vector3(rect2.xMin, 0, 0);
+            Vector3 targetPos = tra1.position + new Vector3(rect1.xMin + layoutGroup.padding.left, 0, 0);
+
+            Vector3 offset = targetPos - itemPos;
+            offset.y = 0;
+
+            return scrollRect.content.MoveOffset2D(offset, duration, false, curve);
+        }
+        if (locatePos == LocatePos.Right)
+        {
+            Vector3 itemPos = tra2.position + new Vector3(rect2.xMax, 0, 0);
+            Vector3 targetPos = tra1.position + new Vector3(rect1.xMax - layoutGroup.padding.right, 0, 0);
+
+            Vector3 offset = targetPos - itemPos;
+            offset.y = 0;
+
+            return scrollRect.content.MoveOffset2D(offset, duration, false, curve);
+        }
+        if (locatePos == LocatePos.Center)
+        {
+            Vector3 itemPos = tra2.position + new Vector3(rect2.center.x, rect2.center.y, 0);
+            Vector3 targetPos = tra1.position + new Vector3(rect1.center.x, rect1.center.y, 0);
+
+            Vector3 offset = targetPos - itemPos;
+            offset.y = 0;
+
+            return scrollRect.content.MoveOffset2D(offset, duration, false, curve);
+        }
+
+        throw new Exception();
+    }
+
+    public static Move Locate(this ScrollRect scrollRect, Transform item, float duration, Curve curve, LocatePos locatePos)
+    {
+        return scrollRect.Locate(item.GetSiblingIndex(), duration, curve, locatePos);
+    }
+
+    #endregion
+
     #region Transform
 
     public static void SetX(this Transform tra, float x)
@@ -939,6 +1066,20 @@ public static class Extension
         return dic.Values.ToList().Random();
     }
 
+    public static bool UniqueAdd<T1, T2>(this Dictionary<T1, T2> dic, T1 t1, T2 t2)
+    {
+        if (dic.ContainsKey(t1))
+        {
+            return false;
+        }
+        else
+        {
+            dic.Add(t1, t2);
+
+            return true;
+        }
+    }
+
     #endregion
 
     #region UnityAction

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

@@ -14,6 +14,15 @@ public class SceneMask : Regist
 
     public override void RegistImmed()
     {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
         enabled = true;
         Material = GetComponent<SpriteRenderer>().material;
         BoxCollider = ManaReso.Get<BoxCollider2D>("TutorialCollider");

+ 14 - 0
Assets/Script/Tool/UI/HudText.cs

@@ -26,6 +26,20 @@ public class HudText : ObjRoot
 
     #endregion
 
+    public override void RegistImmed()
+    {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
+        enabled = true;
+    }
+
     private void FixedUpdate()
     {
         transform.position += new Vector3(0, 7.5f*Time.fixedDeltaTime, 0);

+ 8 - 0
Assets/Script/Tool/UI/ImagePlus.cs

@@ -34,6 +34,14 @@ public class ImagePlus : Image
     {
         Draw = draw;
 
+        if (Draw)
+        {
+            if (Application.isPlaying)
+            {
+                sprite = Bundle.Atlas.LoadAsset<Sprite>("Atlas");
+            }
+        }
+
         VertexList = vertexList;
 
         OnPopulateMesh(vase);

+ 9 - 0
Assets/Script/Tool/UI/Toast.cs

@@ -32,6 +32,15 @@ public class Toast : Regist
 
     public override void RegistImmed()
     {
+        if (RegistFlag)
+        {
+            return;
+        }
+        else
+        {
+            RegistFlag = true;
+        }
+
         Text = GetComponentInChildren<Text>();
         Transform = transform;
 

+ 3 - 3
MyLovelyGarden.Editor.csproj

@@ -15,7 +15,7 @@
     <TargetFrameworkProfile>Unity Full v3.5</TargetFrameworkProfile>
     <CompilerResponseFile></CompilerResponseFile>
     <UnityProjectType>Editor:5</UnityProjectType>
-    <UnityBuildTarget>Android:13</UnityBuildTarget>
+    <UnityBuildTarget>StandaloneWindows64:19</UnityBuildTarget>
     <UnityVersion>5.5.0f3</UnityVersion>
     <RootNamespace></RootNamespace>
     <LangVersion Condition=" '$(VisualStudioVersion)' != '10.0' ">4</LangVersion>
@@ -27,7 +27,7 @@
     <IntermediateOutputPath>Temp\UnityVS_obj\Debug\</IntermediateOutputPath>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <DefineConstants>DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_ANDROID;ENABLE_SUBSTANCE;UNITY_ANDROID_API;ENABLE_EGL;ENABLE_NETWORK;ENABLE_RUNTIME_GI;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;PLATFORM_SUPPORTS_ADS_ID;UNITY_CAN_SHOW_SPLASH_SCREEN;ENABLE_VIDEO;ENABLE_VR;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;UNITY_PRO_LICENSE</DefineConstants>
+    <DefineConstants>DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;UNITY_64;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;UNITY_PRO_LICENSE</DefineConstants>
     <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
@@ -37,7 +37,7 @@
     <IntermediateOutputPath>Temp\UnityVS_obj\Release\</IntermediateOutputPath>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <DefineConstants>TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_ANDROID;ENABLE_SUBSTANCE;UNITY_ANDROID_API;ENABLE_EGL;ENABLE_NETWORK;ENABLE_RUNTIME_GI;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;PLATFORM_SUPPORTS_ADS_ID;UNITY_CAN_SHOW_SPLASH_SCREEN;ENABLE_VIDEO;ENABLE_VR;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;UNITY_PRO_LICENSE</DefineConstants>
+    <DefineConstants>TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;UNITY_64;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;UNITY_PRO_LICENSE</DefineConstants>
     <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
   </PropertyGroup>
   <ItemGroup>

+ 4 - 4
MyLovelyGarden.csproj

@@ -15,7 +15,7 @@
     <TargetFrameworkProfile>Unity Subset v3.5</TargetFrameworkProfile>
     <CompilerResponseFile></CompilerResponseFile>
     <UnityProjectType>Game:1</UnityProjectType>
-    <UnityBuildTarget>Android:13</UnityBuildTarget>
+    <UnityBuildTarget>StandaloneWindows64:19</UnityBuildTarget>
     <UnityVersion>5.5.0f3</UnityVersion>
     <RootNamespace></RootNamespace>
     <LangVersion Condition=" '$(VisualStudioVersion)' != '10.0' ">4</LangVersion>
@@ -27,7 +27,7 @@
     <IntermediateOutputPath>Temp\UnityVS_obj\Debug\</IntermediateOutputPath>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <DefineConstants>DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_ANDROID;ENABLE_SUBSTANCE;UNITY_ANDROID_API;ENABLE_EGL;ENABLE_NETWORK;ENABLE_RUNTIME_GI;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;PLATFORM_SUPPORTS_ADS_ID;UNITY_CAN_SHOW_SPLASH_SCREEN;ENABLE_VIDEO;ENABLE_VR;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;UNITY_PRO_LICENSE</DefineConstants>
+    <DefineConstants>DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;UNITY_64;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;UNITY_PRO_LICENSE</DefineConstants>
     <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
@@ -37,7 +37,7 @@
     <IntermediateOutputPath>Temp\UnityVS_obj\Release\</IntermediateOutputPath>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <DefineConstants>TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_ANDROID;ENABLE_SUBSTANCE;UNITY_ANDROID_API;ENABLE_EGL;ENABLE_NETWORK;ENABLE_RUNTIME_GI;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;PLATFORM_SUPPORTS_ADS_ID;UNITY_CAN_SHOW_SPLASH_SCREEN;ENABLE_VIDEO;ENABLE_VR;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;UNITY_PRO_LICENSE</DefineConstants>
+    <DefineConstants>TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;UNITY_64;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;UNITY_PRO_LICENSE</DefineConstants>
     <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
   </PropertyGroup>
   <ItemGroup>
@@ -169,12 +169,12 @@
     <Compile Include="Assets\Script\Tool\Anim\Tween.cs" />
     <Compile Include="Assets\Script\Tool\Anim\TweenAudio.cs" />
     <Compile Include="Assets\Script\Tool\Anim\TweenCG.cs" />
+    <Compile Include="Assets\Script\Tool\Anim\TweenFont.cs" />
     <Compile Include="Assets\Script\Tool\Anim\TweenGra.cs" />
     <Compile Include="Assets\Script\Tool\Anim\TweenNumber.cs" />
     <Compile Include="Assets\Script\Tool\Anim\TweenRect.cs" />
     <Compile Include="Assets\Script\Tool\Anim\TweenScale.cs" />
     <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" />

BIN
ProjectSettings/GraphicsSettings.asset


+ 4 - 28
ToList.txt

@@ -1,34 +1,10 @@
-添加获取游戏币调试按钮
+连接超时的情况(第一次登录 登录 发送存档 下载存档)
 
+语言文档(语言存档 加载中 小游戏的得分Hud L_Info)
 
-动画(Offset功能 全部变量改为Public)
-
-
-
-UI上的Gray着色器丢失
-
-教程结束后黑屏
-
-安装包太大(DragonBones与Bundle重复)
-
-手机上金币图标
-
-教程的时候弹出后台不能退出小游戏
-
-小游戏结束后MiniGame又弹出来
-
-大技能背景重复了
-
-分段加载场景
-
-第一次登录返回后才能操作
-
-进行教程B时彩虹已经解锁
-
-下载存档功能
-
-语言文档(语言存档 加载中 小游戏的得分Hud)
+完善预加载(Player Config)
 
+ObjRoot(和其他脚本分离 Destroy掉多余的Player)
 
 Tower
 

Some files were not shown because too many files changed in this diff