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(); } } }