Notebook: GameLab – Telegram
Notebook: GameLab
32 subscribers
247 photos
1 video
1 file
16 links
Полевая записная книжка разработчика игр
https://news.1rj.ru/str/AnimusMortis
Download Telegram
#Теория
TaskCompletionSource<TResult>
Представляет сторону производителя Task<TResult> без подключения к делегату, предоставляя доступ к стороне потребителя через свойство Task.
Во многих сценариях полезно разрешить Task<TResult> представлять внешнюю асинхронную операцию. TaskCompletionSource<TResult> предоставляется для этой цели.

Пример:
private async Task<Sprite> GetIcon(int id)
{
Sprite icon = _defaultIcon;
if (id > 0)
{
var tcs = new TaskCompletionSource<Sprite>();

GetSpriteFromBundles bundles = new GetSpriteFromBundles();
bundles.GetIcon(id, sprite =>
{
if (sprite != null)
tcs.SetResult(sprite);
else
tcs.SetResult(_defaultIcon);
});

icon = await tcs.Task;
}
return icon;
}
🔥1
😁1
Поймал баг в Manor Lords - играю за святого барона, который ходит по воде)
👍1
Когда принялся за глобальный рефакторинг проекта
Когда жена не пустила домой после пьянки
(Medieval Dynasty)
😁2
Охрана не спит...
(Medieval Dynasty)
Свиная голова - лучшее украшение дома)
Когда под рукой нет компа, а уровень дизайнить надо
🔥4👍1
🤣2
🔥2
И в отечественном геймдеве тестов я не встречал...)
Левел дизайн в голове VS реальность
😁1
Когда решил пофиксить баг по-пути домой
🔥2
😁2
👍2
😁2
😁2