using UnityEngine; using UnityEngine.UI; using System; using System.Xml; using System.Collections; using System.Collections.Generic; public class Sign { #region 变量 public int Coin; public int Diamond; public Text Lab1; public Text Lab2; public Image Icon; public Image Mark; public List FlowerList = new List(); #endregion public Sign(int index, Transform tra, XmlAttributeCollection attribute) { Dictionary dic = new Dictionary(); Auxiliary.CompileDic(tra, dic); Lab1 = dic["Lab1"].GetComponent(); Lab2 = dic["Lab2"].GetComponent(); Icon = dic["Icon1"].GetComponent(); Mark = dic["Icon2"].GetComponent(); Lab2.text = index.ToString(); Coin = IntParse(attribute[3].Value); Diamond = IntParse(attribute[2].Value); FlowerList = Auxiliary.IntListParse(',', attribute[1].Value, new List()); } public void Get() { Mark.SetActive(true); if (FlowerList.Valid()) { for (int i = 0; i < FlowerList.Count; i++) { if (ManaGarden.FlowerInfoDic[FlowerList[i]].Unlock == false) { ManaGarden.FlowerInfoDic[FlowerList[i]].Unlock = true; ManaSign.SignIndex++; ManaSign.SignIndex %= 22; ManaReso.SetText("Bb_InfoLab", Language.GetStr("FlowerName", "Flower" + FlowerList[i])); ManaReso.SetSprite("Bb_Info", ManaReso.Load("管理花园按钮", Folder.UI)); Icon.sprite = ManaReso.Load("管理花园按钮", Folder.UI); Icon.SetActive(true); return; } } } if (Diamond > 0) { ManaSign.SignIndex++; ManaSign.SignIndex %= 22; ManaData.Diamond += Diamond; ManaReso.SetText("Bb_InfoLab", Diamond.ToString()); ManaReso.SetSprite("Bb_Info", ManaReso.Load("钻石", Folder.UI)); Icon.sprite = ManaReso.Load("钻石", Folder.UI); Icon.SetActive(true); Lab1.text = Diamond.ToString(); Lab1.SetActive(true); } else if (Coin > 0) { ManaSign.SignIndex++; ManaSign.SignIndex %= 22; ManaData.Coin += Coin; ManaReso.SetText("Bb_InfoLab", Coin.ToString()); ManaReso.SetSprite("Bb_Info", ManaReso.Load("金币", Folder.UI)); Icon.sprite = ManaReso.Load("金币", Folder.UI); Icon.SetActive(true); Lab1.text = Diamond.ToString(); Lab1.SetActive(true); } else { throw new Exception(); } } public int IntParse(string str) { if (string.IsNullOrEmpty(str)) { return 0; } else { return int.Parse(str); } } } public class ManaSign : Regist { #region 变量 public static int SignIndex; public static Dictionary SignDic = new Dictionary(); #endregion public static void Get() { SignDic[SignIndex].Get(); ManaData.SignAmt++; } public override void RegistValueB() { SignIndex = Data.GetPlayerInt("SignIndex"); Transform par = ManaReso.Get("Bb_Grid"); List attributeList = Data.GetSignConfig(); for (int i = 0; i < attributeList.Count; i++) { Transform tra = ManaReso.Get("SignInItem", Folder.UI, false, par, false); SignDic.Add(i + 1, new Sign(i + 1, tra, attributeList[i])); } for (int i = 1; i < SignIndex; i++) { SignDic[i].Mark.SetActive(true); } } }