public void SetSelectedObject(GameObject go)
 {
     if (IsSelected(go) || go == null)
     {
         return;
     }
     if (selectedObject != go)
     {
         Node node = graph.GetNodeAt(Mathf.RoundToInt(go.transform.position.x), Mathf.RoundToInt(go.transform.position.z));
         if (unitDatabase.NodeContainsEnemies(node))
         {
             Unit unit = unitDatabase.GetUnitFromNode(node);
             Debug.Log(unit.health);
             selectedObject = go;
         }
         else if (towerDatabase.ContainsTowers(node))
         {
             Tower       tower       = towerDatabase.GetTowerFromNode(node);
             TowerHealth towerHealth = towerDatabase.GetTowerHealth(tower);
             Debug.Log(tower.Health);
             selectedObject = towerHealth.gameObject;
             Debug.Log("Selected GameObject " + selectedObject.name);
         }
         else
         {
             Debug.Log("No tower or units on node");
             DeselectObject();
         }
     }
 }