// Функция private void DeleteXY(TileScript tile, Vector2[] dirArray) { List <TileScript> cashFindSprite = new List <TileScript>(); // Тут список совпадений // Если текущий тайл не имеет спрайта то закончить if (tile.spriteRenderer.sprite == null) { return; } //Пускаемлучи по вертикали (в верх потом в низ) и по горизонтали (в лево потом в право) for (int i = 0; i < dirArray.Length; i++) { cashFindSprite.AddRange(FindMatch(tile, dirArray[i])); } // Если совпадений от 3 до 4 if (cashFindSprite.Count >= 2 && cashFindSprite.Count < 4) { // Обрабатываем список for (int i = 0; i < cashFindSprite.Count; i++) { Score.AddCoin(); // Добавляем 1 очко cashFindSprite[i].spriteRenderer.sprite = null; // Убираем изобращение тайла Setting.empty.Add(cashFindSprite[i]); // В список пустых тайлов добавитьб текущий if (i == cashFindSprite.Count - 1) // Если последняя итерация { tile.spriteRenderer.sprite = null; // УБбираем спрайт у главного тайла Score.AddCoin(); // добавляем очко } } } else if (cashFindSprite.Count >= 4) // Если юольше 4х совпадений { for (int i = 0; i < cashFindSprite.Count; i++) // Обрабатываем список { cashFindSprite[i].spriteRenderer.sprite = null; // Обнуляем каждый тайл Score.AddCoin(); // Добавляем очки Setting.empty.Add(cashFindSprite[i]); // Добавляем в список тайлов котоыре пустые } DeleteOneColor(tile); // Запускаем функцию удаления тайлов одного цвета } }