using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; using System; using System.Xml; using System.Text; using System.Collections; using System.Collections.Generic; using Object = UnityEngine.Object; public enum AchieveType { TotalVisitPerson, AllElfLevel, GardenLevel, PlayADsAmt, UseSkillAmt, SignAmt, CloseAmt, ShareAmt, UnlockFlowerAmt, PlayMinigameAmt, TotalCoin, TotalFlowerAwardCoin, CurrentCoin, TotalSpendDiamond, CreateRoomAmt, CreateChestAmt, CreateLuckyChestAmt, CreateGuessColorChestAmt, CreateGuessNumberChestAmt, GetChestAwardAmt, } public class AchieveItemLabel { public static string Tit = "Tit"; public static string Lab = "Lab"; public static string Slider = "Slider"; public static string Icon = "Icon"; public static string Btn = "Btn"; public static string BtnLab = "BtnLab"; } public class AchieveItem { #region Config private static string IDPrefix = "Achieve"; public string Name { get { return Language.GetStr(NameLanguageLabel); } } private string NameLanguageLabel { get { return LanguageLabel.CombineLanguageLabel(LanguageLabel.AchieveName,FullID); } } public string Description { get { return Language.GetStr(DescriptionLanguageLabel); } } private string DescriptionLanguageLabel { get { return LanguageLabel.CombineLanguageLabel(LanguageLabel.AchieveDesc, FullID); } } public string FullID { get { return IDPrefix + ID; } } public int ID; public Sprite Sprite { get { return ResourceManager.LoadSprite(SpriteName, Folder.UI); } } public string SpriteName; public double CurrentValue { get { return currentValue; } set { currentValue = value; Slider.value = (float)(currentValue / TargetValue); if (currentValue >= TargetValue) { Complete(); } else { UpdateDisplay(currentValue); } } } public double currentValue; public double TargetValue; public int Index; public int ParentID; public bool Lock = true; public bool Delete; public bool complete; public float Award_Person; public float Award_CoinPerson; public float Award_DiamondOnce; public AchieveItem PostAchieveItem; public AchieveType AchieveType; public Text Title; public Text DescriptionText; public Text ButtonText; public Slider Slider; public Image Image; public Button Button; public Transform Item; #endregion public AchieveItem(XmlAttributeCollection attribute) { SpriteName = attribute[11].Value; Delete = Auxiliary.StringToBool(attribute[7].Value, false); ParentID = Auxiliary.StringToInt(attribute[6].Value, -1); AchieveType = TypeParse(attribute[4].Value); ID = int.Parse(attribute[0].Value); Index = int.Parse(attribute[1].Value) - 1; TargetValue = double.Parse(attribute[5].Value); Award_Person = Auxiliary.StringToFloat(attribute[10].Value, 0); Award_CoinPerson = Auxiliary.StringToFloat(attribute[9].Value, 0); Award_DiamondOnce = Auxiliary.StringToFloat(attribute[8].Value, 0); AchieveManager.AchieveItemDictionary.Add(ID, this); if (ParentID != -1) { AchieveManager.AchieveItemDictionary[ParentID].PostAchieveItem = this; } } public void Init() { Item = ResourceManager.GetAchieveItem(); Dictionary dic = new Dictionary(); Auxiliary.CompileDic(Item, dic); Title = dic[AchieveItemLabel.Tit].GetComponent(); DescriptionText = dic[AchieveItemLabel.Lab].GetComponent(); Slider = dic[AchieveItemLabel.Slider].GetComponent(); Image = dic[AchieveItemLabel.Icon].GetComponent(); Button = dic[AchieveItemLabel.Btn].GetComponent