using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; public class ManaTutorial : Regist { #region 变量 public static bool PayExempt { get { if (PayExempt_) { return true; } else { if (PayExemptAmt > 0) { PayExemptAmt--; return true; } else { return false; } } } set { PayExempt_ = value; } } public static bool ConnectExempt { get { if (ConnectExempt_) { return true; } else { if (ConnectExemptAmt > 0) { ConnectExemptAmt--; return true; } else { return false; } } } set { ConnectExempt_ = value; } } public static bool PayExempt_; public static bool ConnectExempt_; public static int PayExemptAmt; public static int ConnectExemptAmt; public static bool TutorialA; public static bool TutorialB; public static bool TutorialC; public static bool TutorialB_; public static bool TutorialC_; public static int TutorialIndexA; public static int TutorialIndexB; public static int TutorialIndexC; #endregion public override void Instantiate() { if (TutorialA) { ManaReso.Get("Tutorial", Folder.Scene, true, transform, false, ObjType.Tutorial).AddScript(); } } public override void RegistValueC() { ManaReso.Get("N_Mask").material = ManaReso.Load("UIMaskMat", Folder.UI); Tutorial.Arrow = ManaReso.Get("N_Arrow"); Tutorial.Material = ManaReso.Get("N_Mask").material; if (TutorialA) { ManaReso.Get("TutorialMask").AddScript(); ManaReso.Get("Tutorial").CreateTweenSr(0, 1, 1f, true, true, Curve.EaseOutQuad, false, true).AlphaOnly = true; ManaReso.Get("PlayerBk1").CreateTweenScale(new Vector3(0.75f, 0.75f, 0.75f), new Vector3(0.9f, 0.9f, 0.9f), 1f, true, true, Curve.EaseOutQuad); ManaReso.Get("PlayerBk2").CreateTweenScale(new Vector3(0.75f, 0.75f, 0.75f), new Vector3(0.9f, 0.9f, 0.9f), 1f, true, true, Curve.EaseOutQuad); ManaReso.Get("PlayerBk3").CreateTweenScale(new Vector3(0.75f, 0.75f, 0.75f), new Vector3(0.9f, 0.9f, 0.9f), 1f, true, true, Curve.EaseOutQuad); ManaReso.Get("TutorialMask").CreateTweenSr(0, 180 / 255f, 0.25f, true, true, Curve.EaseOutQuad); if (TutorialIndexA == 1) { EnterA1(); } else if (TutorialIndexA == 2) { EnterA2(); } else if (TutorialIndexA == 4) { ManaReso.SetActive("N_Tutorial", true); ManaReso.SetActive("Tutorial", true); ManaReso.SetActive("TutorialMask", true); ManaReso.SetActive("TutorialCollider", true); Garden.Instance.TutorialToRegular(); ManaUI.Instance.TutorialToRegular(); Transform tra = ManaGarden.SlotList[0].transform; Tutorial.HightScene(0.1f, 0.075f, tra.FindChild("SlotArrow"), tra); } else if (TutorialIndexA == 6) { Garden.Instance.TutorialToRegular(); ManaUI.Instance.TutorialToRegular(); EnterA6(); } } } public static void EndA1() { Destroy(ManaReso.Get("PlayerBk1").gameObject); Destroy(ManaReso.Get("PlayerBk2").gameObject); Destroy(ManaReso.Get("PlayerBk3").gameObject); EnterA2(); } public static void EndA2() { Tutorial.HightDisable(); EnterA3(); } public static void EndA3() { Tutorial.HightDisable(); ManaReso.SetActive("D_Quit", true); EnterA4(); } public static void EndA4() { Tutorial.HightDisable(); EnterA5(); } public static void EndA5() { EnterA6(); } public static void EndA6() { Tutorial.HightDisable(); EnterA7(); } public static void EndA7() { Tutorial.HightDisable(0, true); EnterA8(); } public static void EndA8() { Tutorial.HightDisable(0, true); EnterA9(); } public static void EndA() { TutorialA = false; ManaAchieve.UpdateHint(); Tutorial.HightDisable(); ManaReso.SetActive("Tutorial", false); ManaReso.SetActive("N_Tutorial", false); ManaPlayer.Player.SetAllCollider(true); PayExemptAmt = 0; ConnectExemptAmt = 0; } public static void EnterA1() { TutorialIndexA = 1; ManaPlayer.PlayerPink.CreateTweenScale(0.9f, 1f, true, true, Curve.EaseOutQuad); ManaPlayer.PlayerBlond.CreateTweenScale(0.9f, 1f, true, true, Curve.EaseOutQuad); ManaPlayer.PlayerBrown.CreateTweenScale(0.9f, 1f, true, true, Curve.EaseOutQuad); ManaReso.Get("PlayerBk2").TweenForScale(); ManaPlayer.PlayerBlond.TweenForScale(); ManaReso.SetActive("PlayerBk1", true); ManaReso.SetActive("PlayerBk2", true); ManaReso.SetActive("PlayerBk3", true); ManaReso.SetActive("TutorialMask", true); ManaReso.SetActive("TutorialCollider", true); ManaReso.SetActive("N_Tutorial", true); ManaReso.SetActive("N_Confirm", true); ManaReso.AddButtonEventOnetime ( "N_Confirm", () => { Transform tra = ManaPlayer.SeleTra; ManaPlayer.Player = tra.GetComponent(); tra.parent = ManaReso.Get("Garden"); ManaReso.TraDic.Add(tra.name, tra); ManaAudio.PlayClip(Clip.BtnClip); ManaReso.Get("PlayerBk1").SetCollider(false); ManaReso.Get("PlayerBk2").SetCollider(false); ManaReso.Get("PlayerBk3").SetCollider(false); tra.CreateTweenScale(ManaReso.Get("PlayerPosTra").localScale, 1f, true, true, Curve.EaseOutQuad); tra.CreateTweenVec3D(ManaReso.Get("PlayerPosTra").position, 1f, false, true, true, Curve.EaseOutQuad); tra.TweenForVec(); tra.TweenForScale(); ManaReso.Get("N_Confirm").TweenBacCG(); TweenRoot tween = ManaReso.Get("Tutorial").TweenBacSr(); tween.AddEventOnetime ( EventType.BackwardFinish, () => { EndA1(); } ); } ); } public static void EnterA2() { TutorialIndexA = 2; Garden.Instance.TutorialToRegular(); ManaUI.Instance.TutorialToRegular(); ManaReso.Get("C_Group").TweenForCG(); ManaReso.Get("C_MiniGame").TweenForCG(); ManaReso.SetActive("C_Coin", false); ManaReso.SetActive("C_Setting", false); ManaReso.SetActive("C_Achieve", false); ManaReso.SetActive("C_Manage", false); ManaReso.SetActive("N_Tutorial", true); TweenRoot tween = ManaReso.Get("N_Mask").TweenForGra(); tween.AddEventOnetime ( EventType.ForwardFinish, () => { Tutorial.HightScreen(ManaReso.Get("C_MiniArrow0"), ManaReso.Get("C_MiniArrow1"), ManaReso.Get("C_MiniGame")); } ); ManaReso.AddButtonEventOnetime ( "C_MiniGame", () => { EndA2(); } ); } public static void EnterA3() { ManaReso.Get("Tutorial").SetCollider(false); ManaReso.SetActive("D_Quit", false); TweenRoot tween = ManaReso.Get("D_MiniGame").GetTweenCG(); tween.AddEventOnetime ( EventType.ForwardFinish, () => { Tutorial.HightScreen(ManaReso.Get("D_BeginArrow0"), ManaReso.Get("D_BeginArrow1"), ManaReso.Get("D_Begin")); } ); ManaReso.PushButtonEventOnetime ( "D_Begin", () => { Tutorial.HightDisable(); } ); ManaReso.AddButtonEventOnetime ( "Da_GetAward", () => { EndA3(); } ); } public static void EnterA4() { TutorialIndexA = 4; TweenRoot tween = ManaReso.Get("D_MiniGame").GetTweenCG(); tween.AddEventOnetime ( EventType.BackwardFinish, () => { ManaReso.Get("Tutorial").SetCollider(true); ManaReso.Get("TutorialMask").material.SetAlpha("_Color", 1); ManaReso.SetActive("TutorialMask", true); ManaReso.SetActive("TutorialCollider", true); Transform tra = ManaGarden.SlotList[0].transform; Tutorial.HightScene(0.1f, 0.075f, tra.FindChild("SlotArrow"), tra); } ); } public static void EnterA5() { TweenRoot tween = ManaReso.Get("G_Flower").TweenForCG(); tween.AddEventOnetime ( EventType.ForwardFinish, () => { Transform tra = ManaReso.Get("G_RegularGrid").GetChild(0); Tutorial.HightScreen(tra.FindChild("Arrow0"), tra); } ); FlowerInfo flowerInfo = ManaGarden.FlowerInfoDic[1]; flowerInfo.Button.AddButtonEventOnetime ( () => { Tutorial.HightDisable(0, false); Tutorial.HightScreen(ManaReso.Get("G_Arrow0"), ManaReso.Get("G_Close")); } ); ManaReso.AddButtonEventOnetime ( "G_Close", () => { Tutorial.HightDisable(); } ); tween.AddEventOnetime ( EventType.BackwardFinish, () => { EndA5(); } ); } public static void EnterA6() { TutorialIndexA = 6; ManaReso.SetActive("C_Coin", true); ManaReso.SetActive("C_Setting", true); ManaReso.SetActive("C_Achieve", true); ManaReso.SetActive("C_Manage", true); ManaReso.SetActive("N_Tutorial", true); TweenRoot tween = ManaReso.Get("C_Group").TweenForCG(); tween.AddEventOnetime ( EventType.ForwardFinish, () => { Tutorial.HightScreen(ManaReso.Get("C_ManageArrow0"), ManaReso.Get("C_Manage")); } ); ManaReso.AddButtonEventOnetime ( "C_Manage", () => { EndA6(); } ); } public static void EnterA7() { TweenRoot tween = ManaReso.Get("F_Manage0").GetTweenVec(); tween.AddEventOnetime ( EventType.ForwardFinish, () => { Transform tra = ManaCenter.SkillDic["Ability1"].SkillItem; Tutorial.HightScreen(tra.FindChild("Arrow0"), tra.FindChild("Arrow1"), tra.FindChild("Btn")); } ); SkillRoot skill = ManaCenter.SkillDic["Ability1"]; skill.ItemBtn.AddButtonEventOnetime ( () => { Tutorial.HightDisable(0, true); PayExemptAmt = 1; } ); tween = ManaReso.Get("Fe_Info").GetTweenCG(); tween.AddEventOnetime ( EventType.ForwardFinish, () => { Tutorial.HightScreen(ManaReso.Get("Fe_Arrow0"), ManaReso.Get("Fe_Arrow1"), ManaReso.Get("Fe_Btn")); ManaReso.AddButtonEventOnetime ( "Fe_Btn", () => { ManaReso.Get("Fe_Info").TweenBacCG(); EndA7(); } ); } ); } public static void EnterA8() { TweenRoot tween = ManaReso.Get("Fe_Info").GetTweenCG(); tween.AddEventOnetime ( EventType.BackwardFinish, () => { Transform tra = ManaCenter.SkillDic["Skill1"].SkillItem; Tutorial.HightScreen(tra.FindChild("Arrow0"), tra.FindChild("Arrow1"), tra.FindChild("Btn")); } ); SkillRoot skill = ManaCenter.SkillDic["Skill1"]; skill.ItemBtn.AddButtonEventOnetime ( () => { Tutorial.HightDisable(0, true); PayExemptAmt = 1; } ); tween = ManaReso.Get("Fe_Info").GetTweenCG(); tween.AddEventOnetime ( EventType.ForwardFinish, () => { Tutorial.HightScreen(ManaReso.Get("Fe_Arrow0"), ManaReso.Get("Fe_Arrow1"), ManaReso.Get("Fe_Btn")); ManaReso.AddButtonEventOnetime ( "Fe_Btn", () => { ManaReso.Get("Fe_Info").TweenBacCG(); EndA8(); } ); } ); } public static void EnterA9() { TweenRoot tween = ManaReso.Get("Fe_Info").GetTweenCG(); tween.AddEventOnetime ( EventType.BackwardFinish, () => { ConnectExemptAmt = 1; Tutorial.HightScreen(ManaReso.Get("F_Arrow0"), ManaReso.Get("F_Skill1")); } ); ManaReso.AddButtonEventOnetime ( "F_SkillBk11", () => { EndA(); } ); } public static void EndC1() { Tutorial.HightDisable(); } public static void EndC() { TutorialC = false; ManaReso.Get("N_Tutorial").TweenBacCG(); PayExemptAmt = 0; ConnectExemptAmt = 0; } public static void EnterC1() { TutorialC = true; TutorialC_ = false; TweenRoot tween = ManaReso.Get("Fe_Info").TweenBacCG(); tween.AddEventOnetime ( EventType.BackwardFinish, () => { ManaReso.Get("F_Manage").TweenBacGra(); tween = ManaReso.Get("F_Manage0").GetTweenVec(); tween.AddEventOnetime ( EventType.BackwardFinish, () => { ManaReso.Get("C_Group").TweenReForCG(); ManaReso.Get("C_Group0").TweenReForCG(); } ); tween = ManaReso.Get("C_Group").GetTweenCG(); tween.AddEventOnetime ( EventType.ForwardFinish, () => { ManaReso.SetActive("N_Tutorial", true); tween = ManaReso.Get("N_Mask").TweenForGra(); tween.AddEventOnetime ( EventType.ForwardFinish, () => { PayExemptAmt = 1; ManaReso.SetActive("C_Visit", true); Tutorial.HightScreen(ManaReso.Get("C_VisitArrow0"), ManaReso.Get("C_Visit")); ManaReso.AddButtonEventOnetime ( "C_Visit", () => { EndC1(); } ); } ); } ); } ); } public static void EnterC2() { TweenRoot tween = ManaReso.Get("I_BlackMask").GetTweenCG(); tween.AddEventOnetime ( EventType.ForwardFinish, () => { Auxiliary.Instance.DelayCall ( () => { ManaReso.SetActive("C_Return", true); Tutorial.HightScreen(ManaReso.Get("C_ReturnArrow0"), ManaReso.Get("C_Return")); ManaReso.AddButtonEventOnetime ( "C_Return", () => { EndC(); } ); }, 3f ); } ); } public static void EndB1() { Tutorial.HightDisable(0, false); } public static void EndB2() { Tutorial.HightDisable(0, false); } public static void EndB3() { Tutorial.HightDisable(0, false); } public static void EndB4() { Tutorial.HightDisable(0, false); } public static void EndB5() { Tutorial.HightDisable(0, false); } public static void EndB() { Tutorial.HightDisable(); TutorialB = false; ManaMiniGame.Pause = false; } public static void EnterB1() { TutorialB_ = false; ManaReso.Get("N_Mask").TweenForGra(); ManaReso.SetActive("N_Tutorial", true); ManaMiniGame.Pause = true; int index = ManaMiniGame.IndexMap(ManaMiniGame.IndexList[0]); Tutorial.HightScreen(ManaReso.Get("D_FlowerArrow" + index), ManaReso.Get("D_FlowerBtn" + index)); ManaReso.AddButtonEventOnetime ( "D_FlowerBtn" + index, () => { EndB1(); EnterB2(); } ); } public static void EnterB2() { int index = ManaMiniGame.IndexMap(ManaMiniGame.IndexList[0]); Tutorial.HightScreen(ManaReso.Get("D_FlowerArrow" + index), ManaReso.Get("D_FlowerBtn" + index)); ManaReso.AddButtonEventOnetime ( "D_FlowerBtn" + index, () => { EndB2(); EnterB3(); } ); } public static void EnterB3() { int index = ManaMiniGame.IndexMap(ManaMiniGame.IndexList[0]); Tutorial.HightScreen(ManaReso.Get("D_FlowerArrow" + index), ManaReso.Get("D_FlowerBtn" + index)); ManaReso.AddButtonEventOnetime ( "D_FlowerBtn" + index, () => { EndB3(); EnterB4(); } ); } public static void EnterB4() { int index = ManaMiniGame.IndexMap(ManaMiniGame.IndexList[0]); Tutorial.HightScreen(ManaReso.Get("D_FlowerArrow" + index), ManaReso.Get("D_FlowerBtn" + index)); ManaReso.AddButtonEventOnetime ( "D_FlowerBtn" + index, () => { EndB4(); EnterB5(); } ); } public static void EnterB5() { int index = ManaMiniGame.IndexMap(ManaMiniGame.IndexList[0]); Tutorial.HightScreen(ManaReso.Get("D_FlowerArrow" + index), ManaReso.Get("D_FlowerBtn" + index)); ManaReso.AddButtonEventOnetime ( "D_FlowerBtn" + index, () => { EndB5(); EnterB6(); } ); } public static void EnterB6() { int index = ManaMiniGame.IndexMap(ManaMiniGame.IndexList[0]); Tutorial.HightScreen(ManaReso.Get("D_FlowerArrow" + index), ManaReso.Get("D_FlowerBtn" + index)); ManaReso.AddButtonEventOnetime ( "D_FlowerBtn" + index, () => { EndB(); } ); } } #region DebugList //教程有A,B,C三部分 //教程结束后各部分能否正常运行 //教程的存档 //中途进入教程的遮罩 #endregion