Unity отложенное выполнение

215
06 июня 2018, 13:00

Делаю свою кастомную таблицу. То есть UI элемент. Есть метод drawAxis, который рисует сетку. В нём происходят все вычисления. Поскольку из потока графики нельзя создавать и удалять объекты, для текстовых элементов запускаю Corotine. Проблема в том, что после окончания Corotine мне нужно отрисовать по расчётным значениям линию. Причём необходимо это сделать в графическом потоке. Собственно вопрос. Как на С# реализовать ожидание завершения расчётов?

    protected override void OnPopulateMesh(VertexHelper vh)
{
    vh.Clear();
    this.vh = vh;
    DrawAxis(vh);
 // метод необходимо запустить после полного выполнения    
    DrawLine(vh);
}
Answer 1

Если я правильно понял, то вы делаете графику так:

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);
    }
}
READ ALSO
Как выполнить метод после return в web api?

Как выполнить метод после return в web api?

Код, который должен создать объект, отправить id, а затем обработать в бдПроблема в том, что я не понимаю как Сначала вернуть ответ, а уже потом...

275
Как в ListBox (WPF) добавить иконку?

Как в ListBox (WPF) добавить иконку?

Есть ListBox в который выводится список папок и файловКак в каждый item добавить маленькую иконку (как в Total Commander например)? По сути не понимаю...

246
c#. Как реализовать ожидание выполнения функции?

c#. Как реализовать ожидание выполнения функции?

Имеется такой цикл с подпиской на событие:

291
Ошибка 6002, 6013, 6005 Entity Framework

Ошибка 6002, 6013, 6005 Entity Framework

Что можно сделать с ошибками такого рода или как их полечить? Код в базе менять нельзя

234