using UnityEngine; using UnityEngine.UI; using System; using System.Xml; using System.Collections; using System.Collections.Generic; public class Sign { public int Coin; public int Diamond; public Text Lab1; public Text Lab2; public Image Icon; public Image Mark; public List FlowerList = new List(); 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(); if (!string.IsNullOrEmpty(attribute[1].Value)) { string[] strings = attribute[1].Value.Split(','); for (int i = 0; i < strings.Length; i++) { FlowerList.Add(int.Parse(strings[i])); } Icon.sprite = ManaReso.Load("管理花园按钮", Folder.UI); } if (!string.IsNullOrEmpty(attribute[2].Value)) { Diamond = int.Parse(attribute[2].Value); if (FlowerList == null) { Lab1.text = Diamond.ToString("0"); Icon.sprite = ManaReso.Load("钻石", Folder.UI); } } if (!string.IsNullOrEmpty(attribute[3].Value)) { Coin = int.Parse(attribute[3].Value); Lab1.text = Coin.ToString("0"); Icon.sprite = ManaReso.Load("金币", Folder.UI); } } public void Get() { Mark.SetActive(true); if (FlowerList != null) { for (int i = 0; i < FlowerList.Count; i++) { if (ManaGarden.FlowerInfoDic[FlowerList[i]].Unlock == false) { ManaGarden.FlowerInfoDic[FlowerList[i]].Unlock = true; ManaData.SignIndex++; ManaData.SignIndex %= 21; 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) { ManaData.SignIndex++; ManaData.SignIndex %= 21; 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); } else if (Coin > 0) { ManaData.SignIndex++; ManaData.SignIndex %= 21; 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); } else { throw new Exception(); } } } public class ManaSign : Regist { #region 变量 public static Dictionary SignDic = new Dictionary(); #endregion public static void Get() { SignDic[ManaData.SignIndex].Get(); ManaData.Sign++; } public override void Instantiate() { } public override void RegistValueB() { List attributeList = Data.GetSignConfig(); Transform tra = ManaReso.Get("Bb_Grid"); for (int i = 0; i < attributeList.Count; i++) { Transform tra1 = ManaReso.Get("SignInItem", Folder.UI, false, tra, false); SignDic.Add(i, new Sign(i + 1, tra1, attributeList[i])); } for (int i = 0; i < ManaData.SignIndex + 1; i++) { SignDic[i].Mark.SetActive(true); if (i != ManaData.SignIndex) { SignDic[i].Icon.SetActive(true); } } } public override void RegistReference() { } }