public Clickable GetRandomFreeCellForBorn(Clickable excetions) { Clickable cell = null; List <int> tempArr = new List <int>(); for (int i = 0; i < cells.Length; i++) { /* * bool isBusy = false; * for (int j = 0; j < excetions.Length; j++) * { * if (excetions[j].num == i) * isBusy = true; * } * * if(!isBusy)*/ if (excetions == null || (excetions != null && excetions.num != i)) { tempArr.Add(i); } } do { if (tempArr.Count == 0) { return(cells[0]); } int randomNum = Random.Range(0, tempArr.Count - 1); int num = tempArr[randomNum]; cell = cells[num]; tempArr.RemoveAt(randomNum); } while (!cell.IsFree() /*!cell.IsFreeForBorn()*/); return(cell); }