using System; using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using System.Xml; using UnityEngine.EventSystems; public class Sign { public int Coin; public int Diamond; public List Flower; public Transform Item; public Sign(Transform transform, XmlAttributeCollection attribute) { Item = transform; if (!string.IsNullOrEmpty(attribute[1].Value)) { string[] strings = attribute[1].Value.Split(','); Item.GetChild(0).GetComponent().sprite = ManaReso.Load("管理花园按钮", Folder.SpriteUI); Flower = new List(); for (int i = 0; i < strings.Length; i++) { Flower.Add(int.Parse(strings[i])); } } if (!string.IsNullOrEmpty(attribute[2].Value)) { Diamond = int.Parse(attribute[2].Value); if (Flower == null) { Item.GetChild(0).GetComponent().sprite = ManaReso.Load("钻石", Folder.SpriteUI); } } else if (!string.IsNullOrEmpty(attribute[3].Value)) { Coin = int.Parse(attribute[3].Value); Item.GetChild(0).GetComponent().sprite = ManaReso.Load("金币", Folder.SpriteUI); } else { throw new Exception(); } } public void Get() { Item.GetChild(1).SetActive(true); if (Flower != null) { for (int i = 0; i < Flower.Count; i++) { if (ManaGarden.FlowerDic[Flower[i]].Unlock == false) { ManaGarden.FlowerDic[Flower[i]].Unlock = true; if (ManaData.Sign < 27) { ManaData.Sign++; } ManaReso.SetText("Bb_InfoLab", Flower[i].ToString()); ManaReso.Get("Bb_Info").sprite = ManaReso.Load("管理花园按钮", Folder.SpriteUI); return; } } } if (Diamond > 0) { if (ManaData.Sign < 27) { ManaData.Sign++; } ManaData.Diamond += Diamond; ManaReso.SetText("Bb_InfoLab", Diamond.ToString()); ManaReso.Get("Bb_Info").sprite = ManaReso.Load("钻石", Folder.SpriteUI); } else if (Coin > 0) { if (ManaData.Sign < 27) { ManaData.Sign++; } ManaData.Coin += Coin; ManaReso.SetText("Bb_InfoLab", Coin.ToString()); ManaReso.Get("Bb_Info").sprite = ManaReso.Load("金币", Folder.SpriteUI); } else { throw new Exception(); } } } public class ManaUI : MonoBehaviour { #region 变量 public static List SignList; #endregion private void Awake() { Initializer.RegistValue += RegistValue; } private void RegistValue() { List attributeList = Data.GetSignConfig(); #region A #region A_Confirm ManaReso.AddButtonEvent ( "Ba_Confirm", () => { ManaReso.Get("Bb_SignIn").TweenForCG(); ManaReso.SetActive("Ba_Notice", false); } ); #endregion #endregion #region B ManaReso.SetText("Ba_Lab"); ManaReso.SetText("Ba_ConfirmLab"); ManaReso.SetText("Bb_GetLab"); ManaReso.SetText("Bb_Title"); ManaReso.SetText("Bb_ConfirmLab"); #region Bb_Get ManaReso.AddButtonEvent ( "Bb_Get", () => { ManaReso.SetActive("Bb_Get", false); ManaReso.SetActive("Bb_Info", true); ManaReso.SetActive("Bb_Confirm", true); SignList[ManaData.Sign].Get(); } ); #endregion #region B_SignIn Tween tween = ManaReso.Get("B_SignIn").CreateTweenCG(0f, 1f, 0.5f, false, true, Curve.EaseOutQuad); tween.OnForwardStart += () => { ManaData.Main++; }; tween.OnBackwardStart += () => { ManaData.Main--; }; #endregion #region Bb_SignIn tween = ManaReso.Get("Bb_SignIn").CreateTweenCG(0f, 1f, 0.5f, false, true, Curve.EaseOutQuad); tween.OnBackwardStart += () => { ManaData.Main--; }; Transform tra = ManaReso.Get("Bb_Grid"); SignList = new List(); for (int i = 0; i < attributeList.Count; i++) { Transform tra1 = ManaReso.Get("SignInItem", Folder.PrefabUI, false, tra, false); SignList.Add(new Sign(tra1, attributeList[i])); } for (int i = 0; i < ManaData.Sign; i++) { tra.GetChild(i).GetChild(1).SetActive(true); } #endregion #region Bb_Confirm ManaReso.AddButtonEvent ( "Bb_Confirm", () => { ManaReso.Get("B_SignIn").TweenBacCG(); } ); #endregion #endregion #region C #region C_Manage ManaReso.AddButtonEvent ( "C_Manage", () => { ManaReso.Get("C_Main").TweenBacCG(); ManaReso.SetActive("F_Manage", true); ManaReso.Get("F_Manage").TweenForVec(); } ); #endregion #region C_Main ManaReso.Get("C_Main").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad); #endregion #region C_MiniGame ManaReso.SetText("C_MiniGameLab"); Button enterGameA = ManaReso.Get