PlatformDisable.cs 942 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System;
  2. using UnityEngine;
  3. [RequireComponent(typeof(Collider2D))]
  4. public class PlatformDisable : MonoBehaviour
  5. {
  6. private void Start()
  7. {
  8. this.m_collider = base.GetComponent<BoxCollider2D>();
  9. }
  10. private void Update()
  11. {
  12. Vector2 size = this.m_collider.size;
  13. Vector3 v = base.transform.position + new Vector3(-size.x / 2f, size.y / 2f, 0f);
  14. Vector3 v2 = base.transform.position + new Vector3(size.x / 2f, size.y, 0f);
  15. Collider2D exists = Physics2D.OverlapArea(v, v2, LayerManager.PlayerMask);
  16. if (exists && !this.playerHit)
  17. {
  18. this.playerHit = true;
  19. if (!base.IsInvoking("DisableCollider"))
  20. {
  21. base.Invoke("DisableCollider", this.existTime);
  22. }
  23. }
  24. }
  25. private void DisableCollider()
  26. {
  27. base.GetComponent<SpriteRenderer>().sprite = null;
  28. this.m_collider.enabled = false;
  29. }
  30. private BoxCollider2D m_collider;
  31. public float existTime;
  32. private bool playerHit;
  33. }