Делаю свою кастомную таблицу. То есть UI элемент. Есть метод drawAxis, который рисует сетку. В нём происходят все вычисления. Поскольку из потока графики нельзя создавать и удалять объекты, для текстовых элементов запускаю Corotine. Проблема в том, что после окончания Corotine мне нужно отрисовать по расчётным значениям линию. Причём необходимо это сделать в графическом потоке. Собственно вопрос. Как на С# реализовать ожидание завершения расчётов?
protected override void OnPopulateMesh(VertexHelper vh)
{
vh.Clear();
this.vh = vh;
DrawAxis(vh);
// метод необходимо запустить после полного выполнения
DrawLine(vh);
}
Если я правильно понял, то вы делаете графику так:
public class Image : Graphic
{
protected override void OnPopulateMesh(VertexHelper vh)
{
}
}
И вы потом вызываете метод OnPopulateMesh(VertexHelper vh) ? Если так? Ну сделайте два класса наследника
ImageFirst : Graphic и ImageSecond : Graphic, а в каждом свой метод и запускайте их тогда, когда надо, когда другие расчеты закончатся.
public class ImageFirst : Graphic
{
protected override void OnPopulateMesh(VertexHelper vh)
{
vh.Clear();
this.vh = vh;
DrawAxis(vh);
}
и
public class ImageSecond : Graphic
{
protected override void OnPopulateMesh(VertexHelper vh)
{
DrawLine(vh);
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей