делегировать 'func
' не принимает 3 аргумента < /p>
Вот mpepathfinding , где я получаю ошибку:
Код: Выделить всё
public MPEPathfinding(int width, int height)
{
grid = new Grid(width, height, 1f, Vector3.zero, (Grid g, int x, int y) => new MPEPathNode(g, x, y));
}
Код: Выделить всё
public MPEPathNode (Grid grid, int x, int y)
{
this.grid = grid;
this.x = x;
this.y = y;
}
< /code>
Наконец, вот конструктор сетки, который я использую: < /p>
public Grid(int width, int height, float cellSize, Vector3 originPosition, Func createGridObject)
{
this.width = width;
this.height = height;
this.cellSize = cellSize;
this.originPosition = originPosition;
gridArray = new TGridObject[width, height];
for (int x = 0; x < gridArray.GetLength(0); x++)
{
// other code
}
}
Я создал это, следуя учебному пособию на YouTube, пытаясь понять все, как я, но этот оторван. Мой код выглядит идентично учебному пособию (четырехкратный проверял его). Любая помощь была бы очень оценена! Я также рассмотрел несколько вопросов, заданных здесь, которые включали этот код ошибки или аналогичный, и не нашел ни одного, который помогает. Идея заключалась в том, чтобы передать каждому mpepathnode ссылку на сетку и ее местоположение в ней, как она создана. Это был случай, когда я не понимал выражения Lambda, и мне еще есть чему по -видимому, по -видимому, учиться, но ... решение для этой непосредственной проблемы состояла в том, чтобы изменить декларацию фонда конструктора сетки , чтобы взять 3 аргументы: < /p>
public Grid(int width, int height, float cellSize, Vector3 originPosition, Func createGridObject)
< /code>
Спасибо за помощь! Надеюсь, кто -то еще может найти это полезным в будущем.
Подробнее здесь: https://stackoverflow.com/questions/794 ... e-3-argume