|
@@ -91,7 +91,6 @@ public class Achieve
|
|
|
public float DiamondOnce;
|
|
|
public string Icon;
|
|
|
public double TargetValue;
|
|
|
- public double CurrentValue;
|
|
|
public AchieveType Type;
|
|
|
|
|
|
public Text Tit;
|
|
@@ -120,10 +119,10 @@ public class Achieve
|
|
|
DiamondOnce = AwardParse(attribute[8].Value);
|
|
|
|
|
|
ManaAchieve.AchieveDic.Add(ID, this);
|
|
|
-
|
|
|
+
|
|
|
if (Parent != -1)
|
|
|
{
|
|
|
- ManaAchieve.AchieveDic[ID].PostAchieveList.Add(this);
|
|
|
+ ManaAchieve.AchieveDic[Parent].PostAchieveList.Add(this);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -143,11 +142,11 @@ public class Achieve
|
|
|
if (Delete)
|
|
|
{
|
|
|
ManaReso.Save(AchieveItem);
|
|
|
-
|
|
|
+
|
|
|
if (PostAchieveList.Count > 0)
|
|
|
{
|
|
|
PostAchieveList[0].Regist = true;
|
|
|
-
|
|
|
+
|
|
|
PostAchieveList.RemoveAt(0);
|
|
|
}
|
|
|
}
|
|
@@ -174,21 +173,94 @@ public class Achieve
|
|
|
ManaText.Add(Lab, new LanStr("AchieveDescription", "Achieve" + ID));
|
|
|
|
|
|
Image.sprite = ManaReso.Load<Sprite>(Icon, Folder.UI);
|
|
|
+
|
|
|
+ Button.onClick.RemoveAllListeners();
|
|
|
Button.onClick.AddListener(GetAward);
|
|
|
|
|
|
- UpdateValue(CurrentValue);
|
|
|
- UpdateStatus();
|
|
|
+ AchieveItem.SetSiblingIndex(Index - 1);
|
|
|
|
|
|
+ UpdateValue();
|
|
|
+ UpdateStatus();
|
|
|
+
|
|
|
ManaAchieve.DeleDic[Type] += UpdateValue;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public void UpdateValue()
|
|
|
+ {
|
|
|
+ double value;
|
|
|
+
|
|
|
+ if (Type == AchieveType.AD)
|
|
|
+ {
|
|
|
+ value = ManaData.AD;
|
|
|
+ }
|
|
|
+ else if (Type == AchieveType.Skill)
|
|
|
+ {
|
|
|
+ value = ManaData.Skill;
|
|
|
+ }
|
|
|
+ else if (Type == AchieveType.Sign)
|
|
|
+ {
|
|
|
+ value = ManaData.Sign;
|
|
|
+ }
|
|
|
+ else if (Type == AchieveType.Share)
|
|
|
+ {
|
|
|
+ value = ManaData.Share;
|
|
|
+ }
|
|
|
+ else if (Type == AchieveType.Flower)
|
|
|
+ {
|
|
|
+ value = ManaGarden.MyFlower;
|
|
|
+ }
|
|
|
+ else if (Type == AchieveType.Person)
|
|
|
+ {
|
|
|
+ value = ManaData.Person;
|
|
|
+ }
|
|
|
+ else if (Type == AchieveType.ElfLevel)
|
|
|
+ {
|
|
|
+ value = ManaData.ElfLevel;
|
|
|
+ }
|
|
|
+ else if (Type == AchieveType.TotalCoin)
|
|
|
+ {
|
|
|
+ value = ManaData.TotalCoin;
|
|
|
+ }
|
|
|
+ else if (Type == AchieveType.MiniGame)
|
|
|
+ {
|
|
|
+ value = ManaData.MiniGame;
|
|
|
+ }
|
|
|
+ else if (Type == AchieveType.FlowerCoin)
|
|
|
+ {
|
|
|
+ value = ManaData.FlowerCoin;
|
|
|
+ }
|
|
|
+ else if (Type == AchieveType.CurrentCoin)
|
|
|
+ {
|
|
|
+ value = ManaData.Coin;
|
|
|
+ }
|
|
|
+ else if (Type == AchieveType.GardenLevel)
|
|
|
+ {
|
|
|
+ value = ManaData.Level;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ throw new Exception();
|
|
|
+ }
|
|
|
+
|
|
|
+ Slider.value = (float)(value / TargetValue);
|
|
|
+
|
|
|
+ if (value >= TargetValue)
|
|
|
+ {
|
|
|
+ Finish = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public void UpdateValue(double value)
|
|
|
{
|
|
|
- CurrentValue = value;
|
|
|
+ if (Valid == false)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
- Slider.value = (float)(CurrentValue/TargetValue);
|
|
|
+ Slider.value = (float)(value/TargetValue);
|
|
|
|
|
|
- if (CurrentValue >= TargetValue)
|
|
|
+ if (value >= TargetValue)
|
|
|
{
|
|
|
Finish = true;
|
|
|
|
|
@@ -383,6 +455,16 @@ public class ManaAchieve : Regist
|
|
|
{
|
|
|
_DeleDic = new Dictionary<AchieveType, UnityAction<double>>();
|
|
|
|
|
|
+ _DeleDic.Add(AchieveType.AD, AD);
|
|
|
+ _DeleDic.Add(AchieveType.Skill, Skill);
|
|
|
+ _DeleDic.Add(AchieveType.Sign, Sign);
|
|
|
+ _DeleDic.Add(AchieveType.Share, Share);
|
|
|
+ _DeleDic.Add(AchieveType.Flower, Flower);
|
|
|
+ _DeleDic.Add(AchieveType.Person, Person);
|
|
|
+ _DeleDic.Add(AchieveType.ElfLevel, ElfLevel);
|
|
|
+ _DeleDic.Add(AchieveType.TotalCoin, TotalCoin);
|
|
|
+ _DeleDic.Add(AchieveType.MiniGame, MiniGame);
|
|
|
+ _DeleDic.Add(AchieveType.FlowerCoin, FlowerCoin);
|
|
|
_DeleDic.Add(AchieveType.CurrentCoin, CurrentCoin);
|
|
|
_DeleDic.Add(AchieveType.GardenLevel, GardenLevel);
|
|
|
}
|
|
@@ -395,6 +477,16 @@ public class ManaAchieve : Regist
|
|
|
public static Dictionary<int, Achieve> _AchieveDic;
|
|
|
public static Dictionary<AchieveType, UnityAction<double>> _DeleDic;
|
|
|
|
|
|
+ public static UnityAction<double> AD;
|
|
|
+ public static UnityAction<double> Skill;
|
|
|
+ public static UnityAction<double> Sign;
|
|
|
+ public static UnityAction<double> Share;
|
|
|
+ public static UnityAction<double> Flower;
|
|
|
+ public static UnityAction<double> Person;
|
|
|
+ public static UnityAction<double> ElfLevel;
|
|
|
+ public static UnityAction<double> TotalCoin;
|
|
|
+ public static UnityAction<double> MiniGame;
|
|
|
+ public static UnityAction<double> FlowerCoin;
|
|
|
public static UnityAction<double> CurrentCoin;
|
|
|
public static UnityAction<double> GardenLevel;
|
|
|
|
|
@@ -410,10 +502,10 @@ public class ManaAchieve : Regist
|
|
|
}
|
|
|
|
|
|
XmlNode node = Data.PlayerNode.SelectSingleNode("AchieveList");
|
|
|
-
|
|
|
- if (!string.IsNullOrEmpty(node.Value))
|
|
|
+
|
|
|
+ if (!string.IsNullOrEmpty(node.InnerText))
|
|
|
{
|
|
|
- string[] strings = node.Value.Split(' ');
|
|
|
+ string[] strings = node.InnerText.Split(' ');
|
|
|
|
|
|
for (int i = 0; i < strings.Length; i++)
|
|
|
{
|
|
@@ -436,6 +528,7 @@ public class ManaAchieve : Regist
|
|
|
if (kv.Value.Delete == false)
|
|
|
{
|
|
|
kv.Value.Regist = true;
|
|
|
+ kv.Value.Slider.value = 1;
|
|
|
}
|
|
|
}
|
|
|
}
|