MySplitTerrainTile.cs 1.7 KB

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