using LitJson; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; using System; using System.Xml; using System.Collections; using System.Collections.Generic; using UnityEngine.Events; using Random = UnityEngine.Random; public class ManaUI : Regist { #region 变量 public static ManaUI Instance; public static Transform Canvas; public static Transform Camera; public static Transform Transform; public static Transform EventSystem; #endregion public static void InitialInstantiate() { Transform tra = new GameObject("UI").transform; tra.parent = Transform; Canvas = ManaReso.Get("Canvas", Folder.UI, false, tra, false, ObjType.Canvas); Camera = ManaReso.Get("MainCamera", Folder.UI, true, tra, false, ObjType.MainCamera); EventSystem = ManaReso.Get("EventSystem", Folder.UI, false, tra, false, ObjType.EventSystem); tra = ManaReso.Get("GroupA", Folder.UI, true, Canvas, false, ObjType.GroupA); tra.SetActive(true); tra = ManaReso.Get("GroupB", Folder.UI, true, Canvas, false, ObjType.GroupB); tra.SetActive(true); tra = ManaReso.Get("GroupC", Folder.UI, true, Canvas, false, ObjType.GroupC); tra.SetActive(true); tra = ManaReso.Get("GroupD", Folder.UI, true, Canvas, false, ObjType.GroupD); tra.SetActive(true); ManaReso.TraDic.Add(Canvas.name, Canvas); } public override void RegistImmed() { if (RegistFlag) { return; } else { RegistFlag = true; } Transform = transform; } public override void RegistValueA() { Instance = this; #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.MainDepth++; }; tween.OnBackwardFinish += () => { ManaData.MainDepth--; ManaReso.Get("Bb_SignIn").TweenBacCG(); ManaReso.SetActive("Ba_Notice", true); }; #endregion #region Ba_Confirm ManaReso.AddButtonEvent ( "Ba_Confirm", () => { ManaAudio.PlayClip(Clip.BtnClip); int daySpan = ManaServer.Time.Day - ManaSign.SignTime.Day; int monthSpan = ManaServer.Time.Month - ManaSign.SignTime.Month; if (daySpan >= 1 || monthSpan >= 1) { ManaReso.Get("Bb_SignIn").TweenForCG(); ManaReso.SetActive("Ba_Notice", false); } else { ManaReso.Get("B_SignIn").TweenBacCG(); } } ); #endregion #region Bb_Get ManaReso.AddButtonEvent ( "Bb_Get", () => { ManaSign.Get(); ManaReso.SetActive("Bb_Get", false); ManaReso.SetActive("Bb_Rotate", true); ManaReso.SetActive("Bb_Confirm", true); ManaAudio.PlayClip(Clip.BtnClip); } ); #endregion #region Bb_SignIn tween = ManaReso.Get("Bb_SignIn").CreateTweenCG(0f, 1f, 0.5f, false, true, Curve.EaseOutQuad); tween.OnForwardStart += () => { ManaReso.SetActive("Bb_Get", true); ManaReso.SetActive("Bb_IconB", false); ManaReso.SetActive("Bb_IconA", false); ManaReso.SetActive("Bb_Rotate", false); ManaReso.SetActive("Bb_Confirm", false); }; #endregion #region Bb_Confirm ManaReso.AddButtonEvent ( "Bb_Confirm", () => { ManaReso.Get("B_SignIn").TweenBacCG(); ManaAudio.PlayClip(Clip.BtnClip); } ); #endregion #endregion #region C ManaLan.Add(ManaReso.Get("C_MiniGameLab"), new LanStr("UI", "C_MiniGameLab")); #region C_Main tween = ManaReso.Get("C_Main").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad); tween.OnForwardStart += () => { ManaData.MainDepth = -1; }; tween.OnBackwardStart += () => { ManaData.MainDepth = 0; }; #endregion #region C_Setting ManaReso.SetButtonEvent ( "C_Setting", () => { ManaAudio.PlayClip(Clip.BtnClip); ManaReso.Get("L_Setting").TweenForCG(); } ); #endregion #region C_Achieve ManaReso.AddButtonEvent ( "C_Achieve", () => { ManaReso.Get("M_Achieve0").TweenForVec(); ManaAudio.PlayClip(Clip.BtnClip); } ); #endregion #region C_Manage ManaReso.AddButtonEvent ( "C_Manage", () => { ManaReso.Get("F_Manage0").TweenForVec(); ManaAudio.PlayClip(Clip.BtnClip); } ); #endregion #region C_MiniGame tween = ManaReso.Get("C_MiniGame").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad); ManaReso.AddButtonEvent ( "C_MiniGame", () => { ManaReso.Get("GardenMini").TweenForVec(); ManaReso.Get("D_MiniGame").TweenForCG(); ManaMiniGame.GameEnter(); ManaAudio.PlayClip(Clip.BubbleClip); } ); #endregion #region C_IncomeLab ManaReso.Get("C_IncomeLab").CreateTweenGra(1, 0, 2, true, false, Curve.EaseOutQuad); ManaReso.Get("C_IncomeLab").CreateTweenVec2D(ManaReso.Get("C_Pos").position, 2, false, true, false, Curve.EaseOutQuad); #endregion #endregion #region D ManaReso.SetText("D_ScoreLab"); ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0")); ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0")); ManaLan.Add(ManaReso.Get("Da_Lab"), new LanStr("UI", "Da_Lab")); ManaLan.Add(ManaReso.Get("Da_QuitLab"), new LanStr("UI", "Da_QuitLab")); ManaLan.Add(ManaReso.Get("Da_ScoreTit"), new LanStr("UI", "Da_ScoreTit")); ManaLan.Add(ManaReso.Get("Da_CancelLab"), new LanStr("UI", "Da_CancelLab")); ManaLan.Add(ManaReso.Get("Da_GetAwardLab"), new LanStr("UI", "Da_GetAwardLab")); #region D_Rip ManaReso.AddButtonEvent ( "D_Rip2", () => { ManaMiniGame.Operate(OpType.Rip); ManaReso.Get("D_Rip2").TweenForScale(); ManaAudio.PlayClip(Clip.BtnClip); } ); tween = ManaReso.Get("D_Rip2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad); tween.OnForwardFinish += () => { ManaReso.Get("D_Rip2").TweenBacScale(); }; #endregion #region D_Quit ManaReso.AddButtonEvent ( "D_Quit", () => { ManaAudio.PlayClip(Clip.CloseClip); ManaMiniGame.Pause = true; ManaReso.Get("Da_Info").TweenConForCG(); ManaReso.Get("Da_CoinGroup").GetTweenScale().InDestination = true; ManaReso.Get("Da_FlowerGroup").GetTweenScale().InDestination = true; ManaReso.Get("Da_DiamondGroup").GetTweenScale().InDestination = true; ManaReso.SetText("Da_Tit", Language.GetStr("UI", "Da_Tit0")); ManaReso.SetText("Da_CoinLab", "100+"); ManaReso.SetText("Da_DiamondLab", "10+"); ManaReso.SetActive("Da_Lab", true); ManaReso.SetActive("Da_Quit", true); ManaReso.SetActive("Da_Cancel", true); ManaReso.SetActive("Da_CoinLab", true); ManaReso.SetActive("Da_DiamondLab", true); ManaReso.SetActive("Da_HGroup", false); ManaReso.SetActive("Da_ScoreTit", false); ManaReso.SetActive("Da_GetAward", false); ManaReso.SetActive("Da_DiamondGroup", true); FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic[ManaMiniGame.Flower]; Vector2 newSize = flowerInfo.Icon.rect.size; newSize.x *= 0.2f; newSize.y *= 0.2f; ManaReso.Get("Da_FlowerIcon").sprite = flowerInfo.Icon; ManaReso.Get("Da_FlowerIcon").rectTransform.sizeDelta = newSize; ManaReso.SetText("Da_FlowerLab", Language.GetStr("FlowerName", "Flower" + flowerInfo.ID_)); Auxiliary.Instance.DelayCall ( () => { ManaReso.Get("Da_FlowerLab").SetLayoutDirty(); }, 2 ); } ); #endregion #region D_Begin ManaReso.AddButtonEvent ( "D_Begin", () => { ManaMiniGame.GamePrepare(); ManaAudio.PlayClip(Clip.BtnClip); } ); #endregion #region D_Water ManaReso.AddButtonEvent ( "D_Water2", () => { ManaMiniGame.Operate(OpType.Water); ManaReso.Get("D_Water2").TweenForScale(); ManaAudio.PlayClip(Clip.BtnClip); } ); tween = ManaReso.Get("D_Water2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad); tween.OnForwardFinish += () => { ManaReso.Get("D_Water2").TweenBacScale(); }; #endregion #region D_Fertilize ManaReso.AddButtonEvent ( "D_Fertilize2", () => { ManaMiniGame.Operate(OpType.Fertilize); ManaReso.Get("D_Fertilize2").TweenForScale(); ManaAudio.PlayClip(Clip.BtnClip); } ); tween = ManaReso.Get("D_Fertilize2").CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.2f, 1.2f, 1.2f), 0.1f, true, true, Curve.EaseOutQuad); tween.OnForwardFinish += () => { ManaReso.Get("D_Fertilize2").TweenBacScale(); }; #endregion #region D_TimerIcon ManaReso.Get("D_TimerIcon").material = ManaReso.Load("TimerMat", Folder.Effect); #endregion #region D_MiniGame tween = ManaReso.Get("D_MiniGame").CreateTweenCG(0, 1, 0.5f, false, true, Curve.EaseOutQuad); tween.OnForwardStart += () => { ManaReso.Get("C_Main").TweenBacCG(); ManaAudio.MusicTheme.TweenBacAudio(); ManaReso.SetText("D_ScoreLab"); ManaReso.SetText("D_BeginLab", Language.GetStr("UI", "D_BeginLab0")); ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0")); ManaData.MainDepth++; ManaGarden.AwardValid = false; }; tween.OnForwardFinish += () => { ManaAudio.MusicMini.TweenForAudio(); }; tween.OnBackwardStart += () => { ManaAudio.MusicMini.TweenBacAudio(); }; tween.OnBackwardFinish += () => { ManaAudio.MusicTheme.TweenForAudio(); ManaGarden.AwardValid = true; for (int i = 0; i < ManaMiniGame.IdleList.Count; i++) { ManaReso.Save(ManaMiniGame.IdleList[i]); ManaMiniGame.IdleList.RemoveAt(i--); } for (int i = 0; i < ManaMiniGame.OpList.Count; i++) { ManaReso.Save(ManaMiniGame.OpList[i]); ManaMiniGame.OpList.RemoveAt(i--); } }; #endregion #region D_PrepareLab Text text = ManaReso.Get("D_PrepareLab"); ManaReso.Get("D_PrepareLab").CreateStreamScale ( new List() { 0.5f, 0, 0.5f, 0, 0.5f, 0, 0.5f }, new List() { 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.125f }, new List() { new VecPair(2, 2, 2, 1, 1, 1), new VecPair(1, 1, 1, 0, 0, 0), new VecPair(2, 2, 2, 1, 1, 1), new VecPair(1, 1, 1, 0, 0, 0), new VecPair(2, 2, 2, 1, 1, 1), new VecPair(1, 1, 1, 0, 0, 0), new VecPair(0, 0, 0, 1, 1, 1), new VecPair(1, 1, 1, 1.5f, 0, 1) }, true, false, Curve.EaseOutQuad, false, new List() { () => { text.text = "3"; }, () => { }, () => { text.text = "2"; }, () => { }, () => { text.text = "1"; }, () => { }, () => { text.text = Language.GetStr("UI", "D_PrepareLab"); }, () => { }, () => { }, } ); #endregion #region Da_Star ManaReso.Get("Da_Star1").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad); ManaReso.Get("Da_Star2").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad); ManaReso.Get("Da_Star3").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad); #endregion #region Da_Info ManaReso.Get("Da_Info").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad); #endregion #region Da_Quit ManaReso.AddButtonEvent ( "Da_Quit", () => { ManaAudio.PlayClip(Clip.CloseClip); ManaReso.Get("C_Main").TweenForCG(); ManaReso.Get("Da_Info").TweenBacCG(); ManaReso.Get("GardenMini").TweenBacVec(); ManaReso.Get("D_MiniGame").TweenBacCG(); ManaMiniGame.GameEnd(); } ); #endregion #region Da_Score ManaReso.Get("Da_ScoreTit").CreateTweenFont(1, 25, 0.25f, false, true, Curve.EaseOutQuad); #endregion #region Da_Cancel ManaReso.AddButtonEvent ( "Da_Cancel", () => { ManaAudio.PlayClip(Clip.BtnClip); ManaReso.Get("Da_Info").TweenBacCG(); ManaMiniGame.Pause = false; } ); #endregion #region Da_GetAward ManaReso.Get("Da_GetAward").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad); ManaReso.AddButtonEvent ( "Da_GetAward", () => { ManaAudio.PlayClip(Clip.BtnClip); ManaReso.Get("C_Main").TweenForCG(); ManaReso.Get("Da_Info").TweenBacCG(); ManaReso.Get("GardenMini").TweenBacVec(); ManaReso.Get("D_MiniGame").TweenBacCG(); } ); #endregion #region Da_CoinGroup ManaReso.Get("Da_CoinGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad); #endregion #region Da_FlowerGroup ManaReso.Get("Da_FlowerGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad); #endregion #region Da_DiamondGroup ManaReso.Get("Da_DiamondGroup").CreateTweenScale(new Vector3(), new Vector3(1, 1, 1), 0.25f, false, true, Curve.EaseOutQuad); #endregion #endregion #region E #region E_Show ManaReso.SetButtonEvent ( "E_ShowBtn", () => { if (ManaReso.Get("E_Group").gameObject.activeSelf) { ManaReso.SetActive("E_Group", false); ManaReso.SetActive("Ea_Central", false); ManaReso.SetText("E_ShowLab", "显示"); } else { ManaReso.SetActive("E_Group", true); ManaReso.SetText("E_ShowLab", "隐藏"); } } ); #endregion #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_Free ManaReso.AddButtonEvent ( "Ea_Free", () => { ManaTutorial.PayExempt = true; } ); #endregion #region Ea_Send ManaReso.AddButtonEvent ( "Ea_Send", () => { ManaData.SaveTimer = 0; ManaServer.Save(); } ); #endregion #region Ea_Close ManaReso.AddButtonEvent ( "Ea_Close", () => { ManaReso.SetActive("Ea_Central", false); } ); #endregion #region Ea_Reset ManaReso.AddButtonEvent ( "Ea_Reset", () => { Data.ResetPlayerConfig(); Data.SaveXml(); } ); #endregion #region Ea_Unlock ManaReso.AddButtonEvent ( "Ea_Unlock", () => { ManaGarden.UnlockSlot(); } ); #endregion #endregion #region F ManaLan.Add(ManaReso.Get("F_ElfLab"), new LanStr("UI", "F_ElfLab")); ManaLan.Add(ManaReso.Get("F_StoreLab"), new LanStr("UI", "F_StoreLab")); ManaLan.Add(ManaReso.Get("F_MagicLab"), new LanStr("UI", "F_MagicLab")); ManaLan.Add(ManaReso.Get("F_GardenLab"), new LanStr("UI", "F_GardenLab")); ManaLan.Add(ManaReso.Get("Fg_Tit"), new LanStr("UI", "Fg_Tit")); ManaLan.Add(ManaReso.Get("Fg_Lab"), new LanStr("UI", "Fg_Lab0")); ManaLan.Add(ManaReso.Get("Fg_BtnLab"), new LanStr("UI", "Fg_BtnLab")); #region F_Close ManaReso.AddButtonEvent ( "F_Close", () => { ManaAudio.PlayClip(Clip.CloseClip); 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", () => { ManaAudio.PlayClip(Clip.BtnClip); 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