Ну как минимум визуально странно: проход во иксам в одном методе, по игрикам в другом, да никто так не делает. Во вторых это куча дополнительных вызовов фуркций, корорые будут тормозить работу.
Покажите код конкретный
Во вторых это куча дополнительных вызовов фуркций, корорые будут тормозить работу никто этого даже не заметит
Ну я пока вот что придумал bool escapeFlag = false; for (int logicPositionY = 0; logicPositionY < _context.LandModel.SizeY && !escapeFlag; logicPositionY++) { for (int logicPositionX = 0; logicPositionX < _context.LandModel.SizeX; logicPositionX++) { if (allowableCellSelector.Invoke(_context.LandModel.Cells[logicPositionY, logicPositionX])) { freeCellsList.Add(new Vector2Int(logicPositionX, logicPositionY)); if (--freeCellNeeded == 0) { escapeFlag = true; break; } } } }
allowableCellSelector - это что? замените break на return мб и всё. Если это весь код метода. Иначе - вынесите в метод и всё равно замените И && !escapeFlag можно убрать из циклов
предикат, а после форов идёт логика с заполненным массивом
Вам написанное в метод, только вместо бряка ретурн
смущает только что 2 раза одинаковый код list.ToArray()
Обсуждают сегодня