public GameObject[] goArray;
public void Awake(){
foreach (var go in goArray)
go.GetComponent<Character>().isSelected = false;
}
public GameObject selected{//Вернет выделенного персонажа, если нет такого то null
get{
foreach (var go in goArray)
if (go.GetComponent<Character>().isSelected)
return go;
return null;
}
}
public void Update(){
if (Input.GetMouseButtonDown(0)){
var hit = Ray();
if (hit.collider.gameObject.tag == "Agent"){
var _ch = hit.collider.gameObject.GetComponent<Character>();
if(selected != null)
selected.isSelected = false;
_ch.isSelected = true;
} else if (hit.collider.gameObject.tag == "Ground"){
if(selected != null)
selected.GetComponent<Character>().agent.SetDestination(hit.point);
}
else if (selected != null)
selected.isSelected = false;
}
}
public void Awake()
{
Debug.Log("Персонажей в массиве: "+goArray.Length);
foreach (var go in goArray)
{
go.GetComponent<Character>().isSelected = false;
Debug.Log("Персонажей в массиве: "+ go.GetComponent<Character>().name );//допустим если есть у каждого персонажа имя
}
}
Сделайте цикл не бесконечный а от 0 до 100 и посмотрите если не зависнет, то это оно