SceneMask.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. if (RegistFlag)
  13. {
  14. return;
  15. }
  16. else
  17. {
  18. RegistFlag = true;
  19. }
  20. enabled = true;
  21. Material = GetComponent<SpriteRenderer>().material;
  22. BoxCollider = ManaReso.Get<BoxCollider2D>("TutorialCollider");
  23. }
  24. public static void SetArea(Transform tra, Vector3 screenPos, float radiusX, float radiusY)
  25. {
  26. Material.SetFloat("_RadiusX", radiusX);
  27. Material.SetFloat("_RadiusY", radiusY);
  28. Material.SetVector("_Center", screenPos);
  29. BoxCollider.transform.SetX(tra.position.x);
  30. BoxCollider.transform.SetY(tra.position.y);
  31. BoxCollider.size = new Vector2(36*radiusX, 20*radiusY);
  32. ManaReso.Get("TutorialMask").TweenForSr();
  33. }
  34. public static void ClearArea()
  35. {
  36. Material.SetFloat("_RadiusX", 0);
  37. Material.SetFloat("_RadiusY", 0);
  38. Material.SetVector("_Center", new Vector2(0, 0));
  39. BoxCollider.transform.SetX(0);
  40. BoxCollider.transform.SetY(0);
  41. BoxCollider.size = new Vector2();
  42. ManaReso.Get("TutorialMask").TweenBacSr();
  43. }
  44. }