Browse Source

Temp 4.20

LiuQilin 8 years ago
parent
commit
a2f46c3a15
34 changed files with 1131 additions and 1170 deletions
  1. BIN
      .vs/MyLovelyGarden/v14/.suo
  2. BIN
      Assets/Resource/Prefab/PrefabUI/Canvas.prefab
  3. BIN
      Assets/Resource/Prefab/PrefabUI/HudText.prefab
  4. 88 9
      Assets/Resource/Shader/Mask.shader
  5. 82 1
      Assets/Resource/Shader/UIMask.shader
  6. BIN
      Assets/Resource/Sprite/SpriteUI/九宫格对话框.png
  7. 100 0
      Assets/Resource/Sprite/SpriteUI/九宫格对话框.png.meta
  8. 2 2
      Assets/Resource/Sprite/SpriteUI/技能地白底板.png.meta
  9. 1 1
      Assets/Resource/XML/PlayerConfig.xml
  10. 6 1
      Assets/Resource/XML/lan/ChineseSimplified.xml
  11. 5 0
      Assets/Resource/XML/lan/ChineseTraditional.xml
  12. 5 0
      Assets/Resource/XML/lan/English.xml
  13. BIN
      Assets/Resource/Xlsx/language_config.xlsx
  14. 1 1
      Assets/Script/Manage/Initializer.cs
  15. 15 42
      Assets/Script/Manage/ManaData.cs
  16. 61 4
      Assets/Script/Manage/ManaServer.cs
  17. 66 4
      Assets/Script/Manage/ManaTutorial.cs
  18. 14 3
      Assets/Script/Manage/ManaUI.cs
  19. 1 23
      Assets/Script/Object/Flower.cs
  20. 210 392
      Assets/Script/Object/Skill/Ability.cs
  21. 85 257
      Assets/Script/Object/Skill/BigSkill.cs
  22. 21 20
      Assets/Script/Object/Skill/Pack.cs
  23. 211 359
      Assets/Script/Object/Skill/Skill.cs
  24. 57 19
      Assets/Script/Object/Skill/SkillRoot.cs
  25. 1 1
      Assets/Script/Tool/Anim/TweenRect.cs
  26. 1 1
      Assets/Script/Tool/Anim/TweenScale.cs
  27. 1 1
      Assets/Script/Tool/Anim/TweenVec.cs
  28. 11 0
      Assets/Script/Tool/Auxiliary.cs
  29. 8 8
      Assets/Script/Tool/Data.cs
  30. 52 0
      Assets/Script/Tool/UI/Toast.cs
  31. 12 0
      Assets/Script/Tool/UI/Toast.cs.meta
  32. 1 0
      MyLovelyGarden.csproj
  33. 13 16
      MyLovelyGarden.sln
  34. 0 5
      ToList.txt

BIN
.vs/MyLovelyGarden/v14/.suo


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


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


+ 88 - 9
Assets/Resource/Shader/Mask.shader

@@ -31,8 +31,6 @@
 #pragma vertex vert
 #pragma fragment frag
 
-#pragma target 2.0
-
 #pragma multi_compile _ PIXELSNAP_ON
 #pragma multi_compile _ ETC1_EXTERNAL_ALPHA
 
@@ -53,6 +51,7 @@
 		float2 texcoord  : TEXCOORD0;
 	};
 
+	float _Angle;
 	float _RadiusX;
 	float _RadiusY;
 	float2 _Center;
@@ -79,19 +78,99 @@
 		return color;
 	}
 
-	fixed4 frag(v2f IN) : SV_Target
+	fixed4 frag(v2f i) : SV_Target
+	{
+		fixed4 col = SampleSpriteTexture(i.texcoord) * i.color;
+
+	//_Center = float2(0.5,0.5);
+	_Angle = _RadiusY / 4;
+	//_RadiusX = 0.2;
+	//_RadiusY = 0.2;
+
+	float x = i.screenPos.x - _Center.x;
+	float y = i.screenPos.y - _Center.y;
+
+	if (abs(x) < _RadiusX && abs(y) < _RadiusY)
 	{
-		fixed4 c = SampleSpriteTexture(IN.texcoord) * IN.color;
+		float2 ulo = _Center + float2(-_RadiusX, _RadiusY);
+		float2 uli = ulo + float2(_Angle, -_Angle / (_ScreenParams.y / _ScreenParams.x));
+
+		float2 uro = _Center + float2(_RadiusX, _RadiusY);
+		float2 uri = uro + float2(-_Angle, -_Angle / (_ScreenParams.y / _ScreenParams.x));
+
+		float2 lro = _Center + float2(_RadiusX, -_RadiusY);
+		float2 lri = lro + float2(-_Angle, _Angle / (_ScreenParams.y / _ScreenParams.x));
+
+		float2 llo = _Center + float2(-_RadiusX, -_RadiusY);
+		float2 lli = llo + float2(_Angle, _Angle / (_ScreenParams.y / _ScreenParams.x));
+
+		float urox = uro.x - i.screenPos.x;
+		float urix = i.screenPos.x - uri.x;
+		float uroy = uro.y - i.screenPos.y;
+		float uriy = i.screenPos.y - uri.y;
+
+		float ulox = i.screenPos.x - ulo.x;
+		float ulix = uli.x - i.screenPos.x;
+		float uloy = ulo.y - i.screenPos.y;
+		float uliy = i.screenPos.y - uli.y;
+
+		float lrox = lro.x - i.screenPos.x;
+		float lrix = i.screenPos.x - lri.x;
+		float lroy = i.screenPos.y - lro.y;
+		float lriy = lri.y - i.screenPos.y;
+
+		float llox = i.screenPos.x - llo.x;
+		float llix = lli.x - i.screenPos.x;
+		float lloy = i.screenPos.y - llo.y;
+		float lliy = lli.y - i.screenPos.y;
 
-		float x = IN.screenPos.x - _Center.x;
-		float y = IN.screenPos.y - _Center.y;
+		if (ulox > 0 && ulix  > 0 && uloy > 0 && uliy > 0)
+		{
+			float2 vec = uli - i.screenPos;
+			vec.y *= _ScreenParams.y / _ScreenParams.x;
+
+			if (length(vec) < _Angle)
+			{
+				col.a = 0;
+			}
+		}
+		else if (urox > 0 && urix  > 0 && uroy > 0 && uriy > 0)
+		{
+			float2 vec = uri - i.screenPos;
+			vec.y *= _ScreenParams.y / _ScreenParams.x;
+
+			if (length(vec) < _Angle)
+			{
+				col.a = 0;
+			}
+		}
+		else if (lrox > 0 && lrix > 0 && lroy > 0 && lriy > 0)
+		{
+			float2 vec = lri - i.screenPos;
+			vec.y *= _ScreenParams.y / _ScreenParams.x;
+
+			if (length(vec) < _Angle)
+			{
+				col.a = 0;
+			}
+		}
+		else if (llox > 0 && llix  > 0 && lloy > 0 && lliy > 0)
+		{
+			float2 vec = lli - i.screenPos;
+			vec.y *= _ScreenParams.y / _ScreenParams.x;
 
-		if (abs(x) < _RadiusX && abs(y) < _RadiusY)
+			if (length(vec) < _Angle)
+			{
+				col.a = 0;
+			}
+		}
+		else
 		{
-			c.a = 0;
+			col.a = 0;
 		}
+	}
 
-		return c;
+	return col;
 	}
 		ENDCG
 	}

+ 82 - 1
Assets/Resource/Shader/UIMask.shader

@@ -49,6 +49,7 @@
 
 	sampler2D _MainTex;
 	float4 _MainTex_ST;
+	float _Angle;
 	float _RadiusX;
 	float _RadiusY;
 	float2 _Center;
@@ -67,6 +68,11 @@
 
 	fixed4 frag(v2f i) : SV_Target
 	{
+	//_Center = float2(0.5,0.5);
+	_Angle = _RadiusY/4;
+	//_RadiusX = 0.2;
+	//_RadiusY = 0.2;
+
 		fixed4 col = tex2D(_MainTex, i.uv)*i.color;
 
 		float x = i.screenPos.x - _Center.x;
@@ -74,7 +80,82 @@
 
 		if (abs(x) < _RadiusX && abs(y) < _RadiusY)
 		{
-			col.a = 0;
+			float2 ulo = _Center + float2(-_RadiusX, _RadiusY);
+			float2 uli = ulo + float2(_Angle, -_Angle/(_ScreenParams.y/_ScreenParams.x));
+
+			float2 uro = _Center + float2(_RadiusX, _RadiusY);
+			float2 uri = uro + float2(-_Angle, -_Angle / (_ScreenParams.y / _ScreenParams.x));
+
+			float2 lro = _Center + float2(_RadiusX, -_RadiusY);
+			float2 lri = lro + float2(-_Angle, _Angle / (_ScreenParams.y / _ScreenParams.x));
+
+			float2 llo = _Center + float2(-_RadiusX, -_RadiusY);
+			float2 lli = llo + float2(_Angle, _Angle / (_ScreenParams.y / _ScreenParams.x));
+
+			float urox = uro.x - i.screenPos.x;
+			float urix = i.screenPos.x - uri.x;
+			float uroy = uro.y - i.screenPos.y;
+			float uriy = i.screenPos.y - uri.y;
+
+			float ulox = i.screenPos.x - ulo.x;
+			float ulix = uli.x - i.screenPos.x;
+			float uloy = ulo.y - i.screenPos.y;
+			float uliy = i.screenPos.y - uli.y;
+
+			float lrox = lro.x - i.screenPos.x;
+			float lrix = i.screenPos.x - lri.x;
+			float lroy = i.screenPos.y - lro.y;
+			float lriy = lri.y - i.screenPos.y;
+
+			float llox = i.screenPos.x - llo.x;
+			float llix = lli.x - i.screenPos.x;
+			float lloy = i.screenPos.y - llo.y;
+			float lliy = lli.y - i.screenPos.y;
+
+			if(ulox > 0 && ulix  > 0 && uloy > 0 && uliy > 0)
+			{
+				float2 vec = uli - i.screenPos;
+				vec.y *= _ScreenParams.y / _ScreenParams.x;
+
+				if (length(vec) < _Angle)
+				{
+					col.a = 0;
+				}
+			}
+			else if(urox > 0 && urix  > 0 && uroy > 0 && uriy > 0)
+			{
+				float2 vec = uri - i.screenPos;
+				vec.y *= _ScreenParams.y / _ScreenParams.x;
+
+				if (length(vec) < _Angle)
+				{
+					col.a = 0;
+				}
+			}
+			else if (lrox > 0 && lrix > 0 && lroy > 0 && lriy > 0)
+			{
+				float2 vec = lri - i.screenPos;
+				vec.y *= _ScreenParams.y / _ScreenParams.x;
+
+				if (length(vec) < _Angle)
+				{
+					col.a = 0;
+				}
+			}
+			else if (llox > 0 && llix  > 0 && lloy > 0 && lliy > 0)
+			{
+				float2 vec = lli - i.screenPos;
+				vec.y *= _ScreenParams.y / _ScreenParams.x;
+
+				if (length(vec) < _Angle)
+				{
+					col.a = 0;
+				}
+			}
+			else
+			{
+				col.a = 0;
+			}
 		}
 
 		return col;

BIN
Assets/Resource/Sprite/SpriteUI/九宫格对话框.png


+ 100 - 0
Assets/Resource/Sprite/SpriteUI/九宫格对话框.png.meta

@@ -0,0 +1,100 @@
+fileFormatVersion: 2
+guid: 9581ccebf924e0d40bc15fdadc255351
+timeCreated: 1492686192
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 22, y: 22, z: 22, w: 22}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Android
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: WebGL
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 2
Assets/Resource/Sprite/SpriteUI/技能地白底板.png.meta

@@ -1,6 +1,6 @@
 fileFormatVersion: 2
 guid: 468c7ec5ce9053c4f8f1a1c800a5354b
-timeCreated: 1487728231
+timeCreated: 1492652845
 licenseType: Pro
 TextureImporter:
   fileIDToRecycleName: {}
@@ -39,7 +39,7 @@ TextureImporter:
   spriteMeshType: 1
   alignment: 0
   spritePivot: {x: 0.5, y: 0.5}
-  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteBorder: {x: 110, y: 0, z: 110, w: 0}
   spritePixelsToUnits: 100
   alphaUsage: 1
   alphaIsTransparency: 1

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

@@ -1,5 +1,5 @@
 <PlayerConfig>
-  <Version value="86" />
+  <Version value="92" />
   <TutorialA value="0" />
   <TutorialB value="0" />
   <TutorialIndexA value="1" />

+ 6 - 1
Assets/Resource/XML/lan/ChineseSimplified.xml

@@ -10,7 +10,7 @@
     <Fe_BtnLab2 desc=""><![CDATA[升级]]></Fe_BtnLab2>
     <Fe_BtnLab3 desc=""><![CDATA[购买]]></Fe_BtnLab3>
     <Fe_BtnLab4 desc=""><![CDATA[等级]]></Fe_BtnLab4>
-    <Fe_BtnLab5 desc=""><![CDATA[无法使用]]></Fe_BtnLab5>
+    <Fe_BtnLab5 desc=""><![CDATA[]]></Fe_BtnLab5>
     <Fe_BtnLab6 desc=""><![CDATA[冷却中]]></Fe_BtnLab6>
     <Fe_BtnLab7 desc=""><![CDATA[剩余时间]]></Fe_BtnLab7>
     <Fg_Tit desc=""><![CDATA[提示]]></Fg_Tit>
@@ -165,8 +165,13 @@
     <SlotSign desc=""><![CDATA[未开垦]]></SlotSign>
   </Object>
   <Common>
+    <AD desc=""><![CDATA[观看]]></AD>
+    <Cash desc=""><![CDATA[¥]]></Cash>
     <Person desc=""><![CDATA[参观人次]]></Person>
     <CoinPerson desc=""><![CDATA[每人次金币]]></CoinPerson>
+    <ShortCoin desc=""><![CDATA[您没有足够的金币]]></ShortCoin>
+    <ShortDiamond desc=""><![CDATA[您没有足够的钻石]]></ShortDiamond>
+    <UnlockSlot desc=""><![CDATA[解锁精灵可以开放]]></UnlockSlot>
   </Common>
   <AchieveName>
     <Achieve1 desc=""><![CDATA[美丽花园-1]]></Achieve1>

+ 5 - 0
Assets/Resource/XML/lan/ChineseTraditional.xml

@@ -162,8 +162,13 @@
     <SlotSign desc=""><![CDATA[]]></SlotSign>
   </Object>
   <Common>
+    <AD desc=""><![CDATA[]]></AD>
+    <Cash desc=""><![CDATA[]]></Cash>
     <Person desc=""><![CDATA[]]></Person>
     <CoinPerson desc=""><![CDATA[]]></CoinPerson>
+    <ShortCoin desc=""><![CDATA[]]></ShortCoin>
+    <ShortDiamond desc=""><![CDATA[]]></ShortDiamond>
+    <UnlockSlot desc=""><![CDATA[]]></UnlockSlot>
   </Common>
   <AchieveName>
     <Achieve1 desc=""><![CDATA[]]></Achieve1>

+ 5 - 0
Assets/Resource/XML/lan/English.xml

@@ -162,8 +162,13 @@
     <SlotSign desc=""><![CDATA[]]></SlotSign>
   </Object>
   <Common>
+    <AD desc=""><![CDATA[]]></AD>
+    <Cash desc=""><![CDATA[$]]></Cash>
     <Person desc=""><![CDATA[]]></Person>
     <CoinPerson desc=""><![CDATA[]]></CoinPerson>
+    <ShortCoin desc=""><![CDATA[]]></ShortCoin>
+    <ShortDiamond desc=""><![CDATA[]]></ShortDiamond>
+    <UnlockSlot desc=""><![CDATA[]]></UnlockSlot>
   </Common>
   <AchieveName>
     <Achieve1 desc=""><![CDATA[LovelyGarden-1]]></Achieve1>

BIN
Assets/Resource/Xlsx/language_config.xlsx


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

@@ -53,7 +53,7 @@ public class Initializer : MonoBehaviour
     public static void Initialize()
     {
         ManaTutorial.TutorialA = Data.GetPlayerBool("TutorialA");
-        ManaTutorial.TutorialB = Data.GetPlayerBool("TutorialB");
+        ManaTutorial.TutorialB_ = Data.GetPlayerBool("TutorialB");
         ManaTutorial.TutorialIndexA = Data.GetPlayerInt("TutorialIndexA");
         ManaTutorial.TutorialIndexB = Data.GetPlayerInt("TutorialIndexB");
         

+ 15 - 42
Assets/Script/Manage/ManaData.cs

@@ -153,11 +153,11 @@ public class ManaData : Regist
                 SkillList[i].UpdateStatus();
             }
 
-            if (ManaTutorial.TutorialB && !TutorialValidB)
+            if (ManaTutorial.TutorialB_ && !ManaTutorial.TutorialB)
             {
                 if (Level_ >= 200)
                 {
-                    TutorialValidB = true;
+                    ManaTutorial.TutorialB = true;
 
                     ManaTutorial.PrepareStep10();
                 }
@@ -244,11 +244,9 @@ public class ManaData : Regist
     private static double Coin_;
     private static double Diamond_;
 
-    public static bool Free;
     public static bool MiniValid;
     public static bool TabBtnValid;
     public static bool SkillBarValid;
-    public static bool TutorialValidB;
 
     public static int MainDepth;
     public static float OpTime = 90;
@@ -265,7 +263,7 @@ public class ManaData : Regist
     public static float SkillCoinPerson;
 
     public static List<Skill> CoolList = new List<Skill>();
-    public static List<SkillRoot> UseList = new List<SkillRoot>();
+    public static List<Skill> UseList = new List<Skill>();
     public static List<SkillRoot> SkillList = new List<SkillRoot>();
     public static Dictionary<string, SkillRoot> SkillDic = new Dictionary<string, SkillRoot>();
 
@@ -275,21 +273,9 @@ public class ManaData : Regist
     {
         if (ManaTutorial.TutorialA)
         {
-            TutorialUpdate();
-        }
-        else
-        {
-            RegularUpdate();
+            return;
         }
-    }
 
-    private void TutorialUpdate()
-    {
-
-    }
-
-    private void RegularUpdate()
-    {
         MiniThread();
 
         MainThread();
@@ -309,8 +295,8 @@ public class ManaData : Regist
 
             if (MiniTimer < 0)
             {
-                MiniValid = false;
-
+                MiniValid = true;
+                
                 ManaReso.Get("C_MiniGame").TweenForCG();
             }
         }
@@ -355,28 +341,16 @@ public class ManaData : Regist
     {
         if (ManaTutorial.TutorialA)
         {
-            TutorialFixedUpdate();
-        }
-        else
-        {
-            RegularFixedUpdate();
+            return;
         }
-    }
-    
-    private void TutorialFixedUpdate()
-    {
-        
-    }
 
-    private void RegularFixedUpdate()
-    {
         #region 技能
 
         for (int i = 0; i < UseList.Count; i++)
         {
             if (UseList[i].DoUse())
             {
-                i--;
+                UseList.RemoveAt(i--);
             }
         }
 
@@ -384,7 +358,7 @@ public class ManaData : Regist
         {
             if (CoolList[i].DoCool())
             {
-                i--;
+                CoolList.RemoveAt(i--);
             }
         }
 
@@ -405,10 +379,9 @@ public class ManaData : Regist
 
             Coin += temp;
 
-            if (MainDepth == -1)
-            {
-                ManaReso.GetHudText("+" + temp.ToString("0"), Color.white, 25, ManaReso.Get("C_PosTra"), ManaReso.Get("C_Main"), false);
-            }
+            ManaReso.Get("C_IncomeLab").TweenForGra();
+            ManaReso.Get("C_IncomeLab").TweenForVec();
+            ManaReso.SetText("C_IncomeLab", "+" + temp.ToString("0"));
 
             ManaDebug.Log(string.Format("参观收益<color=red>{0:0.0}</color> = <color=red>{1}</color> * <color=red>{2}</color> * <color=red>{3}</color> * <color=red>{4}</color> (人次*金币*时间*加成)", temp, NewPerson, NewCoinPerson, CircleTime, 1 + SkillPlus));
         }
@@ -624,7 +597,7 @@ public class ManaData : Regist
 
     public static bool Pay(double amt, Current current)
     {
-        if (Free)
+        if (ManaTutorial.PayExempt)
         {
             return true;
         }
@@ -653,7 +626,7 @@ public class ManaData : Regist
             }
             else
             {
-                ManaDebug.Log("您没有足够的金币");
+                Toast.Show(1.5f, Language.GetStr("Common", "ShortCoin"));
 
                 return false;
             }
@@ -668,7 +641,7 @@ public class ManaData : Regist
             }
             else
             {
-                ManaDebug.Log("您没有足够的钻石");
+                Toast.Show(1.5f, Language.GetStr("Common", "ShortDiamond"));
 
                 return false;
             }

+ 61 - 4
Assets/Script/Manage/ManaServer.cs

@@ -6,11 +6,38 @@ using System;
 using System.Collections;
 using UnityEngine.Events;
 
-public class ManaServer : Regist 
+public class ManaServer : Regist
 {
     #region 变量
 
-    public static bool Connect;
+    public static bool Connect
+    {
+        get
+        {
+            if (Connect_)
+            {
+                return true;
+            }
+            else
+            {
+                if (ManaTutorial.ConnectExemptAmt > 0)
+                {
+                    ManaTutorial.ConnectExemptAmt--;
+
+                    return true;
+                }
+                else
+                {
+                    return false;
+                }
+            }
+        }
+        set { Connect_ = value; }
+    }
+
+    public static bool Connect_;
+
+    public static string ID;
     public static DateTime Time;
 
     #endregion
@@ -21,14 +48,44 @@ public class ManaServer : Regist
 
         urlData.Add("u", SystemInfo.deviceUniqueIdentifier);
 
-        URLRequest.CreateURLRequest("https://garden.dashgame.com/index.php/Home/User/login", urlData, LoginCallBack, URLRequest.Method.POST);
+        URLRequest.CreateURLRequest("https://garden.dashgame.com/index.php/Home/User/login", urlData, LoginCallback, URLRequest.Method.POST);
     }
 
-    private static void LoginCallBack(JsonData jsonData)
+    private static void LoginCallback(JsonData jsonData)
     {
         if (jsonData["c"].ToString() == "0")
         {
             Connect = true;
+            ID = jsonData["i"].ToJson();
         }
     }
+
+    public static void Save()
+    {
+        URLRequestData urlData = new URLRequestData();
+        
+        urlData.Add("i", ID);
+        urlData.Add("l", Data.PlayerDoc.OuterXml);
+
+        URLRequest.CreateURLRequest("https://garden.dashgame.com/index.php/home/user/save", urlData, SaveCallback, URLRequest.Method.POST);
+    }
+
+    private static void SaveCallback(JsonData jsonData)
+    {
+        Debug.Log(jsonData.ToJson());
+    }
+
+    public static void Load()
+    {
+        URLRequestData urlData = new URLRequestData();
+
+        urlData.Add("i", ID);
+
+        URLRequest.CreateURLRequest("https://garden.dashgame.com/index.php/Home/User/load", urlData, LoadCallback, URLRequest.Method.POST);
+    }
+
+    private static void LoadCallback(JsonData jsonData)
+    {
+        Debug.Log(jsonData.ToJson());
+    }
 }

+ 66 - 4
Assets/Script/Manage/ManaTutorial.cs

@@ -8,16 +8,78 @@ public class ManaTutorial : Regist
 {
     #region 变量
 
+    public static bool TutorialB
+    {
+        get { return TutorialB_; }
+        set { TutorialB_ = value; }
+    }
+
+    public static bool PayExempt
+    {
+        get
+        {
+            if (PayExempt_)
+            {
+                return true;
+            }
+            else
+            {
+                if (PayExemptAmt > 0)
+                {
+                    PayExemptAmt--;
+
+                    return true;
+                }
+                else
+                {
+                    return false;
+                }
+            }
+        }
+        set { PayExempt_ = value; }
+    }
+
+    public static bool ConnectExempt
+    {
+        get
+        {
+            if (ConnectExempt_)
+            {
+                return true;
+            }
+            else
+            {
+                if (ConnectExemptAmt > 0)
+                {
+                    ConnectExemptAmt--;
+
+                    return true;
+                }
+                else
+                {
+                    return false;
+                }
+            }
+        }
+        set { ConnectExempt_ = value; }
+    }
+
+    public static bool TutorialB_;
+
+    public static int PayExemptAmt;
+    public static int ConnectExemptAmt;
+    public static bool PayExempt_;
+    public static bool ConnectExempt_;
+
     public static int TutorialIndexA;
     public static int TutorialIndexB;
     public static bool TutorialA;
-    public static bool TutorialB;
 
     #endregion
 
     public override void Instantiate()
     {
-        if (TutorialA || TutorialB)
+        if (TutorialA || TutorialB_)
         {
             ManaReso.Get("Tutorial", Folder.Object, true, transform, false).AddScript<Tutorial>();
         }
@@ -26,7 +88,7 @@ public class ManaTutorial : Regist
 
     public override void RegistValueC()
     {
-        if (TutorialA || TutorialB)
+        if (TutorialA || TutorialB_)
         {
             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);
@@ -438,7 +500,7 @@ public class ManaTutorial : Regist
             EventType.BackwardFinish,
             () =>
             {
-                Tutorial.HightScreen(ManaReso.Get("F_SkillArrow00"), ManaReso.Get("F_Skill0"));
+                Tutorial.HightScreen(ManaReso.Get("F_SkillArrow10"), ManaReso.Get("F_Skill0"));
             }
         );
     }

+ 14 - 3
Assets/Script/Manage/ManaUI.cs

@@ -137,6 +137,13 @@ public class ManaUI : Regist
 
         #endregion
 
+        #region C_IncomeLab
+
+        ManaReso.Get("C_IncomeLab").CreateTweenGra(1, 0, 2, true, false, Curve.EaseOutQuad);
+        ManaReso.Get("C_IncomeLab").CreateTweenVec2D(ManaReso.Get("C_Pos").position, 2, false, true, false, Curve.EaseOutQuad);
+
+        #endregion
+
         #region C_Manage
 
         ManaReso.AddButtonEvent
@@ -590,9 +597,7 @@ public class ManaUI : Regist
             "Ea_Current",
             () =>
             {
-                //ManaData.Coin += 1000;
-                //ManaData.Diamond += 1000;
-                ManaData.Free = true;
+                ManaTutorial.PayExempt = true;
             }
         );
 
@@ -1269,6 +1274,12 @@ public class ManaUI : Regist
 
         #endregion
 
+        #region O
+
+        ManaReso.Get("O_Toast").AddScript<Toast>();
+
+        #endregion
+
         if (!ManaTutorial.TutorialA)
         {
             HudTarget hudTarget = ManaReso.Get("C_MiniGame").AddComponent<HudTarget>();

+ 1 - 23
Assets/Script/Object/Flower.cs

@@ -133,32 +133,10 @@ public class FlowerInfo
         (
             () =>
             {
-                if (ManaTutorial.TutorialA)
-                {
-                    TutorialClick();
-                }
-                else
-                {
-                    RegularClick();
-                }
+                ManaGarden.PlantFlower(this);
             }
         );
     }
-
-
-    private void TutorialClick()
-    {
-        ManaGarden.PlantFlower(this);
-
-        Tutorial.HightDisable(0, false);
-
-        Tutorial.HightScreen(ManaReso.Get("G_CloseArrow"), ManaReso.Get("G_Close"));
-    }
-
-    private void RegularClick()
-    {
-        ManaGarden.PlantFlower(this);
-    }
 }
 
 public class Flower : ObjRoot, IPointerClickHandler

+ 210 - 392
Assets/Script/Object/Skill/Ability.cs

@@ -37,7 +37,6 @@ public class Ability : SkillRoot
     protected Current UnlockAheadCur;
 
     protected bool ValidSlot;
-    protected bool ValidAnim;
     protected string Label;
     protected string Anim;
 
@@ -58,12 +57,12 @@ public class Ability : SkillRoot
 
     public SkillStatus ItemStatus
     {
-        get { return _ItemStatus; }
+        get { return ItemStatus_; }
         set
         {
-            _ItemStatus = value;
+            ItemStatus_ = value;
 
-            if (_ItemStatus == SkillStatus.Lock)
+            if (ItemStatus_ == SkillStatus.Lock)
             {
                 if (UnlockAheadCur == Current.Free)
                 {
@@ -78,27 +77,29 @@ public class Ability : SkillRoot
                     ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab0"), "\n", new LanStr("UI", "Fe_BtnLab4"), UnlockLv.ToString());
                 }
             }
-            else if (_ItemStatus == SkillStatus.UnLock)
+            else if (ItemStatus_ == SkillStatus.UnLock)
             {
                 ItemBtn.interactable = true;
 
-                ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"));
+                if (UnlockCur == Current.Free)
+                {
+                    ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"));
+                }
+                else
+                {
+                    ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"), "\n", ImageParse(UnlockCur), UnlockAmt.ToString("0"));
+                }
             }
-            else if (_ItemStatus == SkillStatus.Upgrade)
+            else if (ItemStatus_ == SkillStatus.Upgrade)
             {
                 ItemBtn.interactable = true;
 
-                ManaLan.Add(ItemTit, new LanStr("SkillName", ID), " ", Level .ToString());
-                ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab2"));
-            }
-            else
-            {
-                throw new Exception(_ItemStatus.ToString());
+                ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab2"), "\n", ImageParse(UpgradeCur), UpgradeAmt.ToString("0"));
             }
         }
     }
 
-    public SkillStatus _ItemStatus;
+    public SkillStatus ItemStatus_;
 
     #endregion
 
@@ -107,7 +108,7 @@ public class Ability : SkillRoot
         #region 配置
 
         ID_ = int.Parse(attribute[0].Value);
-        Icon = attribute[20].Value;
+        Icon_ = attribute[20].Value;
         Anim = attribute[21].Value;
         Label = attribute[22].Value;
 
@@ -117,7 +118,7 @@ public class Ability : SkillRoot
         UpgradePlus = attribute[16].Value;
         UpgradePerson = attribute[17].Value;
 
-        ClassID = IntParse(attribute[3].Value);
+        ItemIndex = IntParse(attribute[3].Value);
         UnlockLv = IntParse(attribute[7].Value);
 
         UnlockAmt = FloatParse(attribute[11].Value);
@@ -177,11 +178,11 @@ public class Ability : SkillRoot
         }
     }
 
-    public override void RegistValue(float elapse, List<List<Skill>> ffList, XmlAttributeCollection attribute)
+    public override void RegistValue(float elapse, List<List<Skill>> useList, XmlAttributeCollection attribute)
     {
         Level = int.Parse(attribute[3].Value);
 
-        _ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
+        ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
 
         NewPlus = Plus;
         NewPerson = Person;
@@ -191,13 +192,11 @@ public class Ability : SkillRoot
         NewCoinPerson = CoinPerson;
         NewUpgradeAmt = UpgradeAmt;
 
-        ManaLan.Add(ItemTit, new LanStr("SkillName", ID));
-
         ItemLab.text = Description(0);
 
         ItemBtn.onClick.AddListener(OnClick);
 
-        if (_ItemStatus == SkillStatus.Upgrade)
+        if (ItemStatus == SkillStatus.Upgrade)
         {
             ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁 等级 : {1}", Name, Level));
 
@@ -214,13 +213,18 @@ public class Ability : SkillRoot
             UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, Level);
             UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, Level);
 
-            if (Level > 0)
+            UseA();
+
+            if (!string.IsNullOrEmpty(Anim))
             {
-                UseConti();
+                string[] strings = Anim.Split(',');
+
+                if (strings.Length == 1)
+                {
+                    ManaData.Elf += Level;
+                }
             }
         }
-
-        ItemStatus = ItemStatus;
     }
 
     public override void UpdateStatus()
@@ -229,78 +233,167 @@ public class Ability : SkillRoot
         {
             if (ItemStatus == SkillStatus.Lock)
             {
-                if (UnlockCur == Current.Free)
-                {
-                    Unlock();
-                }
-                else
-                {
-                    ItemStatus = SkillStatus.UnLock;
-                }
+                ItemStatus = SkillStatus.UnLock;
             }
         }
     }
 
-    
+
     protected void Unlock()
     {
-        if (ManaData.Pay(UnlockAmt, UnlockCur))
+        if (!ManaData.Pay(UnlockAmt, UnlockCur))
         {
-            ManaData.Elf++;
+            return;
+        }
 
-            ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
+        ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
+
+        if (UpgradeCur != Current.Free)
+        {
+            ItemStatus = SkillStatus.Upgrade;
+        }
+        else
+        {
+            throw new Exception();
+        }
+
+        UseA();
+        UseB();
+        UseC();
+    }
+
+    protected void OnClick()
+    {
+        if (ManaServer.Connect == false)
+        {
+            ManaReso.Get("Fg_Reconnect").TweenForCG();
+
+            return;
+        }
+
+        ManaReso.Get("Fe_Info").TweenForCG();
+        ManaReso.SetText("Fe_Tit", Name);
+        ManaReso.SetSprite("Fe_Icon", ItemIcon.sprite);
+
+        if (ItemStatus == SkillStatus.Lock)
+        {
+            ManaReso.SetText("Fe_Lab0", "");
+            ManaReso.SetText("Fe_Lab1", Description(0));
+            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab0"), ImageParse(UnlockAheadCur), UnlockAheadAmt));
+
+            ManaReso.SetButtonEvent
+            (
+                "Fe_Btn",
+                () =>
+                {
+                    UnlockAhead();
+
+                    ManaReso.Get("Fe_Info").TweenBacCG();
+                }
+            );
+        }
+        else if (ItemStatus == SkillStatus.UnLock)
+        {
+            ManaReso.SetText("Fe_Lab0", "");
+            ManaReso.SetText("Fe_Lab1", Description(0));
 
-            if (UpgradeCur != Current.Free)
+            if (UnlockCur == Current.Free)
             {
-                ItemStatus = SkillStatus.Upgrade;
+                ManaReso.SetText("Fe_BtnLab", string.Format("{0}", Language.GetStr("UI", "Fe_BtnLab1")));
             }
             else
             {
-                throw new Exception();
+                ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab1"), ImageParse(UnlockCur), UnlockAmt));
             }
-        }
-    }
+            
 
-    protected void OnClick()
-    {
-        if (ManaTutorial.TutorialA || ManaTutorial.TutorialB && ManaData.Level >= 200)
+            ManaReso.SetButtonEvent
+            (
+                "Fe_Btn",
+                () =>
+                {
+                    Unlock();
+
+                    ManaReso.Get("Fe_Info").TweenBacCG();
+                }
+            );
+        }
+        else if (ItemStatus == SkillStatus.Upgrade)
         {
-            TutorialClick();
+            ManaReso.SetText("Fe_Lab0", Description(0));
+            ManaReso.SetText("Fe_Lab1", Description(1));
+            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
+
+            ManaReso.SetButtonEvent
+            (
+                "Fe_Btn",
+                () =>
+                {
+                    Upgrade();
+
+                    ItemLab.text = Description(0);
+
+                    ManaReso.SetText("Fe_Tit", NameParse());
+                    ManaReso.SetText("Fe_Lab0", Description(0));
+                    ManaReso.SetText("Fe_Lab1", Description(1));
+
+                    ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
+
+                    ManaDebug.Log(string.Format("<color=red>{0}</color>升级 : {1}", Name, Level));
+                }
+            );
         }
         else
         {
-            RegularClick();
+            throw new Exception();
         }
     }
 
     protected void Upgrade()
     {
-        if (ManaTutorial.TutorialA || (ManaTutorial.TutorialA && ManaData.Level >= 200))
+        if (!ManaData.Pay(NewUpgradeAmt, UpgradeCur))
         {
-            TutorialUpgrade();
+            return;
+        }
+
+        if (ID == "Ability1")
+        {
+            Level += 20;
+            ManaData.Level += 20;
         }
         else
         {
-            RegularUpgrade();
+            Level++;
         }
+
+        Annul();
+
+        NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
+        UpgradeValue(ref NewPerson, Person, UpgradePerson, 1);
+        UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, 1);
+        UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
+
+        UpgradeValue(ref NewPlus, Plus, UpgradePlus, 1);
+        UpgradeValue(ref NewSkillCdBuff, UpgradeCD, 1);
+        UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
+
+        UseA();
+        UseC();
     }
 
-    protected void UseConti()
+    protected void UseA()
     {
-        if (ValidAnim == false)
+        if (!string.IsNullOrEmpty(Anim))
         {
-            if (!string.IsNullOrEmpty(Anim))
-            {
-                string[] strings = Anim.Split(',');
+            string[] strings = Anim.Split(',');
 
-                if (strings.Length == 1)
-                {
-                    ManaGarden.AnimList.Add((ObjType) Enum.Parse(typeof(ObjType), strings[0]));
-                }
-                else if (strings.Length > 1)
-                {
-                    ManaReso.Get(strings[0], Folder.Scene, true, ManaReso.Get(strings[1]), false);
-                }
+            if (strings.Length == 1)
+            {
+                ManaGarden.AnimList.Add((ObjType) Enum.Parse(typeof(ObjType), strings[0]));
+            }
+            else if (strings.Length > 1)
+            {
+                ManaReso.Get(strings[0], Folder.Scene, true, ManaReso.Get(strings[1]), false);
             }
         }
 
@@ -316,7 +409,7 @@ public class Ability : SkillRoot
                 }
             }
         }
-        
+
         ManaData.Person += NewPerson;
         ManaData.CoinPerson += NewCoinPerson;
 
@@ -347,7 +440,7 @@ public class Ability : SkillRoot
 
         if (Math.Abs(NewPlus) > 0.0005f)
         {
-            strb.AppendFormat(" 收入加成<color=red>+{0}%</color>", NewPlus * 100);
+            strb.AppendFormat(" 收入加成<color=red>+{0}%</color>", NewPlus*100);
         }
 
         if (Math.Abs(NewPerson) > 0.0005f)
@@ -357,7 +450,7 @@ public class Ability : SkillRoot
 
         if (Math.Abs(NewPersonBuff) > 0.0005f)
         {
-            strb.AppendFormat(" 参观人次<color=red>+{0}%</color>", NewPersonBuff * 100);
+            strb.AppendFormat(" 参观人次<color=red>+{0}%</color>", NewPersonBuff*100);
         }
 
         if (Math.Abs(NewCoinPerson) > 0.0005f)
@@ -372,7 +465,7 @@ public class Ability : SkillRoot
 
         if (Math.Abs(SkillCdBuff) > 0.0005f)
         {
-            strb.AppendFormat(" 减少冷却上限<color=red>{0}%</color>", SkillCdBuff * 100);
+            strb.AppendFormat(" 减少冷却上限<color=red>{0}%</color>", SkillCdBuff*100);
         }
 
         if (!string.IsNullOrEmpty(UnlockPos))
@@ -389,367 +482,92 @@ public class Ability : SkillRoot
         #endregion
     }
 
-    protected void UnlockAhead()
+    protected void UseB()
     {
-        if (ItemStatus != SkillStatus.Lock)
+        if (!string.IsNullOrEmpty(Anim))
         {
-            ManaDebug.Log("您并不需要提前解锁");
+            string[] strings = Anim.Split(',');
 
-            return;
-        }
-
-        if (ManaData.Pay(UnlockAheadAmt, UnlockAheadCur))
-        {
-            ManaData.Elf++;
-
-            ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
-
-            if (UpgradeCur != Current.Free)
-            {
-                ItemStatus = SkillStatus.Upgrade;
-            }
-            else
+            if (strings.Length == 1)
             {
-                throw new Exception();
-            }
-        }
-    }
-
-
-    private void TutorialClick()
-    {
-        ManaReso.Get("Fe_Info").TweenForCG();
-        ManaReso.SetText("Fe_Tit", Name);
-        ManaReso.SetSprite("Fe_Icon", ItemIcon.sprite);
-
-        if (ItemStatus == SkillStatus.Lock)
-        {
-            ManaReso.SetText("Fe_Lab0", "");
-            ManaReso.SetText("Fe_Lab1", Description(0));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab0"), ImageParse(UnlockAheadCur), UnlockAheadAmt));
-
-            ManaReso.SetButtonEvent
-            (
-                "Fe_Btn",
-                () =>
+                if (ManaGarden.PlantList.Count == 0)
                 {
-                    UnlockAhead();
-                    ManaReso.Get("Fe_Info").TweenBacCG();
+                    return;
                 }
-            );
-        }
-        else if (ItemStatus == SkillStatus.UnLock)
-        {
-            ManaReso.SetText("Fe_Lab0", "");
-            ManaReso.SetText("Fe_Lab1", Description(0));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab1"), ImageParse(UnlockCur), UnlockAmt));
 
-            ManaReso.SetButtonEvent
-            (
-                "Fe_Btn",
-                () =>
-                {
-                    Unlock();
-                    ManaReso.Get("Fe_Info").TweenBacCG();
-                }
-            );
-        }
-        else if (ItemStatus == SkillStatus.Upgrade)
-        {
-            Tutorial.HightDisable(0, true);
+                Flower flower = ManaGarden.PlantList.Random().Flower;
 
-            ManaReso.SetText("Fe_Lab0", Description(0));
-            ManaReso.SetText("Fe_Lab1", Description(1));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
+                flower.PlayAnim(ManaGarden.AnimList.Last(0));
 
-            ManaReso.AddButtonEventOnetime
-            (
-                "Fe_Btn",
-                () =>
-                {
-                    TutorialUpgrade();
+                ManaReso.Get<Button>("F_Close").onClick.Invoke();
 
-                    ManaReso.Get("Fe_Info").TweenBacCG();
+                Tween tween = ManaReso.Get("F_Manage0").GetTweenVec();
 
-                    if (ManaTutorial.TutorialA)
-                    {
-                        ManaTutorial.EndStep7();
-                    }
-                    else if (ManaTutorial.TutorialB)
+                ManaReso.Get("MainCamera").CreateZoom2D();
+
+                tween.AddEventOnetime
+                (
+                    EventType.BackwardFinish,
+                    () =>
                     {
-                        ManaTutorial.EndStep10();
+                        ManaReso.Get("MainCamera").Zoom2D(1.5f, 1f, 1, flower.transform.GetChild(4), Curve.EaseOutQuad);
                     }
-                }
-            );
-        }
-        else
-        {
-            throw new Exception();
-        }
-    }
+                );
+            }
+            else if (strings.Length > 1)
+            {
+                ManaReso.Get<Button>("F_Close").onClick.Invoke();
 
-    private void RegularClick()
-    {
-        if (ManaServer.Connect == false)
-        {
-            ManaReso.Get("Fg_Reconnect").TweenForCG();
+                Tween tween0 = ManaReso.Get(strings[0]).CreateTweenSr(0, 1, 1, true, true, Curve.EaseOutQuad, false, true);
 
-            return;
-        }
+                tween0.InOrigin = true;
 
-        ManaReso.Get("Fe_Info").TweenForCG();
-        ManaReso.SetText("Fe_Tit", Name);
-        ManaReso.SetSprite("Fe_Icon", ItemIcon.sprite);
+                Tween tween1 = ManaReso.Get("F_Manage0").GetTweenVec();
 
-        if (ItemStatus == SkillStatus.Lock)
-        {
-            ManaReso.SetText("Fe_Lab0", "");
-            ManaReso.SetText("Fe_Lab1", Description(0));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab0"), ImageParse(UnlockAheadCur), UnlockAheadAmt));
+                ManaReso.Get("MainCamera").CreateZoom2D();
 
-            ManaReso.SetButtonEvent
-            (
-                "Fe_Btn",
-                () =>
-                {
-                    UnlockAhead();
-                    ManaReso.Get("Fe_Info").TweenBacCG();
-                }
-            );
-        }
-        else if (ItemStatus == SkillStatus.UnLock)
-        {
-            ManaReso.SetText("Fe_Lab0", "");
-            ManaReso.SetText("Fe_Lab1", Description(0));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab1"), ImageParse(UnlockCur), UnlockAmt));
-
-            ManaReso.SetButtonEvent
-            (
-                "Fe_Btn",
-                () =>
-                {
-                    Unlock();
-                    ManaReso.Get("Fe_Info").TweenBacCG();
-                }
-            );
-        }
-        else if (ItemStatus == SkillStatus.Upgrade)
-        {
-            ManaReso.SetText("Fe_Lab0", Description(0));
-            ManaReso.SetText("Fe_Lab1", Description(1));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
-
-            ManaReso.SetButtonEvent
-            (
-                "Fe_Btn",
-                () =>
-                {
-                    Upgrade();
-                }
-            );
-        }
-        else
-        {
-            throw new Exception();
+                tween1.AddEventOnetime
+                (
+                    EventType.BackwardFinish,
+                    () =>
+                    {
+                        tween0.StartForward();
+                        ManaReso.Get("MainCamera").Zoom2D(3.5f, 1f, 1, ManaReso.Get(strings[0]), Curve.EaseOutQuad);
+                    }
+                );
+            }
         }
     }
 
-    private void TutorialUpgrade()
+    protected void UseC()
     {
-        if (ID == "Ability1")
-        {
-            Level += 20;
-            ManaData.Level += 20;
-        }
-        else
+        if (!string.IsNullOrEmpty(Anim))
         {
-            Level++;
-        }
-
-        ManaData.Elf++;
-
-        Annul();
-
-        NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
-        UpgradeValue(ref NewPerson, Person, UpgradePerson, 1);
-        UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, 1);
-        UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
-
-        UpgradeValue(ref NewPlus, Plus, UpgradePlus, 1);
-        UpgradeValue(ref NewSkillCdBuff, UpgradeCD, 1);
-        UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
+            string[] strings = Anim.Split(',');
 
-        ManaLan.Add(ItemTit, new LanStr("SkillName", ID), " ", Level.ToString());
-
-        ItemLab.text = Description(0);
-        ManaReso.SetText("Fe_Lab0", Description(0));
-        ManaReso.SetText("Fe_Lab1", Description(1));
-        ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
-
-        ManaDebug.Log(string.Format("<color=red>{0}</color> 升级 : {1}", Name, Level));
-
-        UseConti();
-        
-        if (ValidAnim == false)
-        {
-            ValidAnim = true;
-            
-            if (!string.IsNullOrEmpty(Anim))
+            if (strings.Length == 1)
             {
-                string[] strings = Anim.Split(',');
-                
-                if (strings.Length == 1)
-                {
-                    if (ManaGarden.PlantList.Count == 0)
-                    {
-                        return;
-                    }
-
-                    Flower flower = ManaGarden.PlantList.Random().Flower;
-
-                    flower.PlayAnim(ManaGarden.AnimList.Last(0));
-
-                    ManaReso.Get<Button>("F_Close").onClick.Invoke();
-
-                    Tween tween = ManaReso.Get("F_Manage0").GetTweenVec();
-
-                    ManaReso.Get("MainCamera").CreateZoom2D();
-
-                    tween.AddEventOnetime
-                    (
-                        EventType.BackwardFinish,
-                        () =>
-                        {
-                            ManaReso.Get("MainCamera").Zoom2D(1.5f, 1f, 1, flower.transform.GetChild(4), Curve.EaseOutQuad);
-                        }
-                    );
-                }
-                else if (strings.Length > 1)
-                {
-                    ManaReso.Get<Button>("F_Close").onClick.Invoke();
-                    
-                    ManaReso.Get("MainCamera").CreateZoom2D();
-
-                    Tween tween0 = ManaReso.Get(strings[0]).CreateTweenSr(0, 1, 1, true, true, Curve.EaseOutQuad, false, true);
-
-                    tween0.InOrigin = true;
-
-                    Tween tween1 = ManaReso.Get("F_Manage0").GetTweenVec();
-
-                    tween1.AddEventOnetime
-                    (
-                        EventType.BackwardFinish,
-                        () =>
-                        {
-                            tween0.StartForward();
-                            ManaReso.Get("MainCamera").Zoom2D(3.5f, 1f, 1, ManaReso.Get(strings[0]), Curve.EaseOutQuad);
-                        }
-                    );
-                }
+                ManaData.Elf++;
             }
         }
     }
 
-    private void RegularUpgrade()
+    protected void UnlockAhead()
     {
-        if (ManaData.Pay(NewUpgradeAmt, UpgradeCur))
+        if (ItemStatus != SkillStatus.Lock)
         {
-            if (Level == 0)
-            {
-                UseConti();
-            }
+            ManaDebug.Log("您并不需要提前解锁");
 
-            if (ID == "Ability1")
-            {
-                ManaData.Level+= 20;
-            }
-            else
-            {
-                Level++;
-            }
+            return;
+        }
 
+        if (ManaData.Pay(UnlockAheadAmt, UnlockAheadCur))
+        {
             ManaData.Elf++;
 
-            Annul();
-
-            NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
-            UpgradeValue(ref NewPerson, Person, UpgradePerson, 1);
-            UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, 1);
-            UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
-
-            UpgradeValue(ref NewPlus, Plus, UpgradePlus, 1);
-            UpgradeValue(ref NewSkillCdBuff, UpgradeCD, 1);
-            UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
-
-            ManaLan.Add(ItemTit, new LanStr("SkillName", ID), " ", Level.ToString());
-
-            ItemLab.text = Description(0);
-            ManaReso.SetText("Fe_Lab0", Description(0));
-            ManaReso.SetText("Fe_Lab1", Description(1));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
-
-            ManaDebug.Log(string.Format("<color=red>{0}</color> 升级 : {1}", Name, Level));
-
-            UseConti();
-            
-            if (ValidAnim == false)
-            {
-                ValidAnim = true;
-                
-                if (!string.IsNullOrEmpty(Anim))
-                {
-                    string[] strings = Anim.Split(',');
-                    
-                    if (strings.Length == 1)
-                    {
-                        if (ManaGarden.PlantList.Count == 0)
-                        {
-                            return;
-                        }
-
-                        Flower flower = ManaGarden.PlantList.Random().Flower;
-
-                        flower.PlayAnim(ManaGarden.AnimList.Last(0));
-
-                        ManaReso.Get<Button>("F_Close").onClick.Invoke();
-
-                        Tween tween = ManaReso.Get("F_Manage0").GetTweenVec();
-
-                        ManaReso.Get("MainCamera").CreateZoom2D();
-
-                        tween.AddEventOnetime
-                        (
-                            EventType.BackwardFinish,
-                            () =>
-                            {
-                                ManaReso.Get("MainCamera").Zoom2D(1.5f, 1f, 1, flower.transform.GetChild(4), Curve.EaseOutQuad);
-                            }
-                        );
-                    }
-                    else if (strings.Length > 1)
-                    {
-                        ManaReso.Get<Button>("F_Close").onClick.Invoke();
-                        
-                        Tween tween0 = ManaReso.Get(strings[0]).CreateTweenSr(0, 1, 1, true, true, Curve.EaseOutQuad, false, true);
-
-                        tween0.InOrigin = true;
-
-                        Tween tween1 = ManaReso.Get("F_Manage0").GetTweenVec();
-
-                        ManaReso.Get("MainCamera").CreateZoom2D();
+            ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
 
-                        tween1.AddEventOnetime
-                        (
-                            EventType.BackwardFinish,
-                            () =>
-                            {
-                                tween0.StartForward();
-                                ManaReso.Get("MainCamera").Zoom2D(3.5f, 1f, 1, ManaReso.Get(strings[0]), Curve.EaseOutQuad);
-                            }
-                        );
-                    }
-                }
-            }
+            ItemStatus = SkillStatus.Upgrade;
         }
     }
 

+ 85 - 257
Assets/Script/Object/Skill/BigSkill.cs

@@ -11,32 +11,31 @@ public class BigSkill : Skill
 {
     #region 变量
 
-    #region 配置
-
-    public int SkillIndex;
-
-    #endregion
+    public int BarIndex;
 
     public Text BarLab;
     public Image BarBk0;
     public Image BarBk1;
     public Button BarBtn;
 
+    public Sprite BarIcon
+    {
+        get { return ManaReso.Load<Sprite>(Icon_ + "副", Folder.UI); }
+    }
+
     public SkillStatus BarStatus
     {
-        get { return _BarStatus; }
+        get { return BarStatus_; }
         set
         {
-            _BarStatus = value;
+            BarStatus_ = value;
 
-            if (_BarStatus == SkillStatus.Cool)
+            if (BarStatus_ == SkillStatus.Cool)
             {
                 BarBk0.SetActive(true);
                 BarBk1.SetActive(false);
-                
-                ManaData.CoolList.Add(this);
             }
-            else if (_BarStatus == SkillStatus.Buy)
+            else if (BarStatus_ == SkillStatus.Buy)
             {
                 if (SkillTab != SkillTab.Null && ItemStatus != SkillStatus.Upgrade)
                 {
@@ -53,57 +52,50 @@ public class BigSkill : Skill
                     BarLab.text = "";
                 }
             }
-            else if (_BarStatus == SkillStatus.Use)
-            {
-                
-            }
-            else
-            {
-                throw new Exception();
-            }
         }
     }
 
-    public new SkillStatus ItemStatus
+    public override SkillStatus ItemStatus
     {
-        get { return _ItemStatus; }
+        get { return ItemStatus_; }
         set
         {
-            _ItemStatus = value;
+            ItemStatus_ = value;
 
             if (SkillTab == SkillTab.Null)
             {
                 return;
             }
 
-            if (_ItemStatus == SkillStatus.Lock)
+            if (ItemStatus_ == SkillStatus.Lock)
             {
                 ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab0"), "\n", new LanStr("UI", "Fe_BtnLab4"), UnlockLv);
             }
-            else if (_ItemStatus == SkillStatus.UnLock)
+            else if (ItemStatus_ == SkillStatus.UnLock)
             {
-                ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"));
-            }
-            else if (_ItemStatus == SkillStatus.Upgrade)
-            {
-                ManaLan.Add(ItemTit, new LanStr("SkillName", ID), " ", Level.ToString());
-
-                ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab2"));
+                if (UnlockCur == Current.Free)
+                {
+                    ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"));
+                }
+                else
+                {
+                    ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"), "\n", ImageParse(UnlockCur), UnlockAmt.ToString("0"));
+                }
             }
-            else
+            else if (ItemStatus_ == SkillStatus.Upgrade)
             {
-                throw new Exception(_ItemStatus.ToString());
+                ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab2"), "\n", ImageParse(UpgradeCur), UpgradeAmt.ToString("0"));
             }
         }
     }
 
-    public SkillStatus _BarStatus;
+    public SkillStatus BarStatus_;
 
     #endregion
 
     public BigSkill(XmlAttributeCollection attribute) : base(attribute)
     {
-        SkillIndex = IntParse(attribute[4].Value);
+        BarIndex = IntParse(attribute[4].Value);
 
         SkillType = SkillType.BigSkill;
     }
@@ -117,12 +109,14 @@ public class BigSkill : Skill
 
         BarStatus = SkillStatus.Cool;
 
-        AnnulConti();
+        ManaData.CoolList.Add(this);
+
+        AnnulA();
 
         ManaDebug.Log(string.Format("技能结束 <color=red>{0}</color>", Name));
     }
 
-    public override void AnnulConti()
+    public override void AnnulA()
     {
         ManaData.SkillPlus -= NewPlus;
         ManaData.SkillPerson -= NewPerson;
@@ -156,8 +150,6 @@ public class BigSkill : Skill
         {
             Annul();
 
-            ManaData.UseList.Remove(this);
-
             return true;
         }
         else
@@ -182,8 +174,6 @@ public class BigSkill : Skill
 
             ManaDebug.Log(string.Format("技能<color=red>{0}</color>已冷却", Name));
 
-            ManaData.CoolList.Remove(this);
-
             return true;
         }
         else
@@ -192,18 +182,18 @@ public class BigSkill : Skill
         }
     }
 
-    public override void RegistValue(float elapse, List<List<Skill>> ffList, XmlAttributeCollection attribute)
+    public override void RegistValue(float elapse, List<List<Skill>> useList, XmlAttributeCollection attribute)
     {
         Level = int.Parse(attribute[4].Value);
         UseTimer = float.Parse(attribute[6].Value);
         CoolTimer = float.Parse(attribute[5].Value);
         
-        _ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
-        _BarStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[3].Value);
+        ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
+        BarStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[3].Value);
         
         BarBtn.onClick.AddListener(Buy);
 
-        BarBk1.sprite = ManaReso.Load<Sprite>(Icon + "副", Folder.UI);
+        BarBk1.sprite = BarIcon;
         
         NewPlus = Plus;
         NewPerson = Person;
@@ -222,7 +212,8 @@ public class BigSkill : Skill
         }
         else
         {
-            ManaLan.Add(ItemTit, new LanStr("SkillName", ID));
+            RegistName(ItemTit);
+            
             ItemLab.text = Description(0);
 
             ItemBtn.onClick.AddListener(OnClick);
@@ -243,30 +234,30 @@ public class BigSkill : Skill
             UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, Level);
             UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, Level);
 
-            if (_ItemStatus == SkillStatus.Upgrade)
+            if (ItemStatus_ == SkillStatus.Upgrade)
             {
                 ShowSkillBar();
 
                 ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁 等级 : {1}", Name, Level));
             }
 
-            if (_BarStatus == SkillStatus.Use)
+            if (BarStatus == SkillStatus.Use)
             {
-                UseConti();
+                UseA();
 
                 if (UseTimer < elapse)
                 {
-                    if (ffList.Count > 0)
+                    if (useList.Count > 0)
                     {
                         if (UseTimer < ManaData.CircleTimer)
                         {
-                            ffList[0].UniqueAdd(this);
+                            useList[0].UniqueAdd(this);
                         }
                         else
                         {
                             int ffCircle = 1 + Mathf.FloorToInt(((UseTimer - ManaData.CircleTimer) / ManaData.CircleTime));
 
-                            ffList[ffCircle].UniqueAdd(this);
+                            useList[ffCircle].UniqueAdd(this);
                         }
                     }
                 }
@@ -274,13 +265,12 @@ public class BigSkill : Skill
                 {
                     UseTimer -= elapse;
 
-                    ManaData.UseList.Add(this);
                     BarBk1.SetActive(true);
 
                     BarLab.color = Color.blue;
                 }
             }
-            else if (_BarStatus == SkillStatus.Cool)
+            else if (BarStatus_ == SkillStatus.Cool)
             {
                 CoolTimer -= elapse;
             }
@@ -330,9 +320,9 @@ public class BigSkill : Skill
     {
         base.RegistReference();
 
-        BarLab = ManaReso.Get<Text>(string.Format("F_SkillLab{0}", SkillIndex - 1));
-        BarBk0 = ManaReso.Get<Image>(string.Format("F_SkillBk{0}0", SkillIndex - 1));
-        BarBk1 = ManaReso.Get<Image>(string.Format("F_SkillBk{0}1", SkillIndex - 1));
+        BarLab = ManaReso.Get<Text>(string.Format("F_SkillLab{0}", BarIndex));
+        BarBk0 = ManaReso.Get<Image>(string.Format("F_SkillBk{0}0", BarIndex));
+        BarBk1 = ManaReso.Get<Image>(string.Format("F_SkillBk{0}1", BarIndex));
         BarBtn = BarBk1.GetComponent<Button>();
     }
 
@@ -355,70 +345,17 @@ public class BigSkill : Skill
 
     protected override void Buy()
     {
-        if (ManaTutorial.TutorialA)
-        {
-            TutorialBuy();
-        }
-        else
-        {
-            RegularBuy();
-        }
-    }
-
-    protected override void Unlock()
-    {
-        if (ManaData.Pay(UnlockAmt, UnlockCur))
-        {
-            ShowSkillBar();
-            
-            ItemStatus = SkillStatus.Upgrade;
-
-            if (SkillTab != SkillTab.Null)
-            {
-                ItemStatus = SkillStatus.Upgrade;
-            }
-            
-            ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
-        }
-    }
-
-    protected override void Upgrade()
-    {
-        if (ManaTutorial.TutorialA || ManaTutorial.TutorialB && ManaData.Level >= 200)
-        {
-            TutorialUpgrade();
-        }
-        else
-        {
-            RegularUpgrade();
-        }
-    }
-
-    protected override void UnlockAhead()
-    {
-        if (ItemStatus != SkillStatus.Lock)
+        if (ManaServer.Connect == false)
         {
-            ManaDebug.Log("您并不需要提前解锁");
+            ManaReso.Get("Fg_Reconnect").TweenForCG();
 
             return;
         }
 
-        if (ManaData.Pay(UnlockAheadAmt, UnlockAheadCur))
+        if (!ManaData.Pay(UseAmt, BuyCur))
         {
-            ShowSkillBar();
-
-            ItemStatus = SkillStatus.Upgrade;
-
-            ManaReso.Get("Fe_Info").TweenBacCG();
-
-            ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
+            return;
         }
-    }
-
-
-    private void TutorialBuy()
-    {
-        ManaTutorial.EndStep9();
 
         ManaData.Skill++;
 
@@ -436,8 +373,8 @@ public class BigSkill : Skill
             BarLab.color = Color.blue;
         }
 
-        UseConti();
-        UseImmed();
+        UseA();
+        UseB();
 
         #region 调试输出
 
@@ -447,7 +384,7 @@ public class BigSkill : Skill
 
         if (Math.Abs(NewPlus) > 0.0005f)
         {
-            strb.AppendFormat(" 收入加成<color=red>+{0}%</color>", NewPlus*100);
+            strb.AppendFormat(" 收入加成<color=red>+{0}%</color>", NewPlus * 100);
         }
 
         if (Math.Abs(NewPerson) > 0.0005f)
@@ -457,7 +394,7 @@ public class BigSkill : Skill
 
         if (Math.Abs(NewPersonBuff) > 0.0005f)
         {
-            strb.AppendFormat(" 参观人次<color=red>+{0}%</color>", NewPersonBuff*100);
+            strb.AppendFormat(" 参观人次<color=red>+{0}%</color>", NewPersonBuff * 100);
         }
 
         if (Math.Abs(NewCoinPerson) > 0.0005f)
@@ -472,7 +409,7 @@ public class BigSkill : Skill
 
         if (Math.Abs(NewSkillCdBuff) > 0.0005f)
         {
-            strb.AppendFormat(" 减少冷却<color=red>{0}%</color>", NewSkillCdBuff*100);
+            strb.AppendFormat(" 减少冷却<color=red>{0}%</color>", NewSkillCdBuff * 100);
         }
 
         if (Math.Abs(NewCoinOnce) > 0.0005f)
@@ -482,7 +419,7 @@ public class BigSkill : Skill
 
         if (Math.Abs(NewCoinOnceBuff) > 0.0005f)
         {
-            strb.AppendFormat(" 获得金币<color=red>{0}</color>", ManaData.Person*ManaData.CoinPerson*ManaData.CircleTime*NewCoinOnceBuff);
+            strb.AppendFormat(" 获得金币<color=red>{0}</color>", ManaData.Person * ManaData.CoinPerson * ManaData.CircleTime * NewCoinOnceBuff);
         }
 
         if (Math.Abs(DiamondOnce) > 0.0005f)
@@ -504,104 +441,30 @@ public class BigSkill : Skill
         #endregion
     }
 
-    private void RegularBuy()
+    protected override void Unlock()
     {
-        if (ManaServer.Connect == false)
-        {
-            ManaReso.Get("Fg_Reconnect").TweenForCG();
-
-            return;
-        }
-
-        if (ManaData.Pay(UseAmt, BuyCur))
+        if (ManaData.Pay(UnlockAmt, UnlockCur))
         {
-            ManaData.Skill++;
-
-            UseTimer = NewDuration;
-
-            ManaData.UseList.Add(this);
-
-            if (Math.Abs(Duration) < 0.0005f)
-            {
-                BarStatus = SkillStatus.Cool;
-            }
-            else
-            {
-                BarStatus = SkillStatus.Use;
-                BarLab.color = Color.blue;
-            }
-
-            UseConti();
-            UseImmed();
-
-            #region 调试输出
-
-            StringBuilder strb = new StringBuilder();
-
-            strb.AppendFormat("使用技能 : <color=red>{0}</color>", Name);
-
-            if (Math.Abs(NewPlus) > 0.0005f)
-            {
-                strb.AppendFormat(" 收入加成<color=red>+{0}%</color>", NewPlus * 100);
-            }
-
-            if (Math.Abs(NewPerson) > 0.0005f)
-            {
-                strb.AppendFormat(" 参观人次<color=red>+{0}</color>", NewPerson);
-            }
-
-            if (Math.Abs(NewPersonBuff) > 0.0005f)
-            {
-                strb.AppendFormat(" 参观人次<color=red>+{0}%</color>", NewPersonBuff * 100);
-            }
-
-            if (Math.Abs(NewCoinPerson) > 0.0005f)
-            {
-                strb.AppendFormat(" 每次金币<color=red>+{0}</color>", NewCoinPerson);
-            }
-
-            if (Math.Abs(NewSkillCD) > 0.0005f)
-            {
-                strb.AppendFormat(" 减少冷却<color=red>{0}</color>", NewSkillCD);
-            }
-
-            if (Math.Abs(NewSkillCdBuff) > 0.0005f)
-            {
-                strb.AppendFormat(" 减少冷却<color=red>{0}%</color>", NewSkillCdBuff * 100);
-            }
-
-            if (Math.Abs(NewCoinOnce) > 0.0005f)
-            {
-                strb.AppendFormat(" 获得金币<color=red>{0}</color>", NewCoinOnce);
-            }
-
-            if (Math.Abs(NewCoinOnceBuff) > 0.0005f)
-            {
-                strb.AppendFormat(" 获得金币<color=red>{0}</color>", ManaData.Person * ManaData.CoinPerson * ManaData.CircleTime * NewCoinOnceBuff);
-            }
-
-            if (Math.Abs(DiamondOnce) > 0.0005f)
-            {
-                strb.AppendFormat(" 获得钻石<color=red>{0}</color>", DiamondOnce);
-            }
+            ShowSkillBar();
+            
+            ItemStatus = SkillStatus.Upgrade;
 
-            if (Math.Abs(NewDuration) > 0.0005f)
-            {
-                strb.AppendFormat(" 持续时间<color=red>{0}</color>秒", NewDuration);
-            }
-            else
+            if (SkillTab != SkillTab.Null)
             {
-                strb.Append(" <color=red>永久有效</color>");
+                ItemStatus = SkillStatus.Upgrade;
             }
-
-            ManaDebug.Log(strb.ToString());
-
-            #endregion
+            
+            ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
         }
     }
 
-    private void TutorialUpgrade()
+    protected override void Upgrade()
     {
+        if (!ManaData.Pay(NewUpgradeAmt, UpgradeCur))
+        {
+            return;
+        }
+
         if (Level == 0)
         {
             BarStatus = SkillStatus.Buy;
@@ -615,7 +478,7 @@ public class BigSkill : Skill
 
         if (BarStatus == SkillStatus.Use)
         {
-            AnnulConti();
+            AnnulA();
         }
 
         NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
@@ -631,65 +494,30 @@ public class BigSkill : Skill
         UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, 1);
         UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
 
-        ManaLan.Add(ItemTit, new LanStr("SkillName", ID), " ", Level.ToString());
-        ItemLab.text = Description(0);
-        ManaReso.SetText("Fe_Lab0", Description(0));
-        ManaReso.SetText("Fe_Lab1", Description(1));
-        ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
-
-        ManaDebug.Log(string.Format("<color=red>{0}</color> 升级 : {1}", Name, Level));
-
         if (BarStatus == SkillStatus.Use)
         {
-            UseConti();
+            UseA();
         }
     }
 
-    private void RegularUpgrade()
+    protected override void UnlockAhead()
     {
-        if (ManaData.Pay(NewUpgradeAmt, UpgradeCur))
+        if (ItemStatus != SkillStatus.Lock)
         {
-            if (Level == 0)
-            {
-                BarStatus = SkillStatus.Buy;
-
-                BarBk1.material = null;
-
-                return;
-            }
-
-            Level++;
-
-            if (BarStatus == SkillStatus.Use)
-            {
-                AnnulConti();
-            }
-
-            NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
+            ManaDebug.Log("您并不需要提前解锁");
 
-            UpgradeValue(ref NewPlus, Plus, UpgradePlus, 1);
-            UpgradeValue(ref NewSkillCdBuff, UpgradeCD, 1);
-            UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
-            UpgradeValue(ref NewCoinOnceBuff, UpgradeCoinOnce, 1);
+            return;
+        }
 
-            UpgradeValue(ref NewPerson, Person, UpgradePerson, 1);
-            UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, 1);
-            UpgradeValue(ref NewDuration, Duration, UpgradeDuration, 1);
-            UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, 1);
-            UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
+        if (ManaData.Pay(UnlockAheadAmt, UnlockAheadCur))
+        {
+            ShowSkillBar();
 
-            ManaLan.Add(ItemTit, new LanStr("SkillName", ID), " ", Level.ToString());
-            ItemLab.text = Description(0);
-            ManaReso.SetText("Fe_Lab0", Description(0));
-            ManaReso.SetText("Fe_Lab1", Description(1));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
+            ItemStatus = SkillStatus.UnLock;
 
-            ManaDebug.Log(string.Format("<color=red>{0}</color> 升级 : {1}", Name, Level));
+            ManaReso.Get("Fe_Info").TweenBacCG();
 
-            if (BarStatus == SkillStatus.Use)
-            {
-                UseConti();
-            }
+            ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
         }
     }
 }

+ 21 - 20
Assets/Script/Object/Skill/Pack.cs

@@ -38,31 +38,31 @@ public class Pack : SkillRoot
 
     #endregion
 
-    public SkillStatus _ItemStatus;
+    public SkillStatus ItemStatus_;
 
     public SkillStatus ItemStatus
     {
-        get { return _ItemStatus; }
+        get { return ItemStatus_; }
         set
         {
-            _ItemStatus = value;
+            ItemStatus_ = value;
 
-            if (_ItemStatus == SkillStatus.Buy)
+            if (ItemStatus_ == SkillStatus.Buy)
             {
                 ItemBtn.interactable = true;
 
+                SkillItem.SetActive(true);
+
                 ManaLan.Add(ItemBtnLab, ImageParse(BuyCur), UseAmt.ToString("0"), "\n", new LanStr("UI", "Fe_BtnLab3"));
             }
-            else if (_ItemStatus == SkillStatus.Lock)
+            else if (ItemStatus_ == SkillStatus.Lock)
             {
                 ItemBtn.interactable = false;
 
+                SkillItem.SetActive(false);
+
                 ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab5"), "\n", new LanStr("UI", "Fe_BtnLab4"), MinUseLv.ToString(), "-", MaxUseLv.ToString());
             }
-            else
-            {
-                throw new Exception(_ItemStatus.ToString());
-            }
         }
     }
 
@@ -73,12 +73,12 @@ public class Pack : SkillRoot
         #region 配置
 
         ID_ = int.Parse(attribute[0].Value);
-        Icon = attribute[14].Value;
+        Icon_ = attribute[14].Value;
         Anim = attribute[15].Value;
         Label = attribute[16].Value;
         Flower = attribute[9].Value;
 
-        ClassID = IntParse(attribute[3].Value);
+        ItemIndex = IntParse(attribute[3].Value);
         UseAmt = FloatParse(attribute[12].Value);
         CoinOnce = FloatParse(attribute[7].Value);
         DiamondOnce = FloatParse(attribute[8].Value);
@@ -98,22 +98,23 @@ public class Pack : SkillRoot
     }
 
 
-    public override void RegistValue(float elapse, List<List<Skill>> ffList, XmlAttributeCollection attribute)
+    public override void RegistValue(float elapse, List<List<Skill>> useList, XmlAttributeCollection attribute)
     {
         Level = int.Parse(attribute[3].Value);
 
-        _ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
-
-        ManaLan.Add(ItemTit, new LanStr("SkillName", ID));
+        ItemStatus_ = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
 
+        RegistName(ItemTit);
+        
         ItemLab.text = Description(0);
+
         ItemBtn.onClick.AddListener(OnClick);
 
         for (int i = 0; i < Level; i++)
         {
             ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁 等级 : {1}", Name, Level));
 
-            UseConti();
+            UseA();
         }
     }
 
@@ -241,15 +242,15 @@ public class Pack : SkillRoot
 
             #endregion
 
-            UseConti();
-            UseImmed();
+            UseA();
+            UseB();
 
             Level++;
         }
     }
 
 
-    protected void UseConti()
+    protected void UseA()
     {
         if (!string.IsNullOrEmpty(Flower))
         {
@@ -288,7 +289,7 @@ public class Pack : SkillRoot
         }
     }
 
-    protected void UseImmed()
+    protected void UseB()
     {
         ManaData.Coin += CoinOnce;
         ManaData.Diamond += DiamondOnce;

+ 211 - 359
Assets/Script/Object/Skill/Skill.cs

@@ -72,50 +72,52 @@ public class Skill : SkillRoot
     protected float NewCoinOnceBuff;
     protected double NewUpgradeAmt;
 
-    public SkillStatus ItemStatus
+    public virtual SkillStatus ItemStatus
     {
-        get { return _ItemStatus; }
+        get { return ItemStatus_; }
         set
         {
-            _ItemStatus = value;
+            ItemStatus_ = value;
 
             if (SkillTab == SkillTab.Null)
             {
                 return;
             }
 
-            if (_ItemStatus == SkillStatus.Cool)
+            if (ItemStatus_ == SkillStatus.Buy)
             {
-                ManaData.CoolList.Add(this);
-            }
-            else if (_ItemStatus == SkillStatus.Buy)
-            {
-                ManaLan.Add(ItemBtnLab, ImageParse(BuyCur), UseAmt.ToString("0"), "\n", new LanStr("UI", "Fe_BtnLab3"));
-            }
-            else if (_ItemStatus == SkillStatus.Use)
-            {
-                
+                if (BuyCur == Current.AD)
+                {
+                    ManaLan.Add(ItemBtnLab, new LanStr("Common", "AD"));
+                }
+                else
+                {
+                    ManaLan.Add(ItemBtnLab, ImageParse(BuyCur), UseAmt.ToString("0"), "\n", new LanStr("UI", "Fe_BtnLab3"));
+                }
             }
-            else if (_ItemStatus == SkillStatus.Lock)
+            else if (ItemStatus_ == SkillStatus.Lock)
             {
                 ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab0"), "\n", new LanStr("UI", "Fe_BtnLab4"), UnlockLv.ToString());
             }
-            else if (_ItemStatus == SkillStatus.UnLock)
+            else if (ItemStatus_ == SkillStatus.UnLock)
             {
-                ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"));
+                if (UnlockCur == Current.Free)
+                {
+                    ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"));
+                }
+                else
+                {
+                    ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab1"), "\n", ImageParse(UnlockCur), UnlockAmt.ToString("0"));
+                }
             }
-            else if (_ItemStatus == SkillStatus.Upgrade)
+            else if (ItemStatus_ == SkillStatus.Upgrade)
             {
                 ManaLan.Add(ItemBtnLab, new LanStr("UI", "Fe_BtnLab2"));
             }
-            else
-            {
-                throw new Exception();
-            }
         }
     }
 
-    public SkillStatus _ItemStatus;
+    public SkillStatus ItemStatus_;
 
     #endregion
 
@@ -124,7 +126,7 @@ public class Skill : SkillRoot
         #region 配置
 
         ID_ = int.Parse(attribute[0].Value);
-        Icon = attribute[30].Value;
+        Icon_ = attribute[30].Value;
         Anim = attribute[31].Value;
         Label = attribute[32].Value;
 
@@ -136,7 +138,7 @@ public class Skill : SkillRoot
         UpgradeDuration = attribute[27].Value;
         UpgradeCoinOnce = attribute[26].Value;
 
-        ClassID = IntParse(attribute[3].Value);
+        ItemIndex = IntParse(attribute[3].Value);
         UnlockLv = IntParse(attribute[13].Value);
 
         CD = FloatParse(attribute[12].Value);
@@ -178,8 +180,6 @@ public class Skill : SkillRoot
         {
             ItemStatus = SkillStatus.Buy;
 
-            ManaData.CoolList.Remove(this);
-
             ManaDebug.Log(string.Format("技能<color=red>{0}</color>已冷却", Name));
 
             return true;
@@ -195,15 +195,17 @@ public class Skill : SkillRoot
     {
         CoolTimer = CD * (1 + CdBuff);
         
+        ManaData.CoolList.Add(this);
+
         ItemStatus = SkillStatus.Cool;
         ItemBtnLab.color = Color.white;
 
-        AnnulConti();
+        AnnulA();
 
         ManaDebug.Log(string.Format("技能结束 <color=red>{0}</color>", Name));
     }
 
-    public virtual void AnnulConti()
+    public virtual void AnnulA()
     {
         ManaData.SkillPlus -= NewPlus;
         ManaData.SkillPerson -= NewPerson;
@@ -237,8 +239,6 @@ public class Skill : SkillRoot
         {
             Annul();
 
-            ManaData.UseList.Remove(this);
-
             return true;
         }
         else
@@ -253,24 +253,24 @@ public class Skill : SkillRoot
         {
             if (ItemStatus == SkillStatus.Lock)
             {
-                if (UnlockCur == Current.Free)
+                if (BuyCur == Current.Free)
                 {
-                    Unlock();
+                    ItemStatus = SkillStatus.UnLock;
                 }
                 else
                 {
-                    ItemStatus = SkillStatus.UnLock;
+                    ItemStatus = SkillStatus.Buy;
                 }
             }
         }
     }
 
-    public override void RegistValue(float elapse, List<List<Skill>> ffList, XmlAttributeCollection attribute)
+    public override void RegistValue(float elapse, List<List<Skill>> useList, XmlAttributeCollection attribute)
     {
         Level = int.Parse(attribute[3].Value);
         UseTimer = float.Parse(attribute[5].Value);
         CoolTimer = float.Parse(attribute[4].Value);
-        _ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
+        ItemStatus = (SkillStatus)Enum.Parse(typeof(SkillStatus), attribute[2].Value);
 
         NewPlus = Plus;
         NewPerson = Person;
@@ -283,32 +283,27 @@ public class Skill : SkillRoot
         NewUpgradeAmt = UpgradeAmt;
         NewCoinOnceBuff = CoinOnceBuff;
 
-        ManaLan.Add(ItemTit, new LanStr("SkillName", ID));
         ItemLab.text = Description(0);
 
         ItemBtn.onClick.AddListener(OnClick);
 
-        if (_ItemStatus != SkillStatus.Lock && _ItemStatus != SkillStatus.UnLock)
-        {
-            ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
-        }
-        else if (_ItemStatus == SkillStatus.Use)
+        if (ItemStatus == SkillStatus.Use)
         {
-            UseConti();
+            UseA();
 
             if (UseTimer < elapse)
             {
-                if (ffList.Count > 0)
+                if (useList.Count > 0)
                 {
                     if (UseTimer < ManaData.CircleTimer)
                     {
-                        ffList[0].UniqueAdd(this);
+                        useList[0].UniqueAdd(this);
                     }
                     else
                     {
-                        int ffCircle = 1 + Mathf.FloorToInt((float)(UseTimer - ManaData.CircleTimer / ManaData.CircleTime));
+                        int ffCircle = 1 + Mathf.FloorToInt(UseTimer - ManaData.CircleTimer / ManaData.CircleTime);
 
-                        ffList[ffCircle].UniqueAdd(this);
+                        useList[ffCircle].UniqueAdd(this);
                     }
                 }
             }
@@ -319,12 +314,15 @@ public class Skill : SkillRoot
                 ItemBtnLab.color = Color.blue;
             }
         }
-        else if (_ItemStatus == SkillStatus.Cool)
+        else if (ItemStatus == SkillStatus.Cool)
         {
             CoolTimer -= elapse;
         }
 
-        ItemStatus = ItemStatus;
+        if (ItemStatus != SkillStatus.Lock && ItemStatus != SkillStatus.UnLock)
+        {
+            ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
+        }
     }
 
     public override void ReceiveCool(float amt, bool current, bool buff)
@@ -366,209 +364,22 @@ public class Skill : SkillRoot
 
     protected void OnClick()
     {
-        if (ManaTutorial.TutorialA)
-        {
-            TutorialClick();
-        }
-        else
-        {
-            RegularClick();
-        }
-    }
-
-    protected void UseConti()
-    {
-        ManaData.SkillPlus += NewPlus;
-        ManaData.SkillPerson += NewPerson;
-        ManaData.SkillPersonBuff += NewPersonBuff;
-        ManaData.SkillCoinPerson += NewCoinPerson;
-
-        if (Math.Abs(NewSkillCD) > 0.0005f)
-        {
-            for (int i = 0; i < ManaData.SkillList.Count; i++)
-            {
-                ManaData.SkillList[i].ReceiveCool(NewSkillCD, true, false);
-            }
-        }
-
-        if (Math.Abs(NewSkillCdBuff) > 0.0005f)
-        {
-            for (int i = 0; i < ManaData.SkillList.Count; i++)
-            {
-                ManaData.SkillList[i].ReceiveCool(NewSkillCdBuff, true, true);
-            }
-        }
-    }
-
-    protected void UseImmed()
-    {
-        ManaData.Coin += NewCoinOnce;
-        ManaData.Coin += ManaData.CoinPerson * NewCoinOnceBuff;
-        ManaData.Diamond += DiamondOnce;
-    }
-
-
-    protected virtual void Buy()
-    {
-        if (ManaData.Pay(UseAmt, BuyCur))
+        if (!ManaServer.Connect)
         {
-            ManaData.Skill++;
-
-            UseTimer = NewDuration;
-
-            ManaData.UseList.Add(this);
-
-            if (Math.Abs(Duration) < 0.0005f)
-            {
-                ItemStatus = SkillStatus.Cool;
-            }
-            else
-            {
-                ItemStatus = SkillStatus.Use;
-
-                ItemBtnLab.color = Color.blue;
-            }
-
-            UseConti();
-            UseImmed();
-
-            #region 调试
-
-            StringBuilder strb = new StringBuilder();
-
-            strb.AppendFormat("使用技能 : <color=red>{0}</color>", Name);
-
-            if (Math.Abs(NewPlus) > 0.0005f)
-            {
-                strb.AppendFormat(" 收入加成<color=red>+{0}%</color>", NewPlus * 100);
-            }
-
-            if (Math.Abs(NewPerson) > 0.0005f)
-            {
-                strb.AppendFormat(" 参观人次<color=red>+{0}</color>", NewPerson);
-            }
-
-            if (Math.Abs(NewPersonBuff) > 0.0005f)
-            {
-                strb.AppendFormat(" 参观人次<color=red>+{0}%</color>", NewPersonBuff * 100);
-            }
-
-            if (Math.Abs(NewCoinPerson) > 0.0005f)
-            {
-                strb.AppendFormat(" 每次金币<color=red>+{0}</color>", NewCoinPerson);
-            }
-
-            if (Math.Abs(NewSkillCD) > 0.0005f)
-            {
-                strb.AppendFormat(" 减少冷却<color=red>{0}</color>", NewSkillCD);
-            }
-
-            if (Math.Abs(NewSkillCdBuff) > 0.0005f)
-            {
-                strb.AppendFormat(" 减少冷却<color=red>{0}%</color>", NewSkillCdBuff * 100);
-            }
-
-            if (Math.Abs(NewCoinOnce) > 0.0005f)
-            {
-                strb.AppendFormat(" 获得金币<color=red>{0}</color>", NewCoinOnce);
-            }
-
-            if (Math.Abs(NewCoinOnceBuff) > 0.0005f)
-            {
-                strb.AppendFormat(" 获得金币<color=red>{0}</color>", ManaData.Person * ManaData.CoinPerson * ManaData.CircleTime * NewCoinOnceBuff);
-            }
-
-            if (Math.Abs(DiamondOnce) > 0.0005f)
-            {
-                strb.AppendFormat(" 获得钻石<color=red>{0}</color>", DiamondOnce);
-            }
-
-            if (Math.Abs(NewDuration) > 0.0005f)
-            {
-                strb.AppendFormat(" 持续时间<color=red>{0}</color>秒", NewDuration);
-            }
-            else
-            {
-                strb.Append(" <color=red>永久有效</color>");
-            }
-
-            ManaDebug.Log(strb.ToString());
-
-            #endregion
-        }
-    }
-
-    protected virtual void Unlock()
-    {
-        if (ManaData.Pay(UnlockAmt, UnlockCur))
-        {
-            if (BuyCur != Current.Free)
-            {
-                ItemStatus = SkillStatus.Buy;
-            }
-            else if (UpgradeCur != Current.Free)
-            {
-                ItemStatus = SkillStatus.Upgrade;
-            }
-            else
-            {
-                throw new Exception();
-            }
-
-            ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
-        }
-    }
-
-    protected virtual void Upgrade()
-    {
-        if (ManaTutorial.TutorialA || ManaTutorial.TutorialB && ManaData.Level >= 200)
-        {
-            TutorialUpgrade();
-        }
-        else
-        {
-            RegularUpgrade();
-        }
-    }
-
-    protected virtual void UnlockAhead()
-    {
-        if (ItemStatus != SkillStatus.Lock)
-        {
-            ManaDebug.Log("您并不需要提前解锁");
+            ManaReso.Get("Fg_Reconnect").TweenForCG();
 
             return;
         }
 
-        if (ManaData.Pay(UnlockAheadAmt, UnlockAheadCur))
-        {
-            if (BuyCur != Current.Free)
-            {
-                ItemStatus = SkillStatus.Buy;
-            }
-            else if (UpgradeCur != Current.Free)
-            {
-                ItemStatus = SkillStatus.Upgrade;
-            }
-            else
-            {
-                throw new Exception();
-            }
-
-            ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
-        }
-    }
-    
-
-    private void TutorialClick()
-    {
         ManaReso.Get("Fe_Info").TweenForCG();
 
-        ManaReso.SetText("Fe_Tit", Name);
-        ManaReso.SetSprite("Fe_Icon", ItemIcon.sprite);
+        ManaReso.SetText("Fe_Tit", NameParse());
+
+        ManaReso.SetSprite("Fe_Icon", Icon);
 
         if (ItemStatus == SkillStatus.Buy)
         {
+            ManaReso.SetText("Fe_Lab0", "");
             ManaReso.SetText("Fe_Lab1", Description(0));
             ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab3"), ImageParse(BuyCur), UseAmt));
 
@@ -619,134 +430,190 @@ public class Skill : SkillRoot
         }
         else if (ItemStatus == SkillStatus.Upgrade)
         {
-            Tutorial.HightDisable(0, true);
-
             ManaReso.SetText("Fe_Lab0", Description(0));
             ManaReso.SetText("Fe_Lab1", Description(1));
             ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
-            
-            if (ManaTutorial.TutorialA)
-            {
-                ManaReso.AddButtonEventOnetime
-                (
-                    "Fe_Btn",
-                    () =>
-                    {
-                        Upgrade();
 
-                        ManaReso.Get("Fe_Info").TweenBacCG();
+            ManaReso.SetButtonEvent
+            (
+                "Fe_Btn",
+                () =>
+                {
+                    Upgrade();
+
+                    ItemLab.text = Description(0);
 
-                        ManaTutorial.EndStep8();
-                    }
-                );
-            }
+                    ManaReso.SetText("Fe_Tit", NameParse());
+                    ManaReso.SetText("Fe_Lab0", Description(0));
+                    ManaReso.SetText("Fe_Lab1", Description(1));
+
+                    ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
+
+                    ManaDebug.Log(string.Format("<color=red>{0}</color>升级 : {1}", Name, Level));
+                }
+            );
         }
-        else if (ItemStatus == SkillStatus.Use)
-        {
+    }
+
+    protected void UseA()
+    {
+        ManaData.UseList.Add(this);
 
+        ManaData.SkillPlus += NewPlus;
+        ManaData.SkillPerson += NewPerson;
+        ManaData.SkillPersonBuff += NewPersonBuff;
+        ManaData.SkillCoinPerson += NewCoinPerson;
+
+        if (Math.Abs(NewSkillCD) > 0.0005f)
+        {
+            for (int i = 0; i < ManaData.SkillList.Count; i++)
+            {
+                ManaData.SkillList[i].ReceiveCool(NewSkillCD, true, false);
+            }
         }
-        else
+
+        if (Math.Abs(NewSkillCdBuff) > 0.0005f)
         {
-            throw new Exception();
+            for (int i = 0; i < ManaData.SkillList.Count; i++)
+            {
+                ManaData.SkillList[i].ReceiveCool(NewSkillCdBuff, true, true);
+            }
         }
     }
 
-    private void RegularClick()
+    protected void UseB()
     {
-        if (ManaServer.Connect == false)
-        {
-            ManaReso.Get("Fg_Reconnect").TweenForCG();
+        ManaData.Coin += NewCoinOnce;
+        ManaData.Coin += ManaData.CoinPerson * NewCoinOnceBuff;
+        ManaData.Diamond += DiamondOnce;
+    }
+
 
+    protected virtual void Buy()
+    {
+        if (!ManaData.Pay(UseAmt, BuyCur))
+        {
             return;
         }
 
-        ManaReso.Get("Fe_Info").TweenForCG();
+        ManaData.Skill++;
 
-        ManaReso.SetText("Fe_Tit", Name);
-        ManaReso.SetSprite("Fe_Icon", ItemIcon.sprite);
+        UseTimer = NewDuration;
 
-        if (ItemStatus == SkillStatus.Buy)
+        if (Math.Abs(Duration) < 0.0005f)
         {
-            ManaReso.SetText("Fe_Lab1", Description(0));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab3"), ImageParse(BuyCur), UseAmt));
+            ItemStatus = SkillStatus.Cool;
+        }
+        else
+        {
+            ItemStatus = SkillStatus.Use;
 
-            ManaReso.SetButtonEvent
-            (
-                "Fe_Btn",
-                () =>
-                {
-                    Buy();
+            ItemBtnLab.color = Color.blue;
+        }
 
-                    ManaReso.Get("Fe_Info").TweenBacCG();
-                }
-            );
+        UseA();
+        UseB();
+
+        #region 调试
+
+        StringBuilder strb = new StringBuilder();
+
+        strb.AppendFormat("使用技能 : <color=red>{0}</color>", Name);
+
+        if (Math.Abs(NewPlus) > 0.0005f)
+        {
+            strb.AppendFormat(" 收入加成<color=red>+{0}%</color>", NewPlus*100);
         }
-        else if (ItemStatus == SkillStatus.Lock)
+
+        if (Math.Abs(NewPerson) > 0.0005f)
         {
-            ManaReso.SetText("Fe_Lab0", "");
-            ManaReso.SetText("Fe_Lab1", Description(0));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab0"), ImageParse(UnlockAheadCur), UnlockAheadAmt));
+            strb.AppendFormat(" 参观人次<color=red>+{0}</color>", NewPerson);
+        }
 
-            ManaReso.SetButtonEvent
-            (
-                "Fe_Btn",
-                () =>
-                {
-                    UnlockAhead();
+        if (Math.Abs(NewPersonBuff) > 0.0005f)
+        {
+            strb.AppendFormat(" 参观人次<color=red>+{0}%</color>", NewPersonBuff*100);
+        }
 
-                    ManaReso.Get("Fe_Info").TweenBacCG();
-                }
-            );
+        if (Math.Abs(NewCoinPerson) > 0.0005f)
+        {
+            strb.AppendFormat(" 每次金币<color=red>+{0}</color>", NewCoinPerson);
         }
-        else if (ItemStatus == SkillStatus.UnLock)
+
+        if (Math.Abs(NewSkillCD) > 0.0005f)
         {
-            ManaReso.SetText("Fe_Lab0", "");
-            ManaReso.SetText("Fe_Lab1", Description(0));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab1"), ImageParse(UnlockCur), UnlockAmt));
+            strb.AppendFormat(" 减少冷却<color=red>{0}</color>", NewSkillCD);
+        }
 
-            ManaReso.SetButtonEvent
-            (
-                "Fe_Btn",
-                () =>
-                {
-                    Unlock();
+        if (Math.Abs(NewSkillCdBuff) > 0.0005f)
+        {
+            strb.AppendFormat(" 减少冷却<color=red>{0}%</color>", NewSkillCdBuff*100);
+        }
 
-                    ManaReso.Get("Fe_Info").TweenBacCG();
-                }
-            );
+        if (Math.Abs(NewCoinOnce) > 0.0005f)
+        {
+            strb.AppendFormat(" 获得金币<color=red>{0}</color>", NewCoinOnce);
         }
-        else if (ItemStatus == SkillStatus.Upgrade)
+
+        if (Math.Abs(NewCoinOnceBuff) > 0.0005f)
         {
-            ManaReso.SetText("Fe_Lab0", Description(0));
-            ManaReso.SetText("Fe_Lab1", Description(1));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
+            strb.AppendFormat(" 获得金币<color=red>{0}</color>", ManaData.Person*ManaData.CoinPerson*ManaData.CircleTime*NewCoinOnceBuff);
+        }
 
-            ManaReso.SetButtonEvent
-            (
-                "Fe_Btn",
-                () =>
-                {
-                    Upgrade();
-                }
-            );
+        if (Math.Abs(DiamondOnce) > 0.0005f)
+        {
+            strb.AppendFormat(" 获得钻石<color=red>{0}</color>", DiamondOnce);
+        }
+
+        if (Math.Abs(NewDuration) > 0.0005f)
+        {
+            strb.AppendFormat(" 持续时间<color=red>{0}</color>秒", NewDuration);
         }
-        else if (ItemStatus == SkillStatus.Use)
+        else
         {
+            strb.Append(" <color=red>永久有效</color>");
+        }
 
+        ManaDebug.Log(strb.ToString());
+
+        #endregion
+    }
+
+    protected virtual void Unlock()
+    {
+        if (!ManaData.Pay(UnlockAmt, UnlockCur))
+        {
+            return;
+        }
+
+        if (BuyCur != Current.Free)
+        {
+            ItemStatus = SkillStatus.Buy;
+        }
+        else if (UpgradeCur != Current.Free)
+        {
+            ItemStatus = SkillStatus.Upgrade;
         }
         else
         {
             throw new Exception();
         }
+
+        ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
     }
 
-    private void TutorialUpgrade()
+    protected virtual void Upgrade()
     {
+        if (!ManaData.Pay(NewUpgradeAmt, UpgradeCur))
+        {
+            return;
+        }
+
         Level++;
 
         if (ItemStatus == SkillStatus.Use)
         {
-            AnnulConti();
+            AnnulA();
         }
 
         NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
@@ -762,55 +629,40 @@ public class Skill : SkillRoot
         UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, 1);
         UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
 
-        ItemLab.text = Description(0);
-        ManaReso.SetText("Fe_Lab0", Description(0));
-        ManaReso.SetText("Fe_Lab1", Description(1));
-        ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
-
-        ManaDebug.Log(string.Format("<color=red>{0}</color>升级 : {1}", Name, Level));
-
         if (ItemStatus == SkillStatus.Use)
         {
-            UseConti();
+            UseA();
         }
     }
 
-    private void RegularUpgrade()
+    protected virtual void UnlockAhead()
     {
-        if (ManaData.Pay(NewUpgradeAmt, UpgradeCur))
+        if (ItemStatus != SkillStatus.Lock)
         {
-            Level++;
-
-            if (ItemStatus == SkillStatus.Use)
-            {
-                AnnulConti();
-            }
-
-            NewUpgradeAmt = Auxiliary.FmlParse(UpgradeFml, "a", NewUpgradeAmt.ToString());
-
-            UpgradeValue(ref NewPlus, Plus, UpgradePlus, 1);
-            UpgradeValue(ref NewSkillCdBuff, UpgradeCD, 1);
-            UpgradeValue(ref NewPersonBuff, PersonBuff, UpgradePerson, 1);
-            UpgradeValue(ref NewCoinOnceBuff, UpgradeCoinOnce, 1);
-
-            UpgradeValue(ref NewPerson, Person, UpgradePerson, 1);
-            UpgradeValue(ref NewSkillCD, SkillCD, UpgradeCD, 1);
-            UpgradeValue(ref NewDuration, Duration, UpgradeDuration, 1);
-            UpgradeValue(ref NewCoinOnce, CoinOnce, UpgradeCoinOnce, 1);
-            UpgradeValue(ref NewCoinPerson, CoinPerson, UpgradePlus, 1);
+            ManaDebug.Log("您并不需要提前解锁");
 
-            ItemLab.text = Description(0);
-            ManaReso.SetText("Fe_Lab0", Description(0));
-            ManaReso.SetText("Fe_Lab1", Description(1));
-            ManaReso.SetText("Fe_BtnLab", string.Format("{0}({1}{2:0})", Language.GetStr("UI", "Fe_BtnLab2"), ImageParse(UpgradeCur), NewUpgradeAmt));
+            return;
+        }
 
-            ManaDebug.Log(string.Format("<color=red>{0}</color>升级 : {1}", Name, Level));
+        if (!ManaData.Pay(UnlockAheadAmt, UnlockAheadCur))
+        {
+            return;
+        }
 
-            if (ItemStatus == SkillStatus.Use)
-            {
-                UseConti();
-            }
+        if (BuyCur != Current.Free)
+        {
+            ItemStatus = SkillStatus.Buy;
+        }
+        else if (UpgradeCur != Current.Free)
+        {
+            ItemStatus = SkillStatus.UnLock;
         }
+        else
+        {
+            throw new Exception();
+        }
+
+        ManaDebug.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
     }
 
     #region 解读器

+ 57 - 19
Assets/Script/Object/Skill/SkillRoot.cs

@@ -69,14 +69,31 @@ public abstract class SkillRoot
         get { throw new Exception(); }
     }
 
+    public Sprite Icon
+    {
+        get { return ManaReso.Load<Sprite>(Icon_, Folder.UI); }
+    }
+
     public int ID_;
 
-    public int ClassID;
-    public string Icon;
+    public int ItemIndex;
+    public string Icon_;
 
     #endregion
 
-    public int Level;
+    public int Level
+    {
+        get { return Level_; }
+        set
+        {
+            Level_ = value;
+
+            RegistName(ItemTit);
+        }
+    }
+
+    public int Level_;
+
     public Text ItemTit;
     public Text ItemLab;
     public Text ItemBtnLab;
@@ -86,22 +103,22 @@ public abstract class SkillRoot
     public SkillType SkillType;
     public Transform SkillItem;
 
-    public abstract void RegistValue(float elapse, List<List<Skill>> ffList, XmlAttributeCollection attribute);
+    public abstract void RegistValue(float elapse, List<List<Skill>> useList, XmlAttributeCollection attribute);
     public abstract void UpdateStatus();
 
     #endregion
 
     public static int Sort(SkillRoot skillRootA, SkillRoot skillRootB)
     {
-        if (skillRootA.ClassID == skillRootB.ClassID)
+        if (skillRootA.ItemIndex == skillRootB.ItemIndex)
         {
             return 0;
         }
-        else if (skillRootA.ClassID > skillRootB.ClassID)
+        else if (skillRootA.ItemIndex > skillRootB.ItemIndex)
         {
             return 1;
         }
-        else if (skillRootA.ClassID < skillRootB.ClassID)
+        else if (skillRootA.ItemIndex < skillRootB.ItemIndex)
         {
             return -1;
         }
@@ -153,7 +170,7 @@ public abstract class SkillRoot
         ItemIcon = childDic["Icon"].GetComponent<Image>();
         ItemBtnLab = childDic["BtnLab"].GetComponent<Text>();
 
-        ItemIcon.sprite = ManaReso.Load<Sprite>(Icon, Folder.UI);
+        ItemIcon.sprite = Icon;
     }
 
     #region 解读器
@@ -194,6 +211,35 @@ public abstract class SkillRoot
         }
     }
 
+    protected void RegistName(Text text)
+    {
+        if (SkillTab == SkillTab.Null)
+        {
+            return;
+        }
+
+        if (Level == 0)
+        {
+            ManaLan.Add(text, new LanStr("SkillName", ID));
+        }
+        else
+        {
+            ManaLan.Add(text, new LanStr("SkillName", ID), Level);
+        }
+    }
+
+    protected string NameParse()
+    {
+        if (Level == 0)
+        {
+            return Language.GetStr("SkillName", ID);
+        }
+        else
+        {
+            return Language.GetStr("SkillName", ID) + Level;
+        }
+    }
+
     protected string ImageParse(Current current)
     {
         if (current == Current.Coin)
@@ -206,15 +252,11 @@ public abstract class SkillRoot
         }
         else if (current == Current.Cash)
         {
-            return "<(现金)>";
-        }
-        else if (current == Current.AD)
-        {
-            return "<(广告)>";
+            return Language.GetStr("Common", "Cash");
         }
         else
         {
-            throw new Exception();
+            throw new Exception(current.ToString());
         }
     }
 
@@ -303,11 +345,7 @@ public abstract class SkillRoot
 
     protected void UpgradeValue(ref float target, string fml, int offet)
     {
-        if (string.IsNullOrEmpty(fml))
-        {
-
-        }
-        else if (fml.Contains("%"))
+        if (fml.Contains("%"))
         {
             target += (float.Parse(fml.Replace("%", ""))/100)*offet;
         }

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

@@ -72,7 +72,7 @@ public class TweenRect : Tween
 
     public TweenRect(RectTransform target, Vector2 origin, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve,bool cg=false) : base(cg,target)
     {
-        CG = target.GetComponent<CanvasGroup>();
+        CanvasGroup = target.GetComponent<CanvasGroup>();
         Func = ManaAnim.CurveFuncDicV[curve];
         Target = target;
 

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

@@ -73,7 +73,7 @@ public class TweenScale : Tween
 
     public TweenScale(Transform target, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve,bool cg = false) : base(cg,target)
     {
-        CG = target.GetComponent<CanvasGroup>();
+        CanvasGroup = target.GetComponent<CanvasGroup>();
         Func = ManaAnim.CurveFuncDicV[curve];
         Target = target;
 

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

@@ -116,7 +116,7 @@ public class TweenVec : Tween
 
     public TweenVec(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false) : base(cg,target)
     {
-        CG = target.GetComponent<CanvasGroup>();
+        CanvasGroup = target.GetComponent<CanvasGroup>();
         Func = ManaAnim.CurveFuncDicV[curve];
         Target = target;
 

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

@@ -14,6 +14,7 @@ using System.Collections.Generic;
 using System.Security.Cryptography;
 using System.Runtime.Serialization.Formatters.Binary;
 
+using Random = UnityEngine.Random;
 using Transform = UnityEngine.Transform;
 
 public class Auxiliary : MonoBehaviour 
@@ -74,6 +75,16 @@ public class Auxiliary : MonoBehaviour
     {
         #region 调试
 
+        //if (Input.GetKeyDown(KeyCode.Z))
+        //{
+        //    ManaServer.Save();
+        //}
+
+        //if (Input.GetKeyDown(KeyCode.X))
+        //{
+        //    ManaServer.Load();
+        //}
+
         if (Input.GetKeyDown(KeyCode.P))
         {
             ManaData.Level += 20;

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

@@ -144,7 +144,7 @@ public class Data
                 xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = skill.ID_.ToString();
+                xmlAttribute.Value = skill.ID.ToString();
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = skill.SkillType.ToString();
@@ -174,7 +174,7 @@ public class Data
                 xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = pack.ID_.ToString();
+                xmlAttribute.Value = pack.ID.ToString();
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = pack.SkillType.ToString();
@@ -198,7 +198,7 @@ public class Data
                 xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = ability.ID_.ToString();
+                xmlAttribute.Value = ability.ID.ToString();
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = ability.SkillType.ToString();
@@ -222,7 +222,7 @@ public class Data
                 xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = bigSkill.ID_.ToString();
+                xmlAttribute.Value = bigSkill.ID.ToString();
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = bigSkill.SkillType.ToString();
@@ -350,7 +350,7 @@ public class Data
                 xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = skill.ID_.ToString();
+                xmlAttribute.Value = skill.ID.ToString();
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = skill.SkillType.ToString();
@@ -380,7 +380,7 @@ public class Data
                 xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = pack.ID_.ToString();
+                xmlAttribute.Value = pack.ID.ToString();
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = pack.SkillType.ToString();
@@ -404,7 +404,7 @@ public class Data
                 xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = ability.ID_.ToString();
+                xmlAttribute.Value = ability.ID.ToString();
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = ability.SkillType.ToString();
@@ -428,7 +428,7 @@ public class Data
                 xmlNode = xmlNode.AppendChild(PlayerDoc.CreateNode(XmlNodeType.Element, "Skill", ""));
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("ID"));
-                xmlAttribute.Value = bigSkill.ID_.ToString();
+                xmlAttribute.Value = bigSkill.ID.ToString();
 
                 xmlAttribute = xmlNode.Attributes.Append(PlayerDoc.CreateAttribute("SkillType"));
                 xmlAttribute.Value = bigSkill.SkillType.ToString();

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

@@ -0,0 +1,52 @@
+using UnityEngine;
+
+using System.Collections;
+using UnityEngine.UI;
+
+public class Toast : Regist 
+{
+    #region 变量
+
+    public static bool On;
+    public static float Timer;
+    public static Text Text;
+    public static Transform Transform;
+
+    #endregion
+
+    public void FixedUpdate()
+    {
+        if (On)
+        {
+            Timer -= Time.fixedDeltaTime;
+
+            if (Timer <= 0)
+            {
+                On = false;
+
+                transform.TweenBacCG();
+                transform.TweenBacVec();
+            }
+        }
+    }
+
+    public override void RegistImmed()
+    {
+        Text = GetComponentInChildren<Text>();
+        Transform = transform;
+
+        transform.CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+        transform.CreateTweenVec2D(ManaReso.Get("O_Pos").position, 0.25f, false, false, true, Curve.EaseOutQuad);
+    }
+
+
+    public static void Show(float time, string str)
+    {
+        On = true;
+        Text.text = str;
+        Timer = time;
+
+        Transform.TweenForCG();
+        Transform.TweenForVec();
+    } 
+}

+ 12 - 0
Assets/Script/Tool/UI/Toast.cs.meta

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

+ 1 - 0
MyLovelyGarden.csproj

@@ -197,6 +197,7 @@
     <Compile Include="Assets\Script\Tool\UI\ScrollRectPlus.cs" />
     <Compile Include="Assets\Script\Tool\UI\SpriteAsset.cs" />
     <Compile Include="Assets\Script\Tool\UI\TextPlus.cs" />
+    <Compile Include="Assets\Script\Tool\UI\Toast.cs" />
     <Compile Include="Assets\Script\Tool\UI\UIPartical.cs" />
     <Compile Include="Assets\Script\Utils\DGFileUtil.cs" />
     <Compile Include="Assets\Script\Utils\JsonUtil.cs" />

+ 13 - 16
MyLovelyGarden.sln

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

+ 0 - 5
ToList.txt

@@ -3,11 +3,6 @@ Skill
 小游戏时间
 
 
-切换后台
-
-分段加载场景
-
-
 Font Anchor Encrypt RichText OverFlow RaycastTarget
 
 语言文档中的多余项 是否保留Tree2 Auxiliary中的测试按键 DisableButton的颜色