SceneMask.cs 1.4 KB

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