Advertisement
HowTEYT

Untitled

Jul 29th, 2020
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class TreeManager : MonoBehaviour
  6. {
  7. private bool inRange = false;
  8. private float treePositionx;
  9. private float treePositiony;
  10. private float treePositionz;
  11.  
  12. public Transform treeSappling;
  13. public Transform treeHalfGrown;
  14. public Transform treeFullyGrown;
  15.  
  16. private void Awake()
  17. {
  18. treePositionx = transform.position.x;
  19. treePositiony = transform.position.y;
  20. treePositionz = transform.position.z;
  21. }
  22.  
  23. private void OnMouseDown()
  24. {
  25. if (inRange == true)
  26. {
  27. Debug.Log("Tree has been destroyed");
  28. MeshRenderer meshRenderer = GetComponentInChildren<MeshRenderer>();
  29. MeshCollider meshCollider = GetComponent<MeshCollider>();
  30. BoxCollider boxCollider = GetComponent<BoxCollider>();
  31. meshRenderer.enabled = false;
  32. meshCollider.enabled = false;
  33. boxCollider.enabled = false;
  34. StartCoroutine(TreeGrowingCoroutine());
  35. }
  36. }
  37.  
  38. private void OnTriggerStay(Collider other)
  39. {
  40. if(other.tag == "Character")
  41. {
  42. inRange = true;
  43. }
  44. }
  45.  
  46. private void OnTriggerExit(Collider other)
  47. {
  48. if(other.tag == "Character")
  49. {
  50. inRange = false;
  51. }
  52. }
  53.  
  54. IEnumerator TreeGrowingCoroutine()
  55. {
  56. Debug.Log("Started Tree Growing Cycle");
  57. yield return new WaitForSeconds(1);
  58. Transform sappling = Instantiate(treeSappling, new Vector3(treePositionx, treePositiony, treePositionz), treeSappling.rotation);
  59. yield return new WaitForSeconds(1);
  60. Destroy(sappling.gameObject);
  61. Transform halfTree = Instantiate(treeHalfGrown, new Vector3(treePositionx, treePositiony, treePositionz), treeHalfGrown.rotation);
  62. yield return new WaitForSeconds(1);
  63. Destroy(halfTree.gameObject);
  64. Transform treeGrown = Instantiate(treeFullyGrown, new Vector3(treePositionx, treePositiony, treePositionz), treeFullyGrown.rotation);
  65. Destroy(this.gameObject);
  66. }
  67. }
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement