using UnityEngine; using System.Collections; using System.Collections.Generic; public class SceneMask : MonoBehaviour { #region 变量 public static Material Material; public static BoxCollider2D BoxCollider; #endregion public void Regist() { Material = GetComponent().material; BoxCollider = ManaReso.Get("TutorialCollider"); } public static void SetArea(Transform tra, float radiusX, float radiusY) { Vector3 screenPos = Camera.main.WorldToScreenPoint(tra.position); screenPos = new Vector3(screenPos.x / Screen.width, screenPos.y / Screen.height, 0); if (Tutorial.UIMask) { Tutorial.Material.SetFloat("_RadiusX", radiusX); Tutorial.Material.SetFloat("_RadiusY", radiusY); Tutorial.Material.SetVector("_Center", screenPos); } else { Material.SetFloat("_RadiusX", radiusX); Material.SetFloat("_RadiusY", radiusY); Material.SetVector("_Center", screenPos); BoxCollider.transform.SetX(tra.position.x); BoxCollider.transform.SetY(tra.position.y); BoxCollider.size = new Vector2(36* radiusX, 20*radiusY); ManaReso.Get("TutorialMask").TweenConForSr(); } } public static void ClearArea() { if (Tutorial.UIMask) { Tutorial.Material.SetFloat("_RadiusX", 0); Tutorial.Material.SetFloat("_RadiusY", 0); Tutorial.Material.SetVector("_Center", new Vector2(0, 0)); } else { Material.SetFloat("_RadiusX", 0); Material.SetFloat("_RadiusY", 0); Material.SetVector("_Center", new Vector2(0, 0)); BoxCollider.transform.SetX(0); BoxCollider.transform.SetY(0); BoxCollider.size = new Vector2(); ManaReso.Get("TutorialMask").TweenConBacSr(); } } }