SceneMask.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. public class SceneMask : Regist
  5. {
  6. #region 变量
  7. public static Material Material;
  8. public static BoxCollider2D BoxCollider;
  9. #endregion
  10. public override void RegistImmed()
  11. {
  12. enabled = true;
  13. Material = GetComponent<SpriteRenderer>().material;
  14. BoxCollider = ManaReso.Get<BoxCollider2D>("TutorialCollider");
  15. }
  16. public static void SetArea(Transform tra, Vector3 screenPos, float radiusX, float radiusY)
  17. {
  18. Material.SetFloat("_RadiusX", radiusX);
  19. Material.SetFloat("_RadiusY", radiusY);
  20. Material.SetVector("_Center", screenPos);
  21. BoxCollider.transform.SetX(tra.position.x);
  22. BoxCollider.transform.SetY(tra.position.y);
  23. BoxCollider.size = new Vector2(36*radiusX, 20*radiusY);
  24. ManaReso.Get("TutorialMask").TweenForSr();
  25. }
  26. public static void ClearArea()
  27. {
  28. Material.SetFloat("_RadiusX", 0);
  29. Material.SetFloat("_RadiusY", 0);
  30. Material.SetVector("_Center", new Vector2(0, 0));
  31. BoxCollider.transform.SetX(0);
  32. BoxCollider.transform.SetY(0);
  33. BoxCollider.size = new Vector2();
  34. ManaReso.Get("TutorialMask").TweenBacSr();
  35. }
  36. }