LiuQilin 8 年之前
父节点
当前提交
58f384c251

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


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

@@ -39,11 +39,11 @@ public class Initializer : MonoBehaviour
         gameObject.AddScript<ManaUI>();
         gameObject.AddScript<ManaSign>();
         gameObject.AddScript<ManaGarden>();
+        gameObject.AddScript<ManaAchieve>();
 
         gameObject.AddScript<ManaData>();
         gameObject.AddScript<ManaPlayer>();
         gameObject.AddScript<ManaDebug>();
-        gameObject.AddScript<ManaAchieve>();
         gameObject.AddScript<ManaMiniGame>();
 
         StartCoroutine(IInitialize());

+ 78 - 13
Assets/Script/Manage/ManaAchieve.cs

@@ -5,7 +5,9 @@ using System.Collections;
 using System.Collections.Generic;
 using System.Text;
 using System.Xml;
+using UnityEngine.Events;
 using UnityEngine.UI;
+using Object = UnityEngine.Object;
 
 public enum AchieveType
 {
@@ -34,6 +36,15 @@ public class Achieve
 
             if (_Regist)
             {
+                AchieveItem = ManaReso.Get("AchieveItem", Folder.UI, false, ManaReso.Get("M_Grid"), false, ObjType.AchieveItem);
+
+                ObjRoot objRoot = AchieveItem.GetComponent<ObjRoot>();
+
+                if (objRoot == null)
+                {
+                    AchieveItem.AddComponent<ObjRoot>().ObjType = ObjType.AchieveItem;
+                }
+
                 RegistValue();
             }
         }
@@ -117,10 +128,37 @@ public class Achieve
     }
 
 
-    public void RegistValue()
+    public void GetAward()
     {
-        AchieveItem = ManaReso.Get("AchieveItem", Folder.UI, false, ManaReso.Get("M_Grid"), false);
+        Valid = false;
+
+        ManaAchieve.DeleDic[Type] = null;
+
+        ManaData.Diamond += DiamondOnce;
+        ManaData.SkillPerson += Person;
+        ManaData.SkillCoinPerson += CoinPerson;
+
+        ManaDebug.Log(string.Format("获得钻石<color=red>{0}</color> 参观人次+<color=red>{1}</color> 每人次金币+<color=red>{2}</color>", DiamondOnce, Person, CoinPerson));
+
+        if (Delete)
+        {
+            ManaReso.Save(AchieveItem);
+
+            if (PostAchieveList.Count > 0)
+            {
+                PostAchieveList[0].Regist = true;
 
+                PostAchieveList.RemoveAt(0);
+            }
+        }
+        else
+        {
+            UpdateStatus();
+        }
+    }
+
+    public void RegistValue()
+    {
         Dictionary<string, Transform> dic = new Dictionary<string, Transform>();
 
         Auxiliary.CompileDic(AchieveItem, dic);
@@ -135,10 +173,27 @@ public class Achieve
         ManaText.Add(Tit, new LanStr("AchieveName", "Achieve" + ID));
         ManaText.Add(Lab, new LanStr("AchieveDescription", "Achieve" + ID));
 
-        Slider.value = (float)(CurrentValue/TargetValue);
         Image.sprite = ManaReso.Load<Sprite>(Icon, Folder.UI);
+        Button.onClick.AddListener(GetAward);
 
+        UpdateValue(CurrentValue);
         UpdateStatus();
+
+        ManaAchieve.DeleDic[Type] += UpdateValue;
+    }
+
+    public void UpdateValue(double value)
+    {
+        CurrentValue = value;
+
+        Slider.value = (float)(CurrentValue/TargetValue);
+
+        if (CurrentValue >= TargetValue)
+        {
+            Finish = true;
+
+            UpdateStatus();
+        }
     }
 
     public void UpdateStatus()
@@ -320,8 +375,28 @@ public class ManaAchieve : Regist
         }
         set { _AchieveDic = value; }
     }
+    public static Dictionary<AchieveType, UnityAction<double>> DeleDic
+    {
+        get
+        {
+            if (_DeleDic == null)
+            {
+                _DeleDic = new Dictionary<AchieveType, UnityAction<double>>();
+
+                _DeleDic.Add(AchieveType.CurrentCoin, CurrentCoin);
+                _DeleDic.Add(AchieveType.GardenLevel, GardenLevel);
+            }
+
+            return _DeleDic;
+        }
+        set { _DeleDic = value; }
+    }
 
     public static Dictionary<int, Achieve> _AchieveDic;
+    public static Dictionary<AchieveType, UnityAction<double>> _DeleDic;
+
+    public static UnityAction<double> CurrentCoin;
+    public static UnityAction<double> GardenLevel;
 
     #endregion
 
@@ -365,14 +440,4 @@ public class ManaAchieve : Regist
             }
         }
     }
-
-    public override void RegistValueA()
-    {
-
-    }
-
-    public override void RegistReference()
-    {
-        
-    }
 }

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

@@ -35,6 +35,11 @@ public class ManaData : Regist
             {
                 SkillList[i].UpdateStatus();
             }
+
+            if (ManaAchieve.DeleDic[AchieveType.GardenLevel] != null)
+            {
+                ManaAchieve.DeleDic[AchieveType.GardenLevel].Invoke(_Level);
+            }
         }
     }
     public static bool Pause
@@ -87,6 +92,11 @@ public class ManaData : Regist
 
             ManaReso.SetText("F_CoinLab", _Coin.ToString("0"));
             ManaReso.SetText("C_CoinLab", _Coin.ToString("0"));
+
+            if (ManaAchieve.DeleDic[AchieveType.CurrentCoin] != null)
+            {
+                ManaAchieve.DeleDic[AchieveType.CurrentCoin].Invoke(_Coin);
+            }
         }
     }
     public static double Diamond

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

@@ -29,6 +29,7 @@ public enum ObjType
     Flower,
     HudText,
     FlowerItem,
+    AchieveItem,
 
     DropGold,
     DropDiamond,

+ 4 - 0
MyLovelyGarden.Editor.csproj

@@ -133,6 +133,9 @@
     <Reference Include="LitJson">
       <HintPath>Assets\Resource\Plugins\LitJson.dll</HintPath>
     </Reference>
+    <Reference Include="ConsolePro.Editor">
+      <HintPath>Assets\Resource\Plugins\ConsolePro\Editor\ConsolePro.Editor.dll</HintPath>
+    </Reference>
     <Reference Include="Excel">
       <HintPath>Assets\Resource\Plugins\Xlsx\Excel.dll</HintPath>
     </Reference>
@@ -158,6 +161,7 @@
     <Compile Include="Assets\Script\Editor\EditorSpriteAsste.cs" />
   </ItemGroup>
   <ItemGroup>
+    <None Include="Assets\Resource\Plugins\ConsolePro\Readme.txt" />
     <None Include="Assets\Resource\Shader\Anim.shader" />
     <None Include="Assets\Resource\Shader\Discard.shader" />
     <None Include="Assets\Resource\Shader\Gray.shader" />

+ 6 - 8
MyLovelyGarden.csproj

@@ -13,13 +13,11 @@
     <TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
     <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
     <TargetFrameworkProfile>Unity Subset v3.5</TargetFrameworkProfile>
-    <CompilerResponseFile>
-    </CompilerResponseFile>
+    <CompilerResponseFile></CompilerResponseFile>
     <UnityProjectType>Game:1</UnityProjectType>
     <UnityBuildTarget>StandaloneWindows64:19</UnityBuildTarget>
     <UnityVersion>5.5.0f3</UnityVersion>
-    <RootNamespace>
-    </RootNamespace>
+    <RootNamespace></RootNamespace>
     <LangVersion Condition=" '$(VisualStudioVersion)' != '10.0' ">4</LangVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@@ -98,6 +96,7 @@
     </Reference>
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Assets\Resource\Plugins\ConsolePro\ConsoleProRemoteServer.cs" />
     <Compile Include="Assets\Script\Interface\Regist.cs" />
     <Compile Include="Assets\Script\Manage\Initializer.cs" />
     <Compile Include="Assets\Script\Manage\Main.cs" />
@@ -168,6 +167,7 @@
     <Compile Include="Assets\Script\Utils\StringUtil.cs" />
   </ItemGroup>
   <ItemGroup>
+    <None Include="Assets\Resource\Plugins\ConsolePro\Readme.txt" />
     <None Include="Assets\Resource\Shader\Anim.shader" />
     <None Include="Assets\Resource\Shader\Discard.shader" />
     <None Include="Assets\Resource\Shader\Gray.shader" />
@@ -180,13 +180,11 @@
     <None Include="Assets\Resource\XML\Config\pack_config.xml" />
     <None Include="Assets\Resource\XML\Config\signin_config.xml" />
     <None Include="Assets\Resource\XML\Config\skill_config.xml" />
-    <None Include="Assets\Resource\XML\PlayerConfig.xml">
-      <SubType>Designer</SubType>
-    </None>
+    <None Include="Assets\Resource\XML\PlayerConfig.xml" />
     <None Include="Assets\Resource\XML\lan\ChineseSimplified.xml" />
     <None Include="Assets\Resource\XML\lan\ChineseTraditional.xml" />
     <None Include="Assets\Resource\XML\lan\English.xml" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Target Name="GenerateTargetFrameworkMonikerAttribute" />
-</Project>
+</Project>