using UnityEngine; using UnityEngine.UI; using System; using System.Xml; using System.Collections; using System.Collections.Generic; public class Sign { #region 变量 public int Coin { get { if (RoundBuff.Equal(-1)) { return Coin_; } else { return (int)(Coin_*RoundBuff*ManaSign.SignRound); } } set { Coin_ = value; } } public int Diamond { get { if (RoundBuff.Equal(-1)) { return Diamond_; } else { return (int)(Diamond_ * RoundBuff * ManaSign.SignRound); } } set { Diamond_ = value; } } public int Coin_; public int Diamond_; public float RoundBuff; public Text Lab1; public Text Lab2; public Image Icon; public Image Mark; public Vector2 OriginSize; 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(); OriginSize = Icon.rectTransform.sizeDelta; Lab2.text = index.ToString(); Coin = Auxiliary.IntParse(attribute[3].Value, 0); Diamond = Auxiliary.IntParse(attribute[2].Value, 0); FlowerList = Auxiliary.IntListParse(',', attribute[1].Value, new List()); RoundBuff = Auxiliary.FloatParse(attribute[4].Value, -1); SetUI(); } public void Get() { Mark.SetActive(true); ManaSign.SignTime = ManaServer.Time; ManaSign.SignIndex++; if (ManaSign.SignIndex == 22) { ManaSign.SignIndex = 1; ManaSign.SignRound++; ManaReso.Get("B_SignIn").GetTweenCG().AddEventOnetime ( EventType.BackwardFinish, () => { foreach (var kv in ManaSign.SignDic) { kv.Value.SetUI(); kv.Value.Mark.SetActive(false); } } ); } if (FlowerList.Valid()) { for (int i = 0; i < FlowerList.Count; i++) { FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic[FlowerList[i]]; if (flowerInfo.Unlock == false) { ManaReso.SetText("Bb_InfoLabA", flowerInfo.Name); ManaReso.SetActive("Bb_IconA", true); ManaReso.SetSprite("Bb_IconA0", flowerInfo.Icon); ManaReso.Get("Bb_IconA0").Resize(true, 0.65f, 0.65f); flowerInfo.Unlock = true; return; } } } if (Diamond > 0) { ManaReso.SetText("Bb_InfoLabB", Diamond.ToString()); ManaReso.SetSprite("Bb_IconB", ManaReso.LoadSprite("钻石", Folder.UI)); ManaReso.SetActive("Bb_IconB", true); ManaCenter.Diamond += Diamond; } else if (Coin > 0) { ManaReso.SetText("Bb_InfoLabB", Coin.ToString()); ManaReso.SetSprite("Bb_IconB", ManaReso.LoadSprite("金币", Folder.UI)); ManaReso.SetActive("Bb_IconB", true); ManaCenter.Coin += Coin; } else { throw new Exception(); } } public void SetUI() { if (FlowerList.Valid()) { for (int i = 0; i < FlowerList.Count; i++) { FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic[FlowerList[i]]; if (flowerInfo.Unlock == false) { Icon.sprite = flowerInfo.Icon; Icon.Resize(true, 0.2f, 0.2f); return; } } } if (Diamond > 0) { Icon.sprite = ManaReso.LoadSprite("钻石", Folder.UI); Icon.Resize(false, OriginSize); Lab1.text = Diamond.ToString(); } else if (Coin > 0) { Icon.sprite = ManaReso.LoadSprite("金币", Folder.UI); Icon.Resize(false, OriginSize); Lab1.text = Coin.ToString(); } } } public class ManaSign : Regist { #region 变量 public static int SignIndex; public static int SignRound; public static DateTime SignTime; public static Dictionary SignDic = new Dictionary(); #endregion public static void Get() { SignDic[SignIndex].Get(); ManaCenter.SignAmt++; } public override void RegistValueB() { SignTime = DateTime.Parse(ManaData.GetPlayerString("SignTime")); SignIndex = ManaData.GetPlayerInt("SignIndex"); SignRound = ManaData.GetPlayerInt("SignRound"); Transform par = ManaReso.Get("Bb_Grid"); List attributeList = ManaData.GetSignConfig(); for (int i = 0; i < attributeList.Count; i++) { Transform tra = ManaReso.Get("SignItem", Folder.UI, false, par, false, ObjType.SignItem); SignDic.Add(i + 1, new Sign(i + 1, tra, attributeList[i])); } for (int i = 1; i < SignIndex; i++) { SignDic[i].Mark.SetActive(true); } } } #region DebugList //签到的循环与存档 #endregion