MyElementTile.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class MyElementTile : MonoBehaviour
  5. {
  6. Terrain tm;
  7. TerrainCollider tc;
  8. GameObject player;
  9. float curTime = 0;
  10. public float refreshTime = 2.0f;
  11. // Start is called before the first frame update
  12. void Start()
  13. {
  14. tm = this.GetComponent<Terrain>();
  15. tc = this.GetComponent<TerrainCollider>();
  16. tm.enabled = false;
  17. tc.enabled = false;
  18. }
  19. // Update is called once per frame
  20. void Update()
  21. {
  22. curTime += Time.deltaTime;
  23. if(curTime - refreshTime > 0)
  24. {
  25. curTime -= refreshTime;
  26. }
  27. else
  28. {
  29. return;
  30. }
  31. if (!player)
  32. {
  33. player = HeroPlayerController.Instance.m_Hero.gameObject;
  34. return;
  35. }
  36. if(Vector3.Distance(player.transform.position, this.transform.position) < 50)
  37. {
  38. tm.enabled = true;
  39. tc.enabled = true;
  40. }
  41. else
  42. {
  43. tm.enabled = false;
  44. tc.enabled = false;
  45. }
  46. }
  47. //private void OnTriggerEnter(Collider other)
  48. //{
  49. // if (other.gameObject.layer != LayerMask.NameToLayer("Player"))
  50. // {
  51. // return;
  52. // }
  53. //}
  54. //private void OnTriggerExit(Collider other)
  55. //{
  56. // if (other.gameObject.layer != LayerMask.NameToLayer("Player"))
  57. // {
  58. // return;
  59. // }
  60. //}
  61. }