using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; using System; using System.Xml; using System.Collections; using System.Collections.Generic; using Random = UnityEngine.Random; public class Sign { public int Coin; public int Diamond; public Text Lab1; public Text Lab2; public Image Icon; public Image Mark; public List FlowerList; 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)) { FlowerList = new List(); 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.FlowerInfoList[FlowerList[i]].Unlock == false) { ManaGarden.FlowerInfoList[FlowerList[i]].Unlock = true; if (ManaData.Sign < 20) { ManaData.Sign++; } ManaReso.SetText("Bb_InfoLab", Language.GetStr("FlowerName", "Flower" + FlowerList[i])); ManaReso.SetSprite("Bb_Info", ManaReso.Load("管理花园按钮", Folder.UI)); return; } } } if (Diamond > 0) { if (ManaData.Sign < 27) { ManaData.Sign++; } ManaData.Diamond += Diamond; ManaReso.SetText("Bb_InfoLab", Diamond.ToString()); ManaReso.SetSprite("Bb_Info", ManaReso.Load("钻石", Folder.UI)); } else if (Coin > 0) { if (ManaData.Sign < 27) { ManaData.Sign++; } ManaData.Coin += Coin; ManaReso.SetText("Bb_InfoLab", Coin.ToString()); ManaReso.SetSprite("Bb_Info", ManaReso.Load("金币", Folder.UI)); } else { throw new Exception(); } } } public class ManaUI : Regist { #region 变量 public static List SignList; #endregion public override void Instantiate() { Transform tra = new GameObject("UI").transform; ManaReso.Get("Canvas", Folder.UI, true, tra, false); ManaReso.Get("MainCamera", Folder.UI, false, tra, false); ManaReso.Get("EventSystem", Folder.UI, false, tra, false); } public override void RegistValueB() { #region B ManaReso.SetText("Ba_Lab"); ManaReso.SetText("Ba_ConfirmLab"); ManaReso.SetText("Bb_Title"); ManaReso.SetText("Bb_GetLab"); ManaReso.SetText("Bb_ConfirmLab"); #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 Ba_Confirm ManaReso.AddButtonEvent ( "Ba_Confirm", () => { ManaReso.Get("Bb_SignIn").TweenForCG(); ManaReso.SetActive("Ba_Notice", false); } ); #endregion #region Bb_Get ManaReso.AddButtonEvent ( "Bb_Get", () => { SignList[ManaData.Sign].Get(); ManaReso.SetActive("Bb_Get", false); ManaReso.SetActive("Bb_Info", true); ManaReso.SetActive("Bb_Confirm", true); } ); #endregion #region Bb_SignIn ManaReso.Get("Bb_SignIn").CreateTweenCG(0f, 1f, 0.5f, false, true, Curve.EaseOutQuad); Transform tra = ManaReso.Get("Bb_Grid"); List attributeList = Data.GetSignConfig(); SignList = new List(); for (int i = 0; i < attributeList.Count; i++) { Transform tra1 = ManaReso.Get("SignInItem", Folder.UI, false, tra, false); SignList.Add(new Sign(i + 1, 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 ManaReso.SetText("C_MiniGameLab"); #region C_Main tween = ManaReso.Get("C_Main").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad); tween.OnForwardStart += () => { ManaData.Main = -1; }; tween.OnBackwardStart += () => { ManaData.Main = 0; }; #endregion #region C_Manage ManaReso.AddButtonEvent ( "C_Manage", () => { ManaReso.Get("C_Main").TweenBacCG(); ManaReso.Get("F_Manage0").TweenForVec(); } ); #endregion #region C_MiniGame tween = ManaReso.Get("C_MiniGame").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad); tween.OnForwardStart += () => { ManaReso.SetText("Da_CoinLab", ""); ManaReso.SetText("Da_FlowerLab", ""); ManaReso.SetText("Da_DiamondLab", ""); ManaReso.SetActive("Da_Coin", true); ManaReso.SetActive("Da_Flower", true); ManaReso.SetActive("Da_Diamond", true); }; ManaReso.AddButtonEvent ( "C_MiniGame", () => { ManaReso.Get("GardenMini").TweenForVec(); ManaReso.Get("D_MiniGame").TweenForCG(); } ); HudTarget hudTarget = ManaReso.Get("C_MiniGame").AddComponent(); hudTarget.PosTra = Player.ChildDic["EnterGameTra"]; #endregion #endregion #region D ManaReso.SetText("D_ScoreTit"); ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0")); ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0")); ManaReso.SetText("Da_QuitLab"); ManaReso.SetText("Da_CancelLab"); ManaReso.SetText("Da_GetAwardLab"); #region D_Rip ManaReso.AddButtonEvent ( "D_Rip2", ManaMiniGame.Rip ); #endregion #region D_Quit ManaReso.AddButtonEvent ( "D_Quit", () => { ManaReso.SetText("Da_Tit", Language.GetStr("UI", "Da_Tit0")); ManaReso.SetText("Da_Lab", Language.GetStr("UI", "Da_Lab0")); ManaReso.SetActive("Da_Info", true); ManaReso.SetActive("Da_Quit", true); ManaReso.SetActive("Da_Cancel", true); ManaReso.SetActive("Da_GetAward", false); ManaMiniGame.Pause = true; } ); #endregion #region D_Begin ManaReso.AddButtonEvent ( "D_Begin", () => { ManaMiniGame.Prepare = true; } ); #endregion #region D_Water ManaReso.AddButtonEvent ( "D_Water2", ManaMiniGame.Water ); #endregion #region D_Fertilize ManaReso.AddButtonEvent ( "D_Fertilize2", ManaMiniGame.Fertilize ); #endregion #region D_MiniGame tween = ManaReso.Get("D_MiniGame").CreateTweenCG(0, 1, 1f, false, true, Curve.EaseOutQuad); tween.OnForwardStart += () => { ManaReso.Get("C_Main").TweenBacCG(); ManaReso.Get("MusicTheme").TweenBacAudio(); ManaReso.SetActive("E_Debug", false); ManaData.Main++; ManaReso.SetActive("Da_Quit", true); ManaReso.SetActive("Da_Cancel", true); ManaReso.SetActive("Da_GetAward", false); }; tween.OnForwardFinish += () => { ManaReso.Get("MusicMini").TweenForAudio(); }; tween.OnBackwardStart += () => { ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0")); if (ManaData.Mini == false) { ManaReso.Get("C_MiniGame").TweenBacCG(); } ManaReso.Get("MusicMini").TweenBacAudio(); }; tween.OnBackwardFinish += () => { ManaReso.Get("MusicTheme").TweenForAudio(); ManaReso.SetActive("E_Debug", true); }; #endregion #region Da_Quit ManaReso.AddButtonEvent ( "Da_Quit", () => { ManaReso.Get("C_Main").TweenForCG(); ManaReso.Get("D_MiniGame").TweenBacCG(); ManaReso.Get("GardenMini").TweenBacVec(); ManaReso.SetActive("Da_Info", false); ManaMiniGame.GameAbort(); } ); #endregion #region Da_Cancel ManaReso.AddButtonEvent ( "Da_Cancel", () => { ManaReso.SetActive("Da_Info", false); ManaMiniGame.Pause = false; } ); #endregion #region Da_GetAward ManaReso.AddButtonEvent ( "Da_GetAward", () => { ManaReso.Get("C_Main").TweenForCG(); ManaReso.Get("C_MiniGame").TweenBacCG(); ManaReso.Get("D_MiniGame").TweenBacCG(); ManaReso.Get("GardenMini").TweenBacVec(); ManaReso.SetActive("Da_Info", false); } ); #endregion #endregion #region E #region E_PauseBtn ManaReso.AddButtonEvent ( "E_PauseBtn", () => { ManaDebug.LockBtn(); } ); #endregion #region E_CentralBtn ManaReso.AddButtonEvent ( "E_CentralBtn", () => { ManaReso.SetActive("Ea_Central", true); } ); #endregion #region Ea_Cool ManaReso.AddButtonEvent ( "Ea_Cool", () => { for (int i = 0; i < ManaData.SkillList.Count; i++) { ManaData.SkillList[i].ReceiveCool(1, true, true); } } ); #endregion #region Ea_Save ManaReso.AddButtonEvent ( "Ea_Save", () => { Data.SavePlayerConfig(); } ); #endregion #region Ea_Close ManaReso.AddButtonEvent ( "Ea_Close", () => { ManaReso.SetActive("Ea_Central", false); } ); #endregion #region Ea_Reset ManaReso.AddButtonEvent ( "Ea_Reset", () => { Data.ResetPlayerConfig(); } ); #endregion #region Ea_Current ManaReso.AddButtonEvent ( "Ea_Current", () => { ManaData.Coin += 1000; ManaData.Diamond += 1000; } ); #endregion #region Ea_Upgrade ManaReso.AddButtonEvent ( "Ea_Upgrade", () => { ManaData.Level += 20; } ); #endregion #endregion #region F ManaReso.SetText("F_ElfLab"); ManaReso.SetText("F_StoreLab"); ManaReso.SetText("F_MagicLab"); ManaReso.SetText("F_GardenLab"); ManaReso.SetText("Fg_Tit"); ManaReso.SetText("Fg_Lab"); ManaReso.SetText("Fg_BtnLab"); #region F_Close ManaReso.AddButtonEvent ( "F_Close", () => { ManaReso.Get("F_Manage").TweenBacGra(); } ); #endregion #region F_Flower ManaReso.AddButtonEvent ( "F_Flower", () => { ManaReso.Get("G_Flower").TweenForCG(); } ); #endregion #region F_TabBtn ManaReso.Get("F_Elf").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad); ManaReso.Get("F_Store").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad); ManaReso.Get("F_Magic").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad); ManaReso.Get("F_Garden").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad); ManaReso.AddButtonEvent ( "F_Elf", () => { ManaReso.Get("F_Elf").TweenForScale(); ManaReso.Get("F_Store").TweenConBacScale(); ManaReso.Get("F_Magic").TweenConBacScale(); ManaReso.Get("F_Garden").TweenConBacScale(); ManaReso.Get("F_Elf").SetAsLastSibling(); ManaReso.Get("F_Store").SetSiblingIndex(0); ManaReso.Get("F_Magic").SetSiblingIndex(1); ManaReso.Get("F_Garden").SetSiblingIndex(2); ManaReso.Get