using UnityEngine; using UnityEngine.EventSystems; using System.Collections; using System.Collections.Generic; using UnityEngine.UI; public class Tutorial : Regist, IPointerClickHandler { #region 变量 public static string SelectPlayer { get { if (string.IsNullOrEmpty(_SelectPlayer)) { _SelectPlayer = "PlayerBlond"; } return _SelectPlayer; } set { _SelectPlayer = value; } } public static Transform Player { get { if (_Player == null) { _Player = PlayerBlond; } return _Player; } set { _Player = value; } } public static string _SelectPlayer; public static Transform _Player; public static bool UIMask; public static Material Material; public static Transform Arrow; public static Transform PlayerPink; public static Transform PlayerBlond; public static Transform PlayerBrown; public static List HighLightList = new List(); #endregion public override void TutorialInstantiate() { PlayerBrown = ManaReso.Get("PlayerBrown", Folder.Character, false, ManaReso.Get("PlayerBk1"), ManaReso.Get("PlayerBk1").position); PlayerBlond = ManaReso.Get("PlayerBlond", Folder.Character, false, ManaReso.Get("PlayerBk2"), ManaReso.Get("PlayerBk2").position); PlayerPink = ManaReso.Get("PlayerPink", Folder.Character, false, ManaReso.Get("PlayerBk3"), ManaReso.Get("PlayerBk3").position); } public override void TutorialRegistValue() { ManaReso.Get("Tutorial").CreateTweenSr(0, 1, 5f, true, true, true, Curve.EaseOutQuad); ManaReso.Get("PlayerBk1").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad); ManaReso.Get("PlayerBk2").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad); ManaReso.Get("PlayerBk3").CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(0.95f, 0.95f, 0.95f), 0.25f, true, true, Curve.EaseOutQuad); ManaReso.Get("TutorialMask").CreateTweenSr(0, 180/255f, 0.25f, false, false, true, Curve.EaseOutQuad); ManaReso.Get("TutorialMask").AddComponent().Regist(); Arrow = ManaReso.Get("N_Arrow"); Material = ManaReso.Get("N_Mask").material; } public static void HightScene(float radiusX, float radiusY, Transform posTra, Transform targetTra) { SceneMask.SetArea(targetTra, radiusX, radiusY); PointScene(Camera.main.WorldToScreenPoint(posTra.position), targetTra); } public static void HightScene(float radiusX, float radiusY, Transform posTra, Transform targetPos, Transform targetTra) { SceneMask.SetArea(targetTra, radiusX, radiusY); PointScene(Camera.main.WorldToScreenPoint(posTra.position), targetPos); } public static void HightScreen(Transform posTra, Transform targetTra) { targetTra.GetComponent().overrideSorting = true; PointScreen(posTra.position, targetTra); HighLightList.Add(targetTra.GetComponent()); } public static void HightScreen(Transform posTra, Transform targetPos, Transform targetTra) { targetTra.GetComponent().overrideSorting = true; PointScreen(posTra.position, targetPos); HighLightList.Add(targetTra.GetComponent()); } public static void HightDisable() { Arrow.SetActive(false); SceneMask.ClearArea(); for (int i = 0; i < HighLightList.Count; i++) { HighLightList[i].overrideSorting = false; } HighLightList = new List(); UIMask = false; ManaReso.Get("N_Mask").TweenConBacGra(); } private static void PointScene(Vector3 pos, Transform tra) { Vector3 pointPos = Camera.main.WorldToScreenPoint(tra.position); Arrow.position = pos; Arrow.right = pointPos - Arrow.position; Arrow.TweenForCG(); } private static void PointScreen(Vector3 pos, Transform tra) { Arrow.position = pos; Arrow.right = tra.position - Arrow.position; Arrow.TweenForCG(); UIMask = true; ManaReso.Get("N_Mask").TweenConForGra(); } public void OnPointerClick(PointerEventData eventData) { if (eventData.rawPointerPress.name == "PlayerBk1") { ManaReso.Get("PlayerBk1").TweenConForScale(); ManaReso.Get("PlayerBk2").TweenConBacScale(); ManaReso.Get("PlayerBk3").TweenConBacScale(); Player = PlayerBrown; SelectPlayer = "PlayerBrown"; } else if (eventData.rawPointerPress.name == "PlayerBk2") { ManaReso.Get("PlayerBk2").TweenConForScale(); ManaReso.Get("PlayerBk1").TweenConBacScale(); ManaReso.Get("PlayerBk3").TweenConBacScale(); Player = PlayerBlond; SelectPlayer = "PlayerBlond"; } else if (eventData.rawPointerPress.name == "PlayerBk3") { ManaReso.Get("PlayerBk3").TweenConForScale(); ManaReso.Get("PlayerBk1").TweenConBacScale(); ManaReso.Get("PlayerBk2").TweenConBacScale(); Player = PlayerPink; SelectPlayer = "PlayerPink"; } } }