- Home /
Can't click or highlight a button.
I follow brackeys tutorial ON how to make a Tower Defense game in unity E19,However when I hit play the buttons are highlightable for a second and after you they won't and can't select them.These are my scripts: NodeUI:
 using UnityEngine;
 using UnityEngine.EventSystems;
 using UnityEngine.UI;
 public class NodeUISript : MonoBehaviour {
     private Node target;
     public GameObject uii;
     
     public void SetTarget(Node _target){
         target = _target;
         transform.position = target.GetBuildPosition ();
         uii.SetActive (true);
   
 }
 
     public void Hide(){
         uii.SetActive (false);
     }
     public void Upgrade(){
         target.UpgradeTurret ();
         BuildManager.instance.DeselectNode ();
     }
 }
 
Node Code: using UnityEngine; using UnityEngine.EventSystems;
 public class Node : MonoBehaviour {
     
     public Color hoverColor;
     public Vector3 positionOffset;
     public Color NotEnoughMoneyColor;
     
     [Header("Optional")]
     public GameObject turret;
     public TowerLoopScript towerloopscript;
     [HideInInspector]
     public bool isUpgraded = false;
     private Renderer rend;
     private Color startColor;
     
     BuildManager buildManager;
     
     void Start ()
     {
         rend = GetComponent<Renderer>();
         startColor = rend.material.color;
         
         buildManager = BuildManager.instance;
     }
     
     public Vector3 GetBuildPosition ()
     {
         return transform.position + positionOffset;
     }
     
     void OnMouseDown ()
     {
 
         
         if (turret != null)
         {
             buildManager.SelectNode(this);
             return;
         }
         if (!buildManager.CanBuild)
             return;
         BuildTurret (buildManager.GetTurretToBuild());
     }
     void BuildTurret (TowerLoopScript blueprint){
         if (PlayerStats.Money < blueprint.Cost) {
             Debug.Log("Not enought Money");
             return;
         }
         PlayerStats.Money -= blueprint.Cost;
         Destroy (turret);
         GameObject _turret = (GameObject)Instantiate(blueprint.Prefab, GetBuildPosition(), Quaternion.identity);
         turret = _turret;
         towerloopscript = blueprint;
         GameObject effect = (GameObject)Instantiate(buildManager.BuildEffect,GetBuildPosition(), Quaternion.identity);
         Destroy (effect, 4f);
         isUpgraded = true;
         Debug.Log ("Turret Build! Money Left:" + PlayerStats.Money);
     }
     
     void OnMouseEnter ()
     {
         if (!buildManager.CanBuild)
             return;
         if (buildManager.HasMoney)
             rend.material.color = hoverColor;
         else {
             rend.material.color = NotEnoughMoneyColor;
         }
     }
     public void UpgradeTurret(){
     if (PlayerStats.Money < towerloopscript.upgradeCost) {
             Debug.Log("Not upgrade Money");
             return;
         }
         PlayerStats.Money -= towerloopscript.upgradeCost;
         Destroy (turret);
     
         GameObject _turret = (GameObject)Instantiate(towerloopscript.upgradedPrefab, GetBuildPosition(), Quaternion.identity);
         turret = _turret;
         GameObject effect = (GameObject)Instantiate(buildManager.BuildEffect,GetBuildPosition(), Quaternion.identity);
         Destroy (effect, 4f);
         isUpgraded = true;
         Debug.Log ("Turret Upgarded! Money Left:" + PlayerStats.Money);
     }
     
     void OnMouseExit ()
     {
         rend.material.color = startColor;
     }
 
 }
               Comment
              
 
               
              Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                