Size: a a a

2020 June 21

К.

Кирилл .AJIADb9... in Unreal Engine
Nikolai Mikheev
А она тут при чём?
Мне нужно выполнить задачу, асинхронный таск, с использованием конкретных переменных.

Создаём класс, вставляем туда переменные, в нём запускаем таск который вернётся в его же метод и обработает заложенные изначальное переменные.
И класс нужно удалить.

Смысл в том, что если это делать в общем классе, то запустив метод и вложив переменные в одно место, таск может не завершиться, а придёт уже другая задача с новыми переменными, и тогда придыдущая завершаясь обработает переменные от новой.
А ты точно программист? Или это всё-таки можно на ночь скинуть? 🧐
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Nikolai Mikheev
А может дешевле будет вставлять переменные в таск? Придётся только добавить везде зависимости и параметры в делегаты.
Вариант, да
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Но тоже не всегда
источник

К.

Кирилл .AJIADb9... in Unreal Engine
И с унриловскими объектами нельзя (пусть будет так категорично) делать сишные приколы с памятью
Для таких дел есть conditional begin destroy
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Если я верно помню, всё время путаюсь в этих трёх методах...
источник

К.

Кирилл .AJIADb9... in Unreal Engine
То ли все три слова писать, то ли два, то ли одно (или там правила есть), обычно, просто по коду вспоминаю😬
источник

NM

Nikolai Mikheev in Unreal Engine
Кирилл .AJIADb9
И с унриловскими объектами нельзя (пусть будет так категорично) делать сишные приколы с памятью
Для таких дел есть conditional begin destroy
Так я простой класс C++ думал использовать, написал ведь в самом начале.
Это не UObject.

Пока пытаюсь понять какой вариант эффективнее.
Таск то тоже класс, и так же создаётся, и хранит переменные и уничтожается, видимо эффективнее будет использовать его.
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Ой, всё, а тут уже у меня ночь, я забыл прочитать то, что раньше, ворвался прямо так
источник

К.

Кирилл .AJIADb9... in Unreal Engine
А, не, просто не обратил внимание, не суть🤣
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Давай лучше практический пример
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Я так лучше понимаю
источник

NM

Nikolai Mikheev in Unreal Engine
Кирилл .AJIADb9
Давай лучше практический пример
Простой пример:
Создаётся Эктор, подаётся в метод регистрации БД.
В котором запускается асинхронный таск, который может длиться неизвестно сколько,
результатом возвращается Объект из БД, который далее должен объединиться со своим Эктором.

И в метод регистрации может прийти эктор быстрее чем завершиться предыдущий таск,
поэтому нужно как то привязывать эктор к таскам.

Вопрос к тому, вдруг кто то знает особое правильное решение.
источник

К.

Кирилл .AJIADb9... in Unreal Engine
А бд стрронняя или внутри движка?
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Особого правильного нет (ну или я ничего не знаю🧐)
источник

NM

Nikolai Mikheev in Unreal Engine
Кирилл .AJIADb9
А бд стрронняя или внутри движка?
А внутри движка это как?
Вообще не важно, она может находиться хоть на другой планете, поэтому нужно учитывать что время запроса может быть больше чем периодичность создания предметов.
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Короче, просто передай в лямбду ответа указатель на персонажа, над которым совершить действие, дёшево и сердито
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Или как там у тебя всё работает
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Блин, мне сложно думать, сорян...
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Короче, иди спать🤣 с утра мысли свежее
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Задача выглядит тривиальной, но я не понимаю, при чём тут персонажи
источник