Ошибка cs0161 "не все пути к коду возвращают значение"
вообщем, суть такая: нужно проверять, заняты ли координаты объекта. для этого использую булевую переменную. И в итоге пишет "не все пути к коду возвращают значение". Помогите пожалуйста
private void SpawnPositions() {
List<Vector3> positions = new List<Vector3>();
if (IsPositionEmpty(new Vector3(nowCube.x + 1, nowCube.y, nowCube.z)))
positions.Add(new Vector3(nowCube.x, nowCube.y, nowCube.z));
}
private bool IsPositionEmpty(Vector3 targetPos) {
if(targetPos.y == 0)
return false;
foreach (Vector3 pos in allCubesPositions) {
if (pos.x == targetPos.x && pos.y == targetPos.y && pos.z == targetPos.z) {
return false;
}
return true;
}
}
P.S: простите если что-то в вопросе написал не так, я просто первый раз на форумах.
Ответы (1 шт):
Автор решения: Zufir
→ Ссылка
Если коллекция allCubesPositions пустая - то у вас return никогда не выполнится.
Кажется, return true; нужно вынести за цикл