SceneMask.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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, float radiusX, float radiusY)
  17. {
  18. Vector3 screenPos = Camera.main.WorldToScreenPoint(tra.position);
  19. screenPos = new Vector3(screenPos.x / Screen.width, screenPos.y / Screen.height, 0);
  20. if (Tutorial.UIMask)
  21. {
  22. Tutorial.Material.SetFloat("_RadiusX", radiusX);
  23. Tutorial.Material.SetFloat("_RadiusY", radiusY);
  24. Tutorial.Material.SetVector("_Center", screenPos);
  25. }
  26. else
  27. {
  28. Material.SetFloat("_RadiusX", radiusX);
  29. Material.SetFloat("_RadiusY", radiusY);
  30. Material.SetVector("_Center", screenPos);
  31. BoxCollider.transform.SetX(tra.position.x);
  32. BoxCollider.transform.SetY(tra.position.y);
  33. BoxCollider.size = new Vector2(36* radiusX, 20*radiusY);
  34. ManaReso.Get("TutorialMask").TweenConForSr();
  35. }
  36. }
  37. public static void ClearArea()
  38. {
  39. if (Tutorial.UIMask)
  40. {
  41. Tutorial.Material.SetFloat("_RadiusX", 0);
  42. Tutorial.Material.SetFloat("_RadiusY", 0);
  43. Tutorial.Material.SetVector("_Center", new Vector2(0, 0));
  44. }
  45. else
  46. {
  47. Material.SetFloat("_RadiusX", 0);
  48. Material.SetFloat("_RadiusY", 0);
  49. Material.SetVector("_Center", new Vector2(0, 0));
  50. BoxCollider.transform.SetX(0);
  51. BoxCollider.transform.SetY(0);
  52. BoxCollider.size = new Vector2();
  53. ManaReso.Get("TutorialMask").TweenConBacSr();
  54. }
  55. }
  56. }