void GenerateRewardCollectables(Vector2Int sizeMaze, TileEntity[,] tiles, TypeTile setType, GameObject rewardCollectableObject, int countCollectables) { if (sizeMaze == null || tiles == null) { Debug.LogError("Отсутствует игровое поле для установки игровых обьектов для награждения!"); } else if (rewardCollectableObject == null) { Debug.LogError("Требуемый шаблон игрового обьекта для награждения отсутствует!"); } else if ((sizeMaze.x * sizeMaze.y) < countCollectables || countCollectables <= 0) { Debug.LogError("Количество награждаемых игровых объектов должен быть в пределах от 1 до площади игрового пространства!"); } else { for (int i = 0; i < countCollectables; i++) { int x = Random.Range(0, sizeMaze.x - 1); int y = Random.Range(0, sizeMaze.y - 1); if (tiles[x, y].Type == TypeTile.Null) { GameObject collect = rewardCollectableObject; tiles[x, y].SpawnOnFloor(collect); tiles[x, y].gameObject.name += (" " + setType.ToString()); tiles[x, y].Type = setType; } else { i--; } } Debug.Log("Установка награждаемых игровых объектов выполнена!"); } }