Browse Source

Temp 4.11

LiuQilin 8 years ago
parent
commit
d21a151cd8
39 changed files with 1266 additions and 907 deletions
  1. BIN
      .vs/MyLovelyGarden/v14/.suo
  2. BIN
      Assets/Resource/Garden.unity
  3. BIN
      Assets/Resource/Prefab/Object/Tutorial.prefab
  4. BIN
      Assets/Resource/Prefab/PrefabUI/Canvas.prefab
  5. 4 2
      Assets/Resource/Shader/Mask.shader
  6. 85 0
      Assets/Resource/Shader/UIMask.shader
  7. 9 0
      Assets/Resource/Shader/UIMask.shader.meta
  8. BIN
      Assets/Resource/Shader/UIMaskMat.mat
  9. 8 0
      Assets/Resource/Shader/UIMaskMat.mat.meta
  10. 1 1
      Assets/Resource/XML/PlayerConfig.xml
  11. 0 5
      Assets/Script/Interface/Regist.cs
  12. 1 1
      Assets/Script/Manage/ManaData.cs
  13. 5 0
      Assets/Script/Manage/ManaDebug.cs
  14. 6 6
      Assets/Script/Manage/ManaGarden.cs
  15. 485 35
      Assets/Script/Manage/ManaMiniGame.cs
  16. 0 22
      Assets/Script/Manage/ManaPlayer.cs
  17. 2 0
      Assets/Script/Manage/ManaReso.cs
  18. 323 2
      Assets/Script/Manage/ManaTutorial.cs
  19. 1 289
      Assets/Script/Manage/ManaUI.cs
  20. 3 0
      Assets/Script/Object/Drop.cs
  21. 2 2
      Assets/Script/Object/Flower.cs
  22. 0 196
      Assets/Script/Object/Garden.cs
  23. 74 5
      Assets/Script/Object/Tutorial.cs
  24. 8 2
      Assets/Script/Tool/Anim/Tween.cs
  25. 8 23
      Assets/Script/Tool/Anim/TweenAudio.cs
  26. 12 32
      Assets/Script/Tool/Anim/TweenCG.cs
  27. 14 26
      Assets/Script/Tool/Anim/TweenGra.cs
  28. 13 27
      Assets/Script/Tool/Anim/TweenNumber.cs
  29. 32 45
      Assets/Script/Tool/Anim/TweenRect.cs
  30. 42 45
      Assets/Script/Tool/Anim/TweenScale.cs
  31. 14 24
      Assets/Script/Tool/Anim/TweenSr.cs
  32. 12 27
      Assets/Script/Tool/Anim/TweenText.cs
  33. 38 50
      Assets/Script/Tool/Anim/TweenVec.cs
  34. 1 1
      Assets/Script/Tool/Auxiliary.cs
  35. 40 21
      Assets/Script/Tool/SceneMask.cs
  36. 2 0
      MyLovelyGarden.Editor.csproj
  37. 4 0
      MyLovelyGarden.csproj
  38. 13 16
      MyLovelyGarden.sln
  39. 4 2
      ToList.txt

BIN
.vs/MyLovelyGarden/v14/.suo


BIN
Assets/Resource/Garden.unity


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


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


+ 4 - 2
Assets/Resource/Shader/Mask.shader

@@ -49,6 +49,7 @@
 	{
 		fixed4 color : COLOR;
 		float4 vertex   : SV_POSITION;
+		float4 screenPos   : TEXCOORD1;
 		float2 texcoord  : TEXCOORD0;
 	};
 
@@ -62,6 +63,7 @@
 		v2f OUT;
 
 		OUT.vertex = UnityObjectToClipPos(IN.vertex);
+		OUT.screenPos = ComputeScreenPos(OUT.vertex);
 		OUT.texcoord = IN.texcoord;
 		OUT.color = IN.color * _Color;
 
@@ -81,8 +83,8 @@
 	{
 		fixed4 c = SampleSpriteTexture(IN.texcoord) * IN.color;
 
-	float x = IN.vertex.x - _Center.x;
-	float y = IN.vertex.y - _Center.y;
+		float x = IN.screenPos.x - _Center.x;
+		float y = IN.screenPos.y - _Center.y;
 
 		if (abs(x) < _RadiusX && abs(y) < _RadiusY)
 		{

+ 85 - 0
Assets/Resource/Shader/UIMask.shader

@@ -0,0 +1,85 @@
+Shader "DashGame/UIMask"
+{
+	Properties
+	{
+		_MainTex("Texture", 2D) = "white" {}
+	}
+
+		SubShader
+	{
+		Tags
+	{
+		"Queue" = "Transparent"
+		"IgnoreProjector" = "True"
+		"RenderType" = "Transparent"
+		"PreviewType" = "Plane"
+		"CanUseSpriteAtlas" = "True"
+	}
+
+		Cull Off
+		Lighting Off
+		ZWrite Off
+		ZTest[unity_GUIZTestMode]
+		Blend SrcAlpha OneMinusSrcAlpha
+
+		Pass
+	{
+		CGPROGRAM
+
+#pragma vertex vert
+#pragma fragment frag
+
+#include "UnityUI.cginc"
+#include "UnityCG.cginc"
+
+	struct appdata
+	{
+		float2 uv : TEXCOORD0;
+		float4 color : COLOR;
+		float4 vertex : POSITION;
+	};
+
+	struct v2f
+	{
+		float2 uv : TEXCOORD0;
+		float4 color : COLOR;
+		float4 vertex : SV_POSITION;
+		float4 screenPos : TEXCOORD1;
+	};
+
+	sampler2D _MainTex;
+	float4 _MainTex_ST;
+	float _RadiusX;
+	float _RadiusY;
+	float2 _Center;
+
+	v2f vert(appdata v)
+	{
+		v2f o;
+
+		o.vertex = UnityObjectToClipPos(v.vertex);
+		o.screenPos = ComputeScreenPos(o.vertex);
+		o.uv = TRANSFORM_TEX(v.uv, _MainTex);
+		o.color = v.color;
+
+		return o;
+	}
+
+	fixed4 frag(v2f i) : SV_Target
+	{
+		fixed4 col = tex2D(_MainTex, i.uv)*i.color;
+
+		float x = i.screenPos.x - _Center.x;
+		float y = i.screenPos.y - _Center.y;
+
+		if (abs(x) < _RadiusX && abs(y) < _RadiusY)
+		{
+			col.a = 0;
+		}
+
+		return col;
+	}
+		ENDCG
+	}
+	}
+}

+ 9 - 0
Assets/Resource/Shader/UIMask.shader.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 62507a9ea3ab77f4db3a493bdcbe5eff
+timeCreated: 1491903949
+licenseType: Pro
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Resource/Shader/UIMaskMat.mat


+ 8 - 0
Assets/Resource/Shader/UIMaskMat.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 698e0e29c7d443d43ba379c4ab2f9fbb
+timeCreated: 1491904065
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

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

@@ -1,5 +1,5 @@
 <PlayerConfig>
-  <Version value="33" />
+  <Version value="37" />
   
   <Player value="PlayerBlond" />
   <QuitTime value="2/3/2017 09:30:00 AM" />

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

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

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

@@ -453,6 +453,7 @@ public class ManaData : Regist
         #endregion
     }
 
+
     public override void RegistValueA()
     {
         if (ManaReso.Get("B_SignIn").gameObject.activeSelf)
@@ -621,7 +622,6 @@ public class ManaData : Regist
         #endregion
     }
 
-
     public override void TutorialRegistValue()
     {
         for (int i = 0; i < Data.PlayerInt("Slot"); i++)

+ 5 - 0
Assets/Script/Manage/ManaDebug.cs

@@ -25,6 +25,11 @@ public class ManaDebug : Regist
 
     public static void Log(string message)
     {
+        if (Lab == null)
+        {
+            return;
+        }
+
         Lab.text += '\n' + message;
     }
 

+ 6 - 6
Assets/Script/Manage/ManaGarden.cs

@@ -237,6 +237,12 @@ public class ManaGarden : Regist
         #endregion
     }
 
+    public override void TutorialInstantiate()
+    {
+        Instantiate();
+    }
+
+
     public override void RegistValueA()
     {
         Award = true;
@@ -267,12 +273,6 @@ public class ManaGarden : Regist
         };
     }
 
-
-    public override void TutorialInstantiate()
-    {
-        Instantiate();
-    }
-
     public override void TutorialRegistValue()
     {
         RegistValueA();

+ 485 - 35
Assets/Script/Manage/ManaMiniGame.cs

@@ -60,6 +60,266 @@ public class Award
 
     public void GetAward(int score)
     {
+        if (Initializer.Tutorial)
+        {
+            TutorialAward(score);
+        }
+        else
+        {
+            RegularAward(score);
+        }
+    }
+
+
+    private void TutorialAward(int score)
+    {
+        ManaReso.Get("Da_Info").TweenForCG();
+
+        ManaReso.SetActive("Da_Lab", false);
+        ManaReso.SetActive("Da_Quit", false);
+        ManaReso.SetActive("Da_Cancel", false);
+        ManaReso.SetActive("Da_VGroup", false);
+        ManaReso.SetActive("Da_HGroup", false);
+        ManaReso.SetActive("Da_ScoreTit", false);
+        ManaReso.SetActive("Da_GetAward", false);
+        ManaReso.SetActive("Da_FlowerGroup", false);
+        ManaReso.SetActive("Da_DiamondGroup", false);
+
+        bool diamondFlag = false;
+
+        int coin = (int)Auxiliary.FmlParse(CoinFml, "s", score.ToString());
+        coin = Mathf.FloorToInt(coin * (1 + ManaData.SkillPlus)) + BonusCoin;
+
+        ManaData.Coin += coin;
+
+
+        int diamond = 0;
+        float diamondRate = (float)Auxiliary.FmlParse(DiamondFml, "l", Mathf.Clamp(ManaData.Level, 1, 1000).ToString());
+
+        if (Random.Range(0, 1f) <= diamondRate)
+        {
+            diamondFlag = true;
+
+            ManaReso.SetActive("Da_Diamond", true);
+
+            diamond = Mathf.FloorToInt(Mathf.Lerp(DiamondMin, DiamondMax, Random.Range(0, 1f)) + BonusDiamond);
+
+            ManaData.Diamond += diamond;
+        }
+        else
+        {
+            if (BonusDiamond > 0)
+            {
+                diamondFlag = true;
+
+                ManaReso.SetActive("Da_Diamond", true);
+
+                ManaData.Diamond += BonusDiamond;
+            }
+        }
+
+
+        int standard;
+
+        if (score < Standard[1])
+        {
+            standard = 0;
+        }
+        else if (score < Standard[2])
+        {
+            standard = 1;
+        }
+        else
+        {
+            standard = 2;
+        }
+
+
+        FlowerInfo flowerInfo = ManaGarden.FlowerInfoList[0];
+
+        Vector2 newSize = flowerInfo.Sprite.rect.size;
+        newSize.x *= 0.2f;
+        newSize.y *= 0.2f;
+
+        ManaReso.Get<Image>("Da_FlowerIcon").sprite = flowerInfo.Sprite;
+        ManaReso.Get<Image>("Da_FlowerIcon").rectTransform.sizeDelta = newSize;
+
+        ManaReso.SetText("Da_FlowerLab", Language.GetStr("FlowerName", "Flower" + flowerInfo.ID));
+
+        BonusCoin = 0;
+        BonusDiamond = 0;
+
+
+        ManaReso.SetActive("Da_VGroup", true);
+        ManaReso.SetActive("Da_CoinGroup", true);
+
+        if (diamondFlag)
+        {
+            ManaReso.SetActive("Da_DiamondGroup", true);
+        }
+
+        ManaReso.SetActive("Da_FlowerGroup", true);
+
+        Auxiliary.Instance.DelayCall
+        (
+            () =>
+            {
+                ManaReso.SetActive("Da_FlowerGroup", false);
+                ManaReso.SetActive("Da_DiamondGroup", false);
+
+                ManaReso.Get("Da_VGroup").GetComponent<VerticalLayoutGroup>().enabled = false;
+            },
+            1
+        );
+
+        Tween tween = ManaReso.Get("Da_Info").GetTweenCG();
+
+        tween.OnForwardFinish = () =>
+        {
+            ManaReso.SetActive("Da_HGroup", true);
+            ManaReso.Get("Da_Star1").TweenForScale();
+        };
+
+        ManaReso.SetText("Da_CoinLab", "");
+        ManaReso.SetText("Da_ScoreLab", "");
+        ManaReso.SetText("Da_DiamondLab", "");
+
+        ManaReso.Get("Da_CoinLab").CreateTweenNumber(0, coin, 1.5f, true, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_ScoreLab").CreateTweenNumber(0, score, 1.5f, true, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_DiamondLab").CreateTweenNumber(0, diamond, 1.5f, true, true, Curve.EaseOutQuad);
+
+        tween = ManaReso.Get("Da_ScoreTit").GetTweenText();
+        tween.InOrigin = true;
+
+        tween = ManaReso.Get("Da_Star3").GetTweenScale();
+        tween.InOrigin = true;
+        tween.OnForwardFinish = null;
+
+        tween = ManaReso.Get("Da_Star2").GetTweenScale();
+        tween.InOrigin = true;
+        tween.OnForwardFinish = null;
+
+        tween = ManaReso.Get("Da_Star1").GetTweenScale();
+        tween.InOrigin = true;
+        tween.OnForwardFinish = null;
+
+        if (standard == 0)
+        {
+            ManaReso.SetActive("Da_Star2", false);
+            ManaReso.SetActive("Da_Star3", false);
+        }
+        else if (standard == 1)
+        {
+            ManaReso.SetActive("Da_Star2", true);
+            ManaReso.SetActive("Da_Star3", false);
+
+            tween = ManaReso.Get("Da_Star1").GetTweenScale();
+
+            tween.OnForwardFinish += () =>
+            {
+                ManaReso.Get("Da_Star2").TweenForScale();
+            };
+
+            tween = ManaReso.Get("Da_Star2").GetTweenScale();
+        }
+        else if (standard == 2)
+        {
+            ManaReso.SetActive("Da_Star2", true);
+            ManaReso.SetActive("Da_Star3", true);
+
+            tween = ManaReso.Get("Da_Star1").GetTweenScale();
+
+            tween.OnForwardFinish += () =>
+            {
+                ManaReso.Get("Da_Star2").TweenForScale();
+            };
+
+            tween = ManaReso.Get("Da_Star2").GetTweenScale();
+
+            tween.OnForwardFinish += () =>
+            {
+                ManaReso.Get("Da_Star3").TweenForScale();
+            };
+
+            tween = ManaReso.Get("Da_Star3").GetTweenScale();
+        }
+
+        tween.OnForwardFinish = () =>
+        {
+            ManaReso.Get("Da_ScoreTit").TweenForText();
+        };
+
+        tween = ManaReso.Get("Da_ScoreTit").GetTweenText();
+
+        tween.OnForwardFinish = () =>
+        {
+            ManaReso.Get("Da_ScoreLab").TweenForNumber();
+        };
+
+        tween = ManaReso.Get("Da_ScoreLab").GetTweenNumber();
+
+        tween.OnForwardFinish = () =>
+        {
+            ManaReso.Get<CanvasGroup>("Da_VGroup").alpha = 1;
+            ManaReso.SetActive("Da_VGroup", true);
+
+            ManaReso.Get("Da_CoinGroup").TweenForScale();
+
+            if (diamondFlag)
+            {
+                ManaReso.Get("Da_DiamondGroup").TweenForScale();
+            }
+        };
+
+        tween = ManaReso.Get("Da_CoinGroup").GetTweenScale();
+
+        tween.OnForwardFinish = () =>
+        {
+            ManaReso.Get("Da_CoinLab").TweenForNumber();
+        };
+
+        tween = ManaReso.Get("Da_CoinLab").GetTweenNumber();
+
+        if (diamondFlag)
+        {
+            tween = ManaReso.Get("Da_DiamondGroup").GetTweenScale();
+
+            tween.OnForwardFinish = () =>
+            {
+                ManaReso.Get("Da_DiamondLab").TweenForNumber();
+            };
+
+            tween = ManaReso.Get("Da_DiamondLab").GetTweenNumber();
+        }
+        else
+        {
+            ManaReso.Get("Da_DiamondGroup").GetTweenScale().OnForwardFinish = () =>
+            {
+
+            };
+        }
+
+
+        tween = ManaReso.Get("Da_CoinLab").GetTweenNumber();
+
+        tween.OnForwardFinish = () =>
+        {
+            ManaReso.SetActive("Da_FlowerGroup", true);
+
+            ManaReso.Get("Da_FlowerGroup").TweenForScale();
+        };
+
+        tween = ManaReso.Get("Da_FlowerGroup").GetTweenScale();
+
+
+        tween.OnForwardFinish = () =>
+        {
+            ManaReso.Get("Da_GetAward").TweenForCG();
+        };
+    }
+
+    private void RegularAward(int score)
+    {
         ManaReso.Get("Da_Info").TweenForCG();
 
         ManaReso.SetActive("Da_Lab", false);
@@ -75,23 +335,23 @@ public class Award
         bool flowerFlag = false;
         bool diamondFlag = false;
 
-        int coin = (int) Auxiliary.FmlParse(CoinFml, "s", score.ToString());
-        coin = (int) (coin * (1 + ManaData.SkillPlus)) + BonusCoin;
-        
+        int coin = (int)Auxiliary.FmlParse(CoinFml, "s", score.ToString());
+        coin = (int)(coin * (1 + ManaData.SkillPlus)) + BonusCoin;
+
         ManaData.Coin += coin;
 
 
         int diamond = 0;
-        float diamondRate = (float) Auxiliary.FmlParse(DiamondFml, "l", Mathf.Clamp(ManaData.Level, 1, 1000).ToString());
-        
+        float diamondRate = (float)Auxiliary.FmlParse(DiamondFml, "l", Mathf.Clamp(ManaData.Level, 1, 1000).ToString());
+
         if (Random.Range(0, 1f) <= diamondRate)
         {
             diamondFlag = true;
 
             ManaReso.SetActive("Da_Diamond", true);
 
-            diamond = (int) Mathf.Lerp(DiamondMin, DiamondMax, Random.Range(0, 1f)) + BonusDiamond;
-            
+            diamond = (int)Mathf.Lerp(DiamondMin, DiamondMax, Random.Range(0, 1f)) + BonusDiamond;
+
             ManaData.Diamond += diamond;
         }
         else
@@ -123,8 +383,8 @@ public class Award
         }
 
 
-        float flowerRate = (float) Auxiliary.FmlParse(DiamondFml, "l", ManaData.Level.ToString(), "f", ManaGarden.MyFlower.ToString());
-        
+        float flowerRate = (float)Auxiliary.FmlParse(DiamondFml, "l", ManaData.Level.ToString(), "f", ManaGarden.MyFlower.ToString());
+
         if (Random.Range(0, 1f) <= flowerRate)
         {
             if (Random.Range(0, 1f) <= Odds[standard])
@@ -190,9 +450,9 @@ public class Award
             },
             1
         );
-        
+
         Tween tween = ManaReso.Get("Da_Info").GetTweenCG();
-    
+
         tween.OnForwardFinish = () =>
         {
             ManaReso.SetActive("Da_HGroup", true);
@@ -321,7 +581,7 @@ public class Award
         if (flowerFlag)
         {
             tween = ManaReso.Get("Da_CoinLab").GetTweenNumber();
-            
+
             tween.OnForwardFinish = () =>
             {
                 ManaReso.SetActive("Da_FlowerGroup", true);
@@ -467,6 +727,7 @@ public class ManaMiniGame : Regist
     private static float _PrepareTimer;
 
     public static int MiniGameIndex;
+    public static bool TutorialValid = true;
     public static bool DropDiamond;
     public static List<DropGold> GoldList;
     public static List<DropDiamond> DiamondList;
@@ -491,6 +752,18 @@ public class ManaMiniGame : Regist
 
     private void FixedUpdate()
     {
+        if (Initializer.Tutorial)
+        {
+            TutorialFixedUpdate();
+        }
+        else
+        {
+            RegularFixedUpdate();
+        }
+    }
+
+    private void TutorialFixedUpdate()
+    {
         if (Pause)
         {
             return;
@@ -530,7 +803,142 @@ public class ManaMiniGame : Regist
             if (DIamondTimer < 0)
             {
                 DropDiamond = false;
-                
+
+                DiamondList.Add(ManaReso.GetDiamond());
+            }
+        }
+
+        GameTimer -= Time.fixedDeltaTime;
+        if (GameTimer <= 0)
+        {
+            GameOver();
+
+            return;
+        }
+
+        if (Panalty)
+        {
+            PanaltyTimer -= Time.fixedDeltaTime;
+
+            if (PanaltyTimer <= 0)
+            {
+                Panalty = false;
+            }
+        }
+
+        if (IdleList.Count > 0)
+        {
+            OpTimer -= Time.fixedDeltaTime;
+
+            if (OpTimer <= 0)
+            {
+                OpTime -= OpTime * 0.03f;
+
+                OpTimer = OpTime;
+
+                Flower flower = IdleList[Random.Range(0, IdleList.Count)];
+
+                flower.CreateOp(OpList.Count);
+
+                OpList.Add(flower);
+                IdleList.Remove(flower);
+
+                if (TutorialValid)
+                {
+                    Pause = true;
+                    TutorialValid = false;
+
+                    if (OpList[0].OpType == OpType.Rip)
+                    {
+                        Tutorial.HightScreen(ManaReso.Get("D_RipArrow0"), ManaReso.Get("D_RipArrow1"), ManaReso.Get("D_Rip1"));
+
+                        ManaReso.AddButtonEvent
+                        (
+                            "D_Rip2",
+                            () =>
+                            {
+                                Pause = false;
+                                Tutorial.HightDisable();
+                            }
+                        );
+                    }
+                    else if (OpList[0].OpType == OpType.Water)
+                    {
+                        Tutorial.HightScreen(ManaReso.Get("D_WaterArrow0"), ManaReso.Get("D_WaterArrow1"), ManaReso.Get("D_Water1"));
+
+                        ManaReso.AddButtonEvent
+                        (
+                            "D_Water2",
+                            () =>
+                            {
+                                Pause = false;
+                                Tutorial.HightDisable();
+                            }
+                        );
+                    }
+                    else if (OpList[0].OpType == OpType.Fertilize)
+                    {
+                        Tutorial.HightScreen(ManaReso.Get("D_FertilizeArrow0"), ManaReso.Get("D_Fertilize2"), ManaReso.Get("D_Fertilize1"));
+
+                        ManaReso.AddButtonEvent
+                        (
+                            "D_Fertilize2",
+                            () =>
+                            {
+                                Pause = false;
+                                Tutorial.HightDisable();
+                            }
+                        );
+                    }
+
+                    SceneMask.SetArea(OpList[0].OperateIcon.transform, 0.1f, 0.125f);
+                }
+            }
+        }
+    }
+
+    private void RegularFixedUpdate()
+    {
+        if (Pause)
+        {
+            return;
+        }
+
+        if (Prepare)
+        {
+            PrepareTimer -= Time.fixedDeltaTime;
+
+            if (PrepareTimer <= 0)
+            {
+                GameBegin();
+
+                PrepareLab.text = Language.GetStr("UI", "D_PrepareLab");
+
+                PrepareLab.TweenForGra();
+                PrepareLab.TweenForText();
+            }
+        }
+
+        if (Game == false)
+        {
+            return;
+        }
+
+        GoldTimer -= Time.fixedDeltaTime;
+        if (GoldTimer < 0)
+        {
+            GoldTimer = Random.Range(3f, 6f);
+
+            GoldList.Add(ManaReso.GetGold());
+        }
+
+        if (DropDiamond)
+        {
+            DIamondTimer -= Time.fixedDeltaTime;
+            if (DIamondTimer < 0)
+            {
+                DropDiamond = false;
+
                 DiamondList.Add(ManaReso.GetDiamond());
             }
         }
@@ -577,7 +985,7 @@ public class ManaMiniGame : Regist
     public override void RegistValueA()
     {
         OpTime = 1.5f;
-        GameTime = 45;
+        GameTime = 5;
         PanaltyTime = 1;
 
         OpTimer = OpTime;
@@ -598,6 +1006,12 @@ public class ManaMiniGame : Regist
         };
     }
 
+    public override void TutorialRegistValue()
+    {
+        RegistValueA();
+    }
+
+
     public override void RegistReference()
     {
         TimerIcon = ManaReso.Get<Image>("D_TimerIcon");
@@ -607,12 +1021,6 @@ public class ManaMiniGame : Regist
         PrepareLab = ManaReso.Get<Text>("D_PrepareLab");
     }
 
-
-    public override void TutorialRegistValue()
-    {
-        RegistValueA();
-    }
-
     public override void TutorialRegistReference()
     {
         RegistReference();
@@ -813,9 +1221,64 @@ public class ManaMiniGame : Regist
 
     public static void GamePrepare()
     {
+        if (Initializer.Tutorial)
+        {
+            TutorialPrepare();
+        }
+        else
+        {
+            RegularPrepare();
+        }
+    }
+
+    public static void ResetOperate()
+    {
+        if (OpList.Count >= 2)
+        {
+            OpList[0].SetFirstOp();
+            OpList[1].SetSecondOp();
+        }
+        else if (OpList.Count >= 1)
+        {
+            OpList[0].SetFirstOp();
+        }
+    }
+
+
+    private static void TutorialPrepare()
+    {
         GoldList = new List<DropGold>();
         DiamondList = new List<DropDiamond>();
-        
+
+        ManaReso.SetText("Da_CoinLab", "");
+        ManaReso.SetText("Da_FlowerLab", "");
+        ManaReso.SetText("Da_DiamondLab", "");
+
+        ManaReso.SetActive("Da_Coin", true);
+        ManaReso.SetActive("Da_Flower", true);
+        ManaReso.SetActive("Da_Diamond", true);
+
+        ManaGarden.AwardLock = true;
+
+        OpList = new List<Flower>();
+        IdleList = new List<Flower>();
+        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini1")));
+        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini2")));
+        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini3")));
+        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini4")));
+        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini5")));
+        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini6")));
+        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini7")));
+        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini8")));
+        IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini9")));
+    }
+
+    private static void RegularPrepare()
+    {
+
+        GoldList = new List<DropGold>();
+        DiamondList = new List<DropDiamond>();
+
         ManaReso.SetText("Da_CoinLab", "");
         ManaReso.SetText("Da_FlowerLab", "");
         ManaReso.SetText("Da_DiamondLab", "");
@@ -837,20 +1300,7 @@ public class ManaMiniGame : Regist
         IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[6], ManaReso.Get("SlotMini7")));
         IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[7], ManaReso.Get("SlotMini8")));
         IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[8], ManaReso.Get("SlotMini9")));
-    }
-
-    public static void ResetOperate()
-    {
-        if (OpList.Count >= 2)
-        {
-            OpList[0].SetFirstOp();
-            OpList[1].SetSecondOp();
-        }
-        else if (OpList.Count >= 1)
-        {
-            OpList[0].SetFirstOp();
-        }
-    }
+    } 
 
     #endregion
 }

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

@@ -26,26 +26,4 @@ public class ManaPlayer : Regist
 
         ManaReso.TraDic.Add(tra.name, tra);
     }
-
-    public override void TutorialInstantiate()
-    {
-        
-    }
-
-    public override void TutorialRegistValue()
-    {
-
-    }
-
-
-    public static void LateRegist()
-    {
-        Tutorial.Player.parent = ManaReso.Get("Garden");
-
-        Tutorial.Player.name = "Player";
-
-        Tutorial.Player.AddScript<Player>();
-
-        ManaReso.TraDic.Add(Tutorial.Player.name, Tutorial.Player);
-    }
 }

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

@@ -240,6 +240,7 @@ public class ManaReso : Regist
         if (flower == null)
         {
             flower = tra.AddComponent<Flower>();
+            flower.Regist();
 
             flower.ObjType = ObjType.Flower;
             flower.LocalPos = flower.transform.localPosition;
@@ -267,6 +268,7 @@ public class ManaReso : Regist
         if (flower == null)
         {
             flower = tra.AddComponent<Flower>();
+            flower.Regist();
 
             flower.ObjType = ObjType.Flower;
             flower.LocalPos = flower.transform.localPosition;

+ 323 - 2
Assets/Script/Manage/ManaTutorial.cs

@@ -2,12 +2,13 @@
 
 using System.Collections;
 using System.Collections.Generic;
+using UnityEngine.UI;
 
 public class ManaTutorial : Regist
 {
-	#region 变量
+    #region 变量
+
 
-    
 
     #endregion
 
@@ -16,9 +17,329 @@ public class ManaTutorial : Regist
         ManaReso.Get("Tutorial", Folder.Object, true, transform, false).AddScript<Tutorial>();
     }
 
+
+    public override void RegistValueA()
+    {
+        ManaReso.SetActive("N_Tutorial", false);
+    }
+
     public override void TutorialRegistValue()
     {
         ManaReso.SetActive("B_SignIn", false);
         ManaReso.SetActive("N_Tutorial", true);
+
+        ManaReso.Get("N_Mask").CreateTweenGra(0, 180 / 255f, 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("N_Arrow").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("N_Tutorial").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("N_Confirm").CreateTweenGra(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
+        PrepareStep1();
+    }
+
+
+    public void EndStep1()
+    {
+        ManaReso.SetActive("PlayerBk1", false);
+        ManaReso.SetActive("PlayerBk2", false);
+        ManaReso.SetActive("PlayerBk3", false);
+
+        Tutorial.Player.GetTweenVec().OnForwardFinish = null;
+
+        Tutorial.HightDisable();
+    }
+
+    public void EndStep2()
+    {
+        ManaReso.Get("N_Arrow").TweenBacCG();
+
+        ManaReso.Get("N_Mask").GetTweenGra().OnForwardFinish = null;
+        ManaReso.Get<Button>("C_MiniGame").onClick = null;
+
+        Tutorial.HightDisable();
+    }
+
+    public void EndStep3()
+    {
+
+    }
+
+
+    public void PrepareStep1()
+    {
+        ManaReso.AddButtonEvent
+        (
+            "N_Confirm",
+            () =>
+            {
+                Tutorial.Player.name = "Player";
+                Tutorial.Player.parent = ManaReso.Get("Garden");
+
+                Tutorial.Player.AddScript<Player>();
+
+                ManaReso.TraDic.Add(Tutorial.Player.name, Tutorial.Player);
+
+
+                Tutorial.Player.CreateTweenScale(ManaReso.Get("PlayerPosTra").localScale, 1f, true, true, Curve.EaseOutQuad);
+                Tutorial.Player.CreateTweenVec3D(ManaReso.Get("PlayerPosTra").position, 1f, false, true, true, Curve.EaseOutQuad);
+
+                Tutorial.Player.TweenForVec();
+                Tutorial.Player.TweenForScale();
+
+                ManaReso.Get("Tutorial").TweenBacSr();
+                ManaReso.Get("N_Confirm").TweenBacGra();
+
+                Tween tween = Tutorial.Player.GetTweenVec();
+
+                tween.OnForwardFinish += () =>
+                {
+                    EndStep1();
+                    PrepareStep2();
+                };
+            }
+        );
+    }
+
+    public void PrepareStep2()
+    {
+        ManaReso.Get("N_Mask").TweenConForGra();
+
+        Tween tween = ManaReso.Get("N_Mask").GetTweenGra();
+        tween.OnForwardFinish += () =>
+        {
+            Tutorial.HightScreen(ManaReso.Get("C_MiniGameArrow"), ManaReso.Get("C_MiniGame"));
+        };
+
+        HudTarget hudTarget = ManaReso.Get("C_MiniGame").AddComponent<HudTarget>();
+        hudTarget.PosTra = Player.ChildDic["EnterGameTra"];
+
+        ManaReso.Get("C_Main").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("C_MiniGame").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
+        ManaReso.Get("C_Main").TweenForCG();
+        ManaReso.Get("C_MiniGame").TweenForCG();
+
+        ManaReso.SetActive("C_Coin", false);
+        ManaReso.SetActive("C_Setting", false);
+        ManaReso.SetActive("C_Achieve", false);
+        ManaReso.SetActive("C_Manage", false);
+
+        ManaReso.AddButtonEvent
+        (
+            "C_MiniGame",
+            () =>
+            {
+                EndStep2();
+                PrepareStep3();
+            }
+        );
+    }
+
+    public void PrepareStep3()
+    {
+        ManaReso.SetText("D_ScoreTit");
+        ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
+        ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0"));
+
+        ManaText.Add(ManaReso.Get<Text>("Da_QuitLab"), new LanStr("UI", "Da_QuitLab"));
+        ManaText.Add(ManaReso.Get<Text>("Da_CancelLab"), new LanStr("UI", "Da_CancelLab"));
+        ManaText.Add(ManaReso.Get<Text>("Da_GetAwardLab"), new LanStr("UI", "Da_GetAwardLab"));
+
+        #region D_Rip
+
+        ManaReso.AddButtonEvent
+        (
+            "D_Rip2",
+            () =>
+            {
+                ManaMiniGame.Rip();
+
+                ManaReso.Get("D_Rip2").TweenForScale();
+            }
+        );
+
+        Tween tween = ManaReso.Get("D_Rip2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
+
+        tween.OnForwardFinish += () =>
+        {
+            ManaReso.Get("D_Rip2").TweenBacScale();
+        };
+
+        #endregion
+
+        #region D_Begin
+
+        ManaReso.AddButtonEvent
+        (
+            "D_Begin",
+            () =>
+            {
+                ManaMiniGame.Prepare = true;
+            }
+        );
+
+        #endregion
+
+        #region D_Water
+
+        ManaReso.AddButtonEvent
+        (
+            "D_Water2",
+            () =>
+            {
+                ManaMiniGame.Water();
+
+                ManaReso.Get("D_Water2").TweenForScale();
+            }
+        );
+
+        tween = ManaReso.Get("D_Water2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
+
+        tween.OnForwardFinish += () =>
+        {
+            ManaReso.Get("D_Water2").TweenBacScale();
+        };
+
+        #endregion
+
+        #region D_Fertilize
+
+        ManaReso.AddButtonEvent
+        (
+            "D_Fertilize2",
+
+            () =>
+            {
+                ManaMiniGame.Fertilize();
+
+                ManaReso.Get("D_Fertilize2").TweenForScale();
+            }
+        );
+
+        tween = ManaReso.Get("D_Fertilize2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
+
+        tween.OnForwardFinish += () =>
+        {
+            ManaReso.Get("D_Fertilize2").TweenBacScale();
+        };
+
+        #endregion
+
+        #region D_MiniGame
+
+        tween = ManaReso.Get("D_MiniGame").CreateTweenCG(0, 1, 0.5f, false, true, Curve.EaseOutQuad);
+
+        tween.OnForwardStart += () =>
+        {
+            ManaReso.SetText("D_ScoreTit");
+            ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
+            ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0"));
+
+            ManaReso.Get("C_Main").TweenBacCG();
+
+            ManaReso.Get("MusicTheme").TweenBacAudio();
+
+            ManaReso.SetActive("E_Debug", false);
+
+            ManaData.MainDepth++;
+
+            ManaReso.SetActive("Da_Quit", true);
+            ManaReso.SetActive("Da_Cancel", true);
+            ManaReso.SetActive("Da_GetAward", false);
+        };
+
+        tween.OnForwardFinish += () =>
+        {
+            ManaReso.Get("MusicMini").TweenForAudio();
+        };
+
+        tween.OnBackwardStart += () =>
+        {
+            ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
+
+            ManaReso.Get("MusicMini").TweenBacAudio();
+        };
+
+        tween.OnBackwardFinish += () =>
+        {
+            ManaReso.Get("MusicTheme").TweenForAudio();
+
+            ManaReso.SetActive("E_Debug", true);
+        };
+
+        #endregion
+
+
+        #region Da_Info
+
+        ManaReso.Get("Da_Info").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
+        #endregion
+
+        #region Da_Star
+
+        ManaReso.Get("Da_Star1").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_Star2").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_Star3").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+
+        #endregion
+
+        #region Da_Score
+
+        ManaReso.Get("Da_ScoreTit").CreateTweenText(1, 25, 0.25f, false, true, Curve.EaseOutQuad);
+
+        #endregion
+        
+        #region Da_GetAward
+
+        ManaReso.AddButtonEvent
+        (
+            "Da_GetAward",
+            () =>
+            {
+                ManaReso.Get("C_Main").TweenForCG();
+
+                ManaReso.Get("D_MiniGame").TweenBacCG();
+
+                ManaReso.Get("GardenMini").TweenBacVec();
+
+                ManaReso.SetActive("Da_Info", false);
+            }
+        );
+
+        #endregion
+
+        ManaReso.Get("Da_GetAward").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
+        ManaReso.Get("Da_CoinGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_FlowerGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+        ManaReso.Get("Da_DiamondGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad);
+
+
+        ManaReso.Get<Garden>("Garden").RegistReference();
+        ManaReso.Get<Garden>("Garden").RegistValueA();
+
+        ManaReso.SetActive("D_Quit", false);
+
+        ManaReso.Get("GardenMini").TweenForVec();
+
+        ManaReso.Get("D_MiniGame").TweenForCG();
+
+        tween = ManaReso.Get("D_MiniGame").GetTweenCG();
+
+        tween.OnForwardFinish += () =>
+        {
+            Tutorial.HightScreen(ManaReso.Get("D_BeginArrow0"), ManaReso.Get("D_BeginArrow1"), ManaReso.Get("D_Begin"));
+        };
+
+        ManaReso.AddButtonEvent
+        (
+            "D_Begin",
+            () =>
+            {
+                Tutorial.HightDisable();
+
+                ManaReso.Get("N_Arrow").TweenBacCG();
+            }
+        );
     }
 }

+ 1 - 289
Assets/Script/Manage/ManaUI.cs

@@ -1290,294 +1290,6 @@ public class ManaUI : Regist
 
     public override void TutorialInstantiate()
     {
-        Transform tra = new GameObject("UI").transform;
-
-        ManaReso.Get("Canvas", Folder.UI, true, tra, false);
-        ManaReso.Get("MainCamera", Folder.UI, false, tra, false);
-        ManaReso.Get("EventSystem", Folder.UI, false, tra, false);
-    }
-
-    public override void TutorialRegistValue()
-    {
-        #region C
-
-        ManaReso.Get("C_Main").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
-
-        #region C_MiniGame
-
-        Tween tween = ManaReso.Get("C_MiniGame").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
-
-        tween.OnForwardStart += () =>
-        {
-
-        };
-
-        ManaReso.AddButtonEvent
-        (
-            "C_MiniGame",
-            () =>
-            {
-                ManaReso.Get("GardenMini").TweenForVec();
-
-                ManaReso.Get("D_MiniGame").TweenForCG();
-            }
-        );
-
-        #endregion
-
-        #endregion
-
-        #region D
-
-        ManaReso.SetText("D_ScoreTit");
-        ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
-        ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0"));
-
-        ManaText.Add(ManaReso.Get<Text>("Da_QuitLab"), new LanStr("UI", "Da_QuitLab"));
-        ManaText.Add(ManaReso.Get<Text>("Da_CancelLab"), new LanStr("UI", "Da_CancelLab"));
-        ManaText.Add(ManaReso.Get<Text>("Da_GetAwardLab"), new LanStr("UI", "Da_GetAwardLab"));
-
-        #region D_Rip
-
-        ManaReso.AddButtonEvent
-        (
-            "D_Rip2",
-            () =>
-            {
-                ManaMiniGame.Rip();
-
-                ManaReso.Get("D_Rip2").TweenForScale();
-            }
-        );
-
-        tween = ManaReso.Get("D_Rip2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
-
-        tween.OnForwardFinish += () =>
-        {
-            ManaReso.Get("D_Rip2").TweenBacScale();
-        };
-
-        #endregion
-
-        #region D_Quit
-
-        ManaReso.AddButtonEvent
-        (
-            "D_Quit",
-            () =>
-            {
-                ManaReso.SetText("Da_Tit", Language.GetStr("UI", "Da_Tit0"));
-                ManaReso.SetText("Da_Lab", Language.GetStr("UI", "Da_Lab"));
-
-                ManaReso.SetActive("Da_Info", true);
-                ManaReso.SetActive("Da_Quit", true);
-                ManaReso.SetActive("Da_Cancel", true);
-                ManaReso.SetActive("Da_GetAward", false);
-
-                ManaMiniGame.Pause = true;
-            }
-        );
-
-        #endregion
-
-        #region D_Begin
-
-        ManaReso.AddButtonEvent
-        (
-            "D_Begin",
-            () =>
-            {
-                ManaMiniGame.Prepare = true;
-            }
-        );
-
-        #endregion
-
-        #region D_Water
-
-        ManaReso.AddButtonEvent
-        (
-            "D_Water2",
-            () =>
-            {
-                ManaMiniGame.Water();
-
-                ManaReso.Get("D_Water2").TweenForScale();
-            }
-        );
-
-        tween = ManaReso.Get("D_Water2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
-
-        tween.OnForwardFinish += () =>
-        {
-            ManaReso.Get("D_Water2").TweenBacScale();
-        };
-
-        #endregion
-
-        #region D_Fertilize
-
-        ManaReso.AddButtonEvent
-        (
-            "D_Fertilize2",
-
-            () =>
-            {
-                ManaMiniGame.Fertilize();
-
-                ManaReso.Get("D_Fertilize2").TweenForScale();
-            }
-        );
-
-        tween = ManaReso.Get("D_Fertilize2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad);
-
-        tween.OnForwardFinish += () =>
-        {
-            ManaReso.Get("D_Fertilize2").TweenBacScale();
-        };
-
-        #endregion
-
-        #region D_MiniGame
-
-        tween = ManaReso.Get("D_MiniGame").CreateTweenCG(0, 1, 0.5f, false, true, Curve.EaseOutQuad);
-
-        tween.OnForwardStart += () =>
-        {
-            ManaReso.SetText("D_ScoreTit");
-            ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
-            ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0"));
-
-            ManaReso.Get("C_Main").TweenBacCG();
-
-            ManaReso.Get("MusicTheme").TweenBacAudio();
-
-            ManaReso.SetActive("E_Debug", false);
-
-            ManaData.MainDepth++;
-
-            ManaReso.SetActive("Da_Quit", true);
-            ManaReso.SetActive("Da_Cancel", true);
-            ManaReso.SetActive("Da_GetAward", false);
-        };
-
-        tween.OnForwardFinish += () =>
-        {
-            ManaReso.Get("MusicMini").TweenForAudio();
-        };
-
-        tween.OnBackwardStart += () =>
-        {
-            ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0"));
-
-            ManaReso.Get("MusicMini").TweenBacAudio();
-        };
-
-        tween.OnBackwardFinish += () =>
-        {
-            ManaReso.Get("MusicTheme").TweenForAudio();
-
-            ManaReso.SetActive("E_Debug", true);
-        };
-
-        #endregion
-
-
-        #region Da_Quit
-
-        ManaReso.AddButtonEvent
-        (
-            "Da_Quit",
-            () =>
-            {
-                ManaReso.Get("C_Main").TweenForCG();
-
-                ManaReso.Get("D_MiniGame").TweenBacCG();
-
-                ManaReso.Get("GardenMini").TweenBacVec();
-
-                ManaReso.SetActive("Da_Info", false);
-
-                ManaMiniGame.GameAbort();
-            }
-        );
-
-        #endregion
-
-        #region Da_Cancel
-
-        ManaReso.AddButtonEvent
-        (
-            "Da_Cancel",
-            () =>
-            {
-                ManaReso.SetActive("Da_Info", false);
-
-                ManaMiniGame.Pause = false;
-            }
-        );
-
-        #endregion
-
-        #region Da_GetAward
-
-        ManaReso.AddButtonEvent
-        (
-            "Da_GetAward",
-            () =>
-            {
-                ManaReso.Get("C_Main").TweenForCG();
-
-                ManaReso.Get("D_MiniGame").TweenBacCG();
-
-                ManaReso.Get("GardenMini").TweenBacVec();
-
-                ManaReso.SetActive("Da_Info", false);
-            }
-        );
-
-        #endregion
-
-        #endregion
-
-        #region N
-
-        ManaReso.Get("N_Tutorial").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
-
-        ManaReso.AddButtonEvent
-        (
-            "N_Confirm",
-            () =>
-            {
-                ManaPlayer.LateRegist();
-                Garden.LateRegist();
-
-                tween = Tutorial.Player.CreateTweenScale(ManaReso.Get("PlayerPosTra").localScale, 1f, true, true, Curve.EaseOutQuad);
-                Tutorial.Player.CreateTweenVec3D(ManaReso.Get("PlayerPosTra").position, 1f, false, true, true, Curve.EaseOutQuad);
-
-                Tutorial.Player.TweenForVec();
-                Tutorial.Player.TweenForScale();
-
-                HudTarget hudTarget = ManaReso.Get("C_MiniGame").AddComponent<HudTarget>();
-                hudTarget.PosTra = Player.ChildDic["EnterGameTra"];
-
-                tween.OnForwardFinish += () =>
-                {
-                    ManaReso.SetActive("C_Coin", false);
-                    ManaReso.SetActive("C_Setting", false);
-                    ManaReso.SetActive("C_Achieve", false);
-                    ManaReso.SetActive("C_Manage", false);
-
-                    ManaReso.Get("C_Main").TweenForCG();
-                    ManaReso.Get("C_MiniGame").TweenForCG();
-                };
-
-                ManaReso.Get("Tutorial").TweenBacSr();
-
-                ManaReso.Get("N_Tutorial").TweenBacCG();
-            }
-        );
-
-        #endregion
+        Instantiate();
     }
 }

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

@@ -51,11 +51,13 @@ public class Drop : ObjRoot,IPointerClickHandler
 
         transform.GetTweenSr().InOrigin = true;
         GetComponent<SpriteRenderer>().color = new Color(1, 1, 1, 1);
+        transform.GetComponent<BoxCollider2D>().enabled = true;
     }
 
     public void Retrieve()
     {
         transform.TweenConForSr();
+        transform.GetComponent<BoxCollider2D>().enabled = false;
     }
 
     public virtual void OnPointerClick(PointerEventData eventData)
@@ -64,5 +66,6 @@ public class Drop : ObjRoot,IPointerClickHandler
 
         transform.TweenForSr();
         transform.TweenForScale();
+        transform.GetComponent<BoxCollider2D>().enabled = false;
     }
 }

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

@@ -218,7 +218,7 @@ public class Flower : ObjRoot, IPointerClickHandler
 
     #endregion
     
-    private void Awake()
+    public void Regist()
     {
         ChildDic = new Dictionary<string, Transform>();
         
@@ -231,7 +231,7 @@ public class Flower : ObjRoot, IPointerClickHandler
         OperateBk = ChildDic["OperateBk"].GetComponent<SpriteRenderer>();
         OperateIcon = ChildDic["OperateIcon"].GetComponent<SpriteRenderer>();
         OperateOutline = ChildDic["OperateOutline"].GetComponent<SpriteRenderer>();
-
+        
         Tween tween = FlowerIcon.CreateTweenSr(new Color(1, 1, 1), new Color(1, 0.5f, 0.5f), 0.2f, false, true, true, Curve.EaseOutQuad);
 
         tween.OnForwardFinish += () =>

+ 0 - 196
Assets/Script/Object/Garden.cs

@@ -221,202 +221,6 @@ public class Garden : Regist, IDragHandler, IPointerClickHandler, IEndDragHandle
     }
 
 
-    public override void TutorialRegistValue()
-    {
-        
-    }
-
-    public override void TutorialRegistReference()
-    {
-        
-    }
-
-
-    public static void LateRegist()
-    {
-        #region RegistReference
-
-        GardenBk2 = ManaReso.Get("GardenBk2");
-        GardenBk3 = ManaReso.Get("GardenBk3");
-        GardenBk4 = ManaReso.Get("GardenBk4");
-
-        Player = ManaReso.Get("Player");
-        GardenA = ManaReso.Get("GardenA");
-
-        GardenPosBk2 = new List<Vector3>()
-        {
-            ManaReso.Get("PageTra21").position,
-            ManaReso.Get("PageTra22").position,
-        };
-
-        GardenPosBk3 = new List<Vector3>()
-        {
-            ManaReso.Get("PageTra31").position,
-            ManaReso.Get("PageTra32").position,
-        };
-
-        GardenPosBk4 = new List<Vector3>()
-        {
-            ManaReso.Get("PageTra41").position,
-            ManaReso.Get("PageTra42").position,
-        };
-
-        GardenPosA = new List<Vector3>()
-        {
-            ManaReso.Get("PageTraA").position,
-            ManaReso.Get("PageTraB").position,
-        };
-
-        PlayerPos = new List<Vector3>()
-        {
-            global::Player.ChildDic["PlayerTra1"].position,
-            global::Player.ChildDic["PlayerTra2"].position,
-        };
-
-        #endregion
-
-        #region RegistValue
-
-        Flag1 = true;
-        Flag2 = true;
-
-        Page = 0;
-        SlideSpeed = 0.1f;
-
-        RatioBk2 = 0.25f;
-        RatioBk3 = 0.5f;
-        RatioBk4 = 0.75f;
-        RatioPlayer = 0.75f;
-
-        #region Garden
-
-        #region Cloud1
-
-        Transform tra0 = ManaReso.Get("Cloud1");
-
-        Tween tween = tra0.CreateTweenVec2D(new Vector3(-12, tra0.position.y, tra0.position.z), 50f, false, false, true, Curve.Linear);
-
-        var tra1 = tra0;
-        tween.OnForwardFinish += () =>
-        {
-            tra1.TweenForVec();
-        };
-
-        tra1.TweenForVec();
-
-        #endregion
-
-        #region Cloud2
-
-        tra0 = ManaReso.Get("Cloud2");
-
-        tween = tra0.CreateTweenVec2D(new Vector3(-12, tra1.position.y, tra1.position.z), 75f, false, false, true, Curve.Linear);
-
-        Transform tra2 = tra0;
-        tween.OnForwardFinish += () =>
-        {
-            tra2.TweenForVec();
-        };
-
-        tra2.TweenForVec();
-
-        #endregion
-
-        #region Cloud3
-
-        tra0 = ManaReso.Get("Cloud3");
-
-        tween = tra0.CreateTweenVec2D(new Vector3(-12, tra1.position.y, tra1.position.z), 100, false, false, true, Curve.Linear);
-
-        tween.OnForwardFinish += () =>
-        {
-            tra0.TweenForVec();
-        };
-
-        tra0.TweenForVec();
-
-        #endregion
-
-        #region GardenA
-
-        Move2D move2D = GardenA.CreateMove2D();
-
-        move2D.OnStart += () =>
-        {
-            Flag2 = false;
-        };
-
-        move2D.OnFinish += () =>
-        {
-            Flag2 = true;
-        };
-
-        #endregion
-
-        #region GardenMini
-
-        tween = ManaReso.Get("GardenMini").CreateTweenVec2D
-        (
-            ManaReso.Get("PosTraMini").position,
-            0.5f,
-            false,
-            false,
-            true,
-            Curve.EaseOutQuad
-        );
-
-        tween.OnForwardStart += () =>
-        {
-            ManaMiniGame.GamePrepare();
-        };
-
-        tween.OnForwardFinish += () =>
-        {
-            ManaReso.SetActive("Player", false);
-            ManaReso.SetActive("Cloud1", false);
-            ManaReso.SetActive("Cloud2", false);
-            ManaReso.SetActive("Cloud3", false);
-            ManaReso.SetActive("GardenA", false);
-            ManaReso.SetActive("GardenBk1", false);
-            ManaReso.SetActive("GardenBk2", false);
-            ManaReso.SetActive("GardenBk3", false);
-            ManaReso.SetActive("GardenBk4", false);
-        };
-
-        tween.OnBackwardStart += () =>
-        {
-            ManaReso.SetActive("Player", true);
-            ManaReso.SetActive("Cloud1", true);
-            ManaReso.SetActive("Cloud2", true);
-            ManaReso.SetActive("Cloud3", true);
-            ManaReso.SetActive("GardenA", true);
-            ManaReso.SetActive("GardenBk1", true);
-            ManaReso.SetActive("GardenBk2", true);
-            ManaReso.SetActive("GardenBk3", true);
-            ManaReso.SetActive("GardenBk4", true);
-        };
-
-        tween.OnBackwardFinish += () =>
-        {
-            for (int i = 0; i < ManaMiniGame.IdleList.Count; i++)
-            {
-                ManaReso.Save(ManaMiniGame.IdleList[i]);
-            }
-
-            for (int i = 0; i < ManaMiniGame.OpList.Count; i++)
-            {
-                ManaReso.Save(ManaMiniGame.OpList[i]);
-            }
-        };
-
-        #endregion
-
-        #endregion
-
-        #endregion
-    }
-
-
     public void OnDrag(PointerEventData eventData)
     {
         if (Flag1 && Flag2)

+ 74 - 5
Assets/Script/Object/Tutorial.cs

@@ -3,6 +3,7 @@ using UnityEngine.EventSystems;
 
 using System.Collections;
 using System.Collections.Generic;
+using UnityEngine.UI;
 
 public class Tutorial : Regist, IPointerClickHandler
 {
@@ -38,11 +39,15 @@ public class Tutorial : Regist, IPointerClickHandler
     public static string _SelectPlayer;
     public static Transform _Player;
 
+    public static bool UIMask;
+    public static Material Material;
     public static Transform Arrow;
     public static Transform PlayerPink;
     public static Transform PlayerBlond;
     public static Transform PlayerBrown;
 
+    public static List<Canvas> HighLightList = new List<Canvas>();
+
     #endregion
 
     public override void TutorialInstantiate()
@@ -60,23 +65,87 @@ public class Tutorial : Regist, IPointerClickHandler
         ManaReso.Get("PlayerBk1").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad);
         ManaReso.Get("PlayerBk2").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad);
         ManaReso.Get("PlayerBk3").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad);
+        ManaReso.Get("TutorialMask").CreateTweenSr(0, 180/255f, 0.25f, false, false, true, Curve.EaseOutQuad);
+
+        ManaReso.Get("TutorialMask").AddComponent<SceneMask>().Regist();
+
+        Arrow = ManaReso.Get("N_Arrow");
+        Material = ManaReso.Get<Image>("N_Mask").material;
+    }
+
+
+    public static void HightScene(float radiusX, float radiusY, Transform posTra, Transform targetTra)
+    {
+        SceneMask.SetArea(targetTra, radiusX, radiusY);
+
+        PointScene(Camera.main.WorldToScreenPoint(posTra.position), targetTra);
+    }
+
+    public static void HightScene(float radiusX, float radiusY, Transform posTra, Transform targetPos, Transform targetTra)
+    {
+        SceneMask.SetArea(targetTra, radiusX, radiusY);
+
+        PointScene(Camera.main.WorldToScreenPoint(posTra.position), targetPos);
+    }
+
+    public static void HightScreen(Transform posTra, Transform targetTra)
+    {
+        targetTra.GetComponent<Canvas>().overrideSorting = true;
+        
+        PointScreen(posTra.position, targetTra);
+
+        HighLightList.Add(targetTra.GetComponent<Canvas>());
+    }
+
+    public static void HightScreen(Transform posTra, Transform targetPos, Transform targetTra)
+    {
+        targetTra.GetComponent<Canvas>().overrideSorting = true;
+        
+        PointScreen(posTra.position, targetPos);
+
+        HighLightList.Add(targetTra.GetComponent<Canvas>());
+    }
+
+    public static void HightDisable()
+    {
+        Arrow.SetActive(false);
+
+        SceneMask.ClearArea();
 
-        Arrow = ManaReso.Get("TutorialArrow");
+        for (int i = 0; i < HighLightList.Count; i++)
+        {
+            HighLightList[i].overrideSorting = false;
+        }
+
+        HighLightList = new List<Canvas>();
+
+        UIMask = false;
+        ManaReso.Get("N_Mask").TweenConBacGra();
     }
 
 
-    public void PointScene(Transform tra)
+    private static void PointScene(Vector3 pos, Transform tra)
     {
-        Vector3 pos = Camera.main.WorldToScreenPoint(tra.position);
+        Vector3 pointPos = Camera.main.WorldToScreenPoint(tra.position);
 
-        Arrow.right = pos - Arrow.position;
+        Arrow.position = pos;
+        Arrow.right = pointPos - Arrow.position;
+
+        Arrow.TweenForCG();
     }
 
-    public void PointScreen(Transform tra)
+    private static void PointScreen(Vector3 pos, Transform tra)
     {
+        Arrow.position = pos;
         Arrow.right = tra.position - Arrow.position;
+
+        Arrow.TweenForCG();
+
+        UIMask = true;
+        ManaReso.Get("N_Mask").TweenConForGra();
     }
 
+
     public void OnPointerClick(PointerEventData eventData)
     {
         if (eventData.rawPointerPress.name == "PlayerBk1")

+ 8 - 2
Assets/Script/Tool/Anim/Tween.cs

@@ -59,7 +59,10 @@ public abstract class Tween
     {
         InForward = true;
 
-        OnForwardStart.Invoke();
+        if (OnForwardStart != null)
+        {
+            OnForwardStart.Invoke();
+        }
 
         ManaAnim.TweenForList.Add(this);
         ManaAnim.TweenBacList.Remove(this);
@@ -69,7 +72,10 @@ public abstract class Tween
     {
         InBackward = true;
 
-        OnBackwardStart.Invoke();
+        if (OnBackwardStart != null)
+        {
+            OnBackwardStart.Invoke();
+        }
 
         ManaAnim.TweenForList.Remove(this);
         ManaAnim.TweenBacList.Add(this);

+ 8 - 23
Assets/Script/Tool/Anim/TweenAudio.cs

@@ -22,7 +22,6 @@ public class TweenAudio : Tween
 
             return _InOrigin;
         }
-
         set
         {
             _InOrigin = value;
@@ -80,26 +79,6 @@ public class TweenAudio : Tween
         Origin = origin;
         Duration = duration;
         Destination = destination;
-
-        OnForwardStart += () =>
-        {
-            
-        };
-
-        OnForwardFinish += () =>
-        {
-            
-        };
-
-        OnBackwardStart += () =>
-        {
-            
-        };
-
-        OnBackwardFinish += () =>
-        {
-            
-        };
     }
 
 
@@ -142,7 +121,10 @@ public class TweenAudio : Tween
             InForward = false;
             InDestination = true;
 
-            OnForwardFinish.Invoke();
+            if (OnForwardFinish != null)
+            {
+                OnForwardFinish.Invoke();
+            }
 
             ManaAnim.TweenForList.Remove(this);
 
@@ -167,7 +149,10 @@ public class TweenAudio : Tween
             InBackward = false;
             InOrigin = true;
 
-            OnBackwardFinish.Invoke();
+            if (OnBackwardFinish != null)
+            {
+                OnBackwardFinish.Invoke();
+            }
 
             ManaAnim.TweenBacList.Remove(this);
 

+ 12 - 32
Assets/Script/Tool/Anim/TweenCG.cs

@@ -22,7 +22,6 @@ public class TweenCG : Tween
 
             return _InOrigin;
         }
-
         set
         {
             _InOrigin = value;
@@ -30,9 +29,9 @@ public class TweenCG : Tween
             if (_InOrigin)
             {
                 Target.alpha = Origin;
+                Target.SetActive(OriginActive);
+                Target.interactable = OriginActive;
             }
-
-            
         }
     }
 
@@ -58,8 +57,9 @@ public class TweenCG : Tween
             if (_InDestination)
             {
                 Target.alpha = Destination;
+                Target.SetActive(DestActive);
+                Target.interactable = DestActive;
             }
-            
         }
     }
 
@@ -85,26 +85,6 @@ public class TweenCG : Tween
         DestActive = destActive;
         Destination = destination;
         OriginActive = originActive;
-
-        OnForwardStart += () =>
-        {
-            
-        };
-
-        OnForwardFinish += () =>
-        {
-            
-        };
-
-        OnBackwardStart += () =>
-        {
-            
-        };
-
-        OnBackwardFinish += () =>
-        {
-            
-        };
     }
 
     public override void StartForward()
@@ -152,10 +132,10 @@ public class TweenCG : Tween
             InForward = false;
             InDestination = true;
 
-            Target.SetActive(DestActive);
-            Target.interactable = DestActive;
-
-            OnForwardFinish.Invoke();
+            if (OnForwardFinish != null)
+            {
+                OnForwardFinish.Invoke();
+            }
 
             ManaAnim.TweenForList.Remove(this);
 
@@ -180,10 +160,10 @@ public class TweenCG : Tween
             InBackward = false;
             InOrigin = true;
 
-            Target.SetActive(OriginActive);
-            Target.interactable = OriginActive;
-
-            OnBackwardFinish.Invoke();
+            if (OnBackwardFinish != null)
+            {
+                OnBackwardFinish.Invoke();
+            }
 
             ManaAnim.TweenBacList.Remove(this);
 

+ 14 - 26
Assets/Script/Tool/Anim/TweenGra.cs

@@ -23,7 +23,6 @@ public class TweenGra : Tween
 
             return _InOrigin;
         }
-
         set
         {
             _InOrigin = value;
@@ -31,9 +30,8 @@ public class TweenGra : Tween
             if (_InOrigin)
             {
                 Target.color = Origin;
+                Target.SetActive(OriginActive);
             }
-
-            
         }
     }
 
@@ -59,8 +57,8 @@ public class TweenGra : Tween
             if (_InDestination)
             {
                 Target.color = Destination;
+                Target.SetActive(DestActive);
             }
-            
         }
     }
 
@@ -86,32 +84,14 @@ public class TweenGra : Tween
         DestActive = destActive;
         Destination = destination;
         OriginActive = originActive;
-
-        OnForwardStart += () =>
-        {
-            Target.SetActive(true);
-        };
-
-        OnForwardFinish += () =>
-        {
-            Target.SetActive(DestActive);
-        };
-
-        OnBackwardStart += () =>
-        {
-            Target.SetActive(true);
-        };
-
-        OnBackwardFinish += () =>
-        {
-            Target.SetActive(OriginActive);
-        };
     }
 
     public override void StartForward()
     {
         base.StartForward();
 
+        Target.SetActive(true);
+
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -126,6 +106,8 @@ public class TweenGra : Tween
     {
         base.StartBackward();
 
+        Target.SetActive(true);
+
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -147,7 +129,10 @@ public class TweenGra : Tween
             InForward = false;
             InDestination = true;
 
-            OnForwardFinish.Invoke();
+            if (OnForwardFinish != null)
+            {
+                OnForwardFinish.Invoke();
+            }
 
             ManaAnim.TweenForList.Remove(this);
 
@@ -172,7 +157,10 @@ public class TweenGra : Tween
             InBackward = false;
             InOrigin = true;
 
-            OnBackwardFinish.Invoke();
+            if (OnBackwardFinish != null)
+            {
+                OnBackwardFinish.Invoke();
+            }
 
             ManaAnim.TweenBacList.Remove(this);
 

+ 13 - 27
Assets/Script/Tool/Anim/TweenNumber.cs

@@ -24,7 +24,6 @@ public class TweenNumber : Tween
 
             return _InOrigin;
         }
-
         set
         {
             _InOrigin = value;
@@ -32,8 +31,8 @@ public class TweenNumber : Tween
             if (_InOrigin)
             {
                 Target.text = Origin.ToString();
+                Target.SetActive(OriginActive);
             }
-
         }
     }
 
@@ -59,8 +58,9 @@ public class TweenNumber : Tween
             if (_InDestination)
             {
                 Target.text = Destination.ToString();
-            }
 
+                Target.SetActive(DestActive);
+            }
         }
     }
 
@@ -96,32 +96,12 @@ public class TweenNumber : Tween
         DestActive = destActive;
         Destination = destination;
         OriginActive = originActive;
-
-        OnForwardStart += () =>
-        {
-            Target.SetActive(true);
-        };
-
-        OnForwardFinish += () =>
-        {
-            Target.SetActive(DestActive);
-        };
-
-        OnBackwardStart += () =>
-        {
-            Target.SetActive(true);
-        };
-
-        OnBackwardFinish += () =>
-        {
-            Target.SetActive(OriginActive);
-        };
     }
 
     public override void StartForward()
     {
         base.StartForward();
-
+        Target.SetActive(true);
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -135,7 +115,7 @@ public class TweenNumber : Tween
     public override void StartBackward()
     {
         base.StartBackward();
-
+        Target.SetActive(true);
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -157,7 +137,10 @@ public class TweenNumber : Tween
             InForward = false;
             InDestination = true;
 
-            OnForwardFinish.Invoke();
+            if (OnForwardFinish != null)
+            {
+                OnForwardFinish.Invoke();
+            }
 
             ManaAnim.TweenForList.Remove(this);
 
@@ -182,7 +165,10 @@ public class TweenNumber : Tween
             InBackward = false;
             InOrigin = true;
 
-            OnBackwardFinish.Invoke();
+            if (OnBackwardFinish != null)
+            {
+                OnBackwardFinish.Invoke();
+            }
 
             ManaAnim.TweenBacList.Remove(this);
 

+ 32 - 45
Assets/Script/Tool/Anim/TweenRect.cs

@@ -21,7 +21,6 @@ public class TweenRect : Tween
 
             return _InOrigin;
         }
-
         set
         {
             _InOrigin = value;
@@ -29,8 +28,14 @@ public class TweenRect : Tween
             if (_InOrigin)
             {
                 Target.sizeDelta = Origin;
+
+                Target.SetActive(OriginActive);
+
+                if (CG != null)
+                {
+                    CG.interactable = OriginActive;
+                }
             }
-            
         }
     }
 
@@ -56,8 +61,14 @@ public class TweenRect : Tween
             if (_InDestination)
             {
                 Target.sizeDelta = Destination;
+
+                Target.SetActive(DestActive);
+
+                if (CG != null)
+                {
+                    CG.interactable = DestActive;
+                }
             }
-            
         }
     }
 
@@ -85,52 +96,17 @@ public class TweenRect : Tween
         DestActive = destActive;
         Destination = destination;
         OriginActive = originActive;
-
-        OnForwardStart += () =>
-        {
-            Target.SetActive(true);
-
-            if (CG != null)
-            {
-                CG.interactable = false;
-            }
-        };
-
-        OnForwardFinish += () =>
-        {
-            Target.SetActive(DestActive);
-
-            if (CG != null)
-            {
-                CG.interactable = DestActive;
-            }
-        };
-
-        OnBackwardStart += () =>
-        {
-            Target.SetActive(true);
-
-            if (CG != null)
-            {
-                CG.interactable = false;
-            }
-        };
-
-        OnBackwardFinish += () =>
-        {
-            Target.SetActive(OriginActive);
-
-            if (CG != null)
-            {
-                CG.interactable = OriginActive;
-            }
-        };
     }
 
     public override void StartForward()
     {
         base.StartForward();
+        Target.SetActive(true);
 
+        if (CG != null)
+        {
+            CG.interactable = false;
+        }
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -144,7 +120,12 @@ public class TweenRect : Tween
     public override void StartBackward()
     {
         base.StartBackward();
+        Target.SetActive(true);
 
+        if (CG != null)
+        {
+            CG.interactable = false;
+        }
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -166,7 +147,10 @@ public class TweenRect : Tween
             InForward = false;
             InDestination = true;
 
-            OnForwardFinish.Invoke();
+            if (OnForwardFinish != null)
+            {
+                OnForwardFinish.Invoke();
+            }
 
             ManaAnim.TweenForList.Remove(this);
 
@@ -191,7 +175,10 @@ public class TweenRect : Tween
             InBackward = false;
             InOrigin = true;
 
-            OnBackwardFinish.Invoke();
+            if (OnBackwardFinish != null)
+            {
+                OnBackwardFinish.Invoke();
+            }
 
             ManaAnim.TweenBacList.Remove(this);
 

+ 42 - 45
Assets/Script/Tool/Anim/TweenScale.cs

@@ -22,7 +22,6 @@ public class TweenScale : Tween
 
             return _InOrigin;
         }
-
         set
         {
             _InOrigin = value;
@@ -30,8 +29,14 @@ public class TweenScale : Tween
             if (_InOrigin)
             {
                 Target.localScale = Origin;
+
+                Target.SetActive(OriginActive);
+
+                if (CG != null)
+                {
+                    CG.interactable = OriginActive;
+                }
             }
-            
         }
     }
 
@@ -57,8 +62,14 @@ public class TweenScale : Tween
             if (_InDestination)
             {
                 Target.localScale = Destination;
+
+                Target.SetActive(DestActive);
+
+                if (CG != null)
+                {
+                    CG.interactable = DestActive;
+                }
             }
-            
         }
     }
 
@@ -86,53 +97,18 @@ public class TweenScale : Tween
         DestActive = destActive;
         Destination = destination;
         OriginActive = originActive;
-
-        OnForwardStart += () =>
-        {
-            Target.SetActive(true);
-
-            if (CG != null)
-            {
-                CG.interactable = false;
-            }
-        };
-
-        OnForwardFinish += () =>
-        {
-            Target.SetActive(DestActive);
-
-            if (CG != null)
-            {
-                CG.interactable = DestActive;
-            }
-        };
-
-        OnBackwardStart += () =>
-        {
-            Target.SetActive(true);
-
-            if (CG != null)
-            {
-                CG.interactable = false;
-            }
-        };
-
-        OnBackwardFinish += () =>
-        {
-            Target.SetActive(OriginActive);
-
-            if (CG != null)
-            {
-                CG.interactable = OriginActive;
-            }
-        };
     }
 
 
     public override void StartForward()
     {
         base.StartForward();
+        Target.SetActive(true);
 
+        if (CG != null)
+        {
+            CG.interactable = false;
+        }
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -146,7 +122,12 @@ public class TweenScale : Tween
     public override void StartBackward()
     {
         base.StartBackward();
+        Target.SetActive(true);
 
+        if (CG != null)
+        {
+            CG.interactable = false;
+        }
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -168,7 +149,15 @@ public class TweenScale : Tween
             InForward = false;
             InDestination = true;
 
-            OnForwardFinish.Invoke();
+            if (CG != null)
+            {
+                CG.interactable = DestActive;
+            }
+
+            if (OnForwardFinish != null)
+            {
+                OnForwardFinish.Invoke();
+            }
 
             ManaAnim.TweenForList.Remove(this);
 
@@ -193,7 +182,15 @@ public class TweenScale : Tween
             InBackward = false;
             InOrigin = true;
 
-            OnBackwardFinish.Invoke();
+            if (CG != null)
+            {
+                CG.interactable = OriginActive;
+            }
+
+            if (OnBackwardFinish != null)
+            {
+                OnBackwardFinish.Invoke();
+            }
 
             ManaAnim.TweenBacList.Remove(this);
 

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

@@ -36,6 +36,8 @@ public class TweenSr : Tween
                         Targets[i].SetAlpha(Target.color.a * Targets[i].color.a);
                     }
                 }
+
+                Target.SetActive(OriginActive);
             }
         }
     }
@@ -70,6 +72,8 @@ public class TweenSr : Tween
                         Targets[i].SetAlpha(Target.color.a * Targets[i].color.a);
                     }
                 }
+
+                Target.SetActive(DestActive);
             }
         }
     }
@@ -99,32 +103,12 @@ public class TweenSr : Tween
         DestActive = destActive;
         Destination = destination;
         OriginActive = originActive;
-
-        OnForwardStart += () =>
-        {
-            Target.SetActive(true);
-        };
-
-        OnForwardFinish += () =>
-        {
-            Target.SetActive(DestActive);
-        };
-
-        OnBackwardStart += () =>
-        {
-            Target.SetActive(true);
-        };
-
-        OnBackwardFinish += () =>
-        {
-            Target.SetActive(OriginActive);
-        };
     }
 
     public override void StartForward()
     {
         base.StartForward();
-
+        Target.SetActive(true);
         if (Group)
         {
             Targets = Target.GetComponentsInChildren<SpriteRenderer>();
@@ -143,7 +127,7 @@ public class TweenSr : Tween
     public override void StartBackward()
     {
         base.StartBackward();
-
+        Target.SetActive(true);
         if (Group)
         {
             Targets = Target.GetComponentsInChildren<SpriteRenderer>();
@@ -171,7 +155,10 @@ public class TweenSr : Tween
             InForward = false;
             InDestination = true;
 
-            OnForwardFinish.Invoke();
+            if (OnForwardFinish != null)
+            {
+                OnForwardFinish.Invoke();
+            }
 
             ManaAnim.TweenForList.Remove(this);
 
@@ -204,7 +191,10 @@ public class TweenSr : Tween
             InBackward = false;
             InOrigin = true;
 
-            OnBackwardFinish.Invoke();
+            if (OnBackwardFinish != null)
+            {
+                OnBackwardFinish.Invoke();
+            }
 
             ManaAnim.TweenBacList.Remove(this);
 

+ 12 - 27
Assets/Script/Tool/Anim/TweenText.cs

@@ -23,7 +23,6 @@ public class TweenText : Tween
 
             return _InOrigin;
         }
-
         set
         {
             _InOrigin = value;
@@ -31,8 +30,8 @@ public class TweenText : Tween
             if (_InOrigin)
             {
                 Target.fontSize = (int)Origin;
+                Target.SetActive(OriginActive);
             }
-            
         }
     }
 
@@ -58,8 +57,8 @@ public class TweenText : Tween
             if (_InDestination)
             {
                 Target.fontSize = (int)Destination;
+                Target.SetActive(DestActive);
             }
-            
         }
     }
 
@@ -86,32 +85,12 @@ public class TweenText : Tween
         DestActive = destActive;
         Destination = destination;
         OriginActive = originActive;
-
-        OnForwardStart += () =>
-        {
-            Target.SetActive(true);
-        };
-
-        OnForwardFinish += () =>
-        {
-            Target.SetActive(DestActive);
-        };
-
-        OnBackwardStart += () =>
-        {
-            Target.SetActive(true);
-        };
-
-        OnBackwardFinish += () =>
-        {
-            Target.SetActive(OriginActive);
-        };
     }
 
     public override void StartForward()
     {
         base.StartForward();
-
+        Target.SetActive(true);
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -125,7 +104,7 @@ public class TweenText : Tween
     public override void StartBackward()
     {
         base.StartBackward();
-
+        Target.SetActive(true);
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -147,7 +126,10 @@ public class TweenText : Tween
             InForward = false;
             InDestination = true;
 
-            OnForwardFinish.Invoke();
+            if (OnForwardFinish != null)
+            {
+                OnForwardFinish.Invoke();
+            }
 
             ManaAnim.TweenForList.Remove(this);
 
@@ -172,7 +154,10 @@ public class TweenText : Tween
             InBackward = false;
             InOrigin = true;
 
-            OnBackwardFinish.Invoke();
+            if (OnBackwardFinish != null)
+            {
+                OnBackwardFinish.Invoke();
+            }
 
             ManaAnim.TweenBacList.Remove(this);
 

+ 38 - 50
Assets/Script/Tool/Anim/TweenVec.cs

@@ -40,21 +40,24 @@ public class TweenVec : Tween
         {
             _InOrigin = value;
 
-            if (Local)
+            if (_InOrigin)
             {
-                if (_InOrigin)
+                if (Local)
                 {
                     Target.localPosition = Origin;
                 }
-            }
-            else
-            {
-                if (_InOrigin)
+                else
                 {
                     Target.position = Origin;
                 }
+
+                Target.SetActive(OriginActive);
+
+                if (CG != null)
+                {
+                    CG.interactable = OriginActive;
+                }
             }
-            
         }
     }
 
@@ -102,8 +105,13 @@ public class TweenVec : Tween
                     Target.position = Destination;
                 }
 
+                Target.SetActive(DestActive);
+
+                if (CG != null)
+                {
+                    CG.interactable = DestActive;
+                }
             }
-            
         }
     }
 
@@ -133,46 +141,6 @@ public class TweenVec : Tween
         DestActive = destActive;
         Destination = destination;
         OriginActive = originActive;
-
-        OnForwardStart += () =>
-        {
-            Target.SetActive(true);
-
-            if (CG != null)
-            {
-                CG.interactable = false;
-            }
-        };
-
-        OnForwardFinish += () =>
-        {
-            Target.SetActive(DestActive);
-
-            if (CG != null)
-            {
-                CG.interactable = DestActive;
-            }
-        };
-
-        OnBackwardStart += () =>
-        {
-            Target.SetActive(true);
-
-            if (CG != null)
-            {
-                CG.interactable = false;
-            }
-        };
-
-        OnBackwardFinish += () =>
-        {
-            Target.SetActive(OriginActive);
-
-            if (CG != null)
-            {
-                CG.interactable = OriginActive;
-            }
-        };
     }
 
 
@@ -180,6 +148,13 @@ public class TweenVec : Tween
     {
         base.StartForward();
 
+        Target.SetActive(true);
+
+        if (CG != null)
+        {
+            CG.interactable = false;
+        }
+
         if (InBackward)
         {
             Timer = Duration - Timer;
@@ -201,6 +176,13 @@ public class TweenVec : Tween
     {
         base.StartBackward();
 
+        Target.SetActive(true);
+
+        if (CG != null)
+        {
+            CG.interactable = false;
+        }
+
         if (InForward)
         {
             Timer = Duration - Timer;
@@ -230,7 +212,10 @@ public class TweenVec : Tween
             InForward = false;
             InDestination = true;
 
-            OnForwardFinish.Invoke();
+            if (OnForwardFinish != null)
+            {
+                OnForwardFinish.Invoke();
+            }
 
             ManaAnim.TweenForList.Remove(this);
 
@@ -262,7 +247,10 @@ public class TweenVec : Tween
             InBackward = false;
             InOrigin = true;
 
-            OnBackwardFinish.Invoke();
+            if (OnBackwardFinish != null)
+            {
+                OnBackwardFinish.Invoke();
+            }
 
             ManaAnim.TweenBacList.Remove(this);
 

+ 1 - 1
Assets/Script/Tool/Auxiliary.cs

@@ -10,8 +10,8 @@ using System.Linq;
 using System.Text;
 using System.Collections;
 using System.Collections.Generic;
-using System.Runtime.Serialization.Formatters.Binary;
 using System.Security.Cryptography;
+using System.Runtime.Serialization.Formatters.Binary;
 
 public class Auxiliary : MonoBehaviour 
 {

+ 40 - 21
Assets/Script/Tool/SceneMask.cs

@@ -7,33 +7,52 @@ public class SceneMask : MonoBehaviour
 {
     #region 变量
 
-    public Material Material
-    {
-        get
-        {
-            if (_Material == null)
-            {
-                _Material = GetComponent<SpriteRenderer>().material;
-            }
+    public static Material Material;
 
-            return _Material;
-        }
-        set { _Material = value; }
+    #endregion
+
+    public void Regist()
+    {
+        Material = GetComponent<SpriteRenderer>().material;
     }
 
-    public Material _Material;
+    public static void SetArea(Transform tra, float radiusX, float radiusY)
+    {
+        Vector3 screenPos = Camera.main.WorldToScreenPoint(tra.position);
 
-    #endregion
+        screenPos = new Vector3(screenPos.x / Screen.width, screenPos.y / Screen.height, 0);
 
+        if (Tutorial.UIMask)
+        {
+            Tutorial.Material.SetFloat("_RadiusX", radiusX);
+            Tutorial.Material.SetFloat("_RadiusY", radiusY);
+            Tutorial.Material.SetVector("_Center", screenPos);
+        }
+        else
+        {
+            Material.SetFloat("_RadiusX", radiusX);
+            Material.SetFloat("_RadiusY", radiusY);
+            Material.SetVector("_Center", screenPos);
 
-    public void SetArea(Transform tra, float radiusX, float radiusY)
+            ManaReso.Get("TutorialMask").TweenConForSr();
+        }
+    }
+
+    public static void ClearArea()
     {
-        Vector3 screenPos = Camera.main.WorldToScreenPoint(tra.position);
-        
-        screenPos = new Vector3(screenPos.x, Screen.height - screenPos.y, 0);
-        
-        Material.SetFloat("_RadiusX", radiusX*Screen.width/2);
-        Material.SetFloat("_RadiusY", radiusY*Screen.width/2);
-        Material.SetVector("_Center", screenPos);
+        if (Tutorial.UIMask)
+        {
+            Tutorial.Material.SetFloat("_RadiusX", 0);
+            Tutorial.Material.SetFloat("_RadiusY", 0);
+            Tutorial.Material.SetVector("_Center", new Vector2(0, 0));
+        }
+        else
+        {
+            Material.SetFloat("_RadiusX", 0);
+            Material.SetFloat("_RadiusY", 0);
+            Material.SetVector("_Center", new Vector2(0, 0));
+
+            ManaReso.Get("TutorialMask").TweenBacSr();
+        }
     }
 }

+ 2 - 0
MyLovelyGarden.Editor.csproj

@@ -166,6 +166,8 @@
     <None Include="Assets\Resource\Shader\Discard.shader" />
     <None Include="Assets\Resource\Shader\Gray.shader" />
     <None Include="Assets\Resource\Shader\HighLight.shader" />
+    <None Include="Assets\Resource\Shader\Mask.shader" />
+    <None Include="Assets\Resource\Shader\UIMask.shader" />
     <None Include="Assets\Resource\XML\Config\ability_config.xml" />
     <None Include="Assets\Resource\XML\Config\achieve_config.xml" />
     <None Include="Assets\Resource\XML\Config\award_config.xml" />

+ 4 - 0
MyLovelyGarden.csproj

@@ -138,6 +138,7 @@
     <Compile Include="Assets\Script\Tool\Anim\TweenAudio.cs" />
     <Compile Include="Assets\Script\Tool\Anim\TweenCG.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" />
@@ -156,6 +157,7 @@
     <Compile Include="Assets\Script\Tool\DashGame\URLRequestData.cs" />
     <Compile Include="Assets\Script\Tool\Data.cs" />
     <Compile Include="Assets\Script\Tool\Extension.cs" />
+    <Compile Include="Assets\Script\Tool\SceneMask.cs" />
     <Compile Include="Assets\Script\Tool\UI\FlowerCard.cs" />
     <Compile Include="Assets\Script\Tool\UI\HudTarget.cs" />
     <Compile Include="Assets\Script\Tool\UI\HudText.cs" />
@@ -176,6 +178,8 @@
     <None Include="Assets\Resource\Shader\Discard.shader" />
     <None Include="Assets\Resource\Shader\Gray.shader" />
     <None Include="Assets\Resource\Shader\HighLight.shader" />
+    <None Include="Assets\Resource\Shader\Mask.shader" />
+    <None Include="Assets\Resource\Shader\UIMask.shader" />
     <None Include="Assets\Resource\XML\Config\ability_config.xml" />
     <None Include="Assets\Resource\XML\Config\achieve_config.xml" />
     <None Include="Assets\Resource\XML\Config\award_config.xml" />

+ 13 - 16
MyLovelyGarden.sln

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

+ 4 - 2
ToList.txt

@@ -1,11 +1,13 @@
+小游戏的时间(45)
+
 ManaData ManaSkill ManaGarden 种花使用Dic
 
-动画(把On事件清空)
+动画(是否影响CanvasGroup)
 
 
 切换后台
 
-注册机制
+注册机制(Regist中添加RegistImmed函数,在AddScript中调用)
 
 分段加载场景