1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- 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<SpriteRenderer>().material;
- BoxCollider = ManaReso.Get<BoxCollider2D>("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();
- }
- }
- }
|