Таймеры в static-коде Unity без корутин и сторонних библиотек

В Unity мы привыкли использовать корутины (StartCoroutine) для реализации таймеров и отложенных вызовов. Однако этот подход требует наличия MonoBehaviour, что не всегда удобно. Особенно это становится проблемой, когда логика располагается…

Параллельное программирование и библиотека TPL (Задачи продолжения – continuation task )

Задачи продолжения или continuation task позволяют определить задачи, которые выполняются после завершения других задач. Благодаря этому мы можем вызвать после выполнения одной задачи несколько других, определить условия их вызова, передать из предыдущей…

Параллельное программирование и библиотека TPL (Работа с классом Task)

Одна задача может запускать другую - вложенную задачу. При этом эти задачи выполняются независимо друг от друга. Несмотря на то, что здесь мы ожидаем выполнения внешней задачи, но вложенная задача…

Параллельное программирование и библиотека TPL (класс Task)

В основе библиотеки TPL лежит концепция задач, каждая из которых описывает отдельную продолжительную операцию. В библиотеке классов .NET задача представлена специальным классом - классом Task, который находится в пространстве имен System.Threading.Tasks. Данный…

Как перенести проект Built-in Render Pipeline в Universal Render Pipeline (URP)

Universal Render Pipeline (URP) - это конвейер рендеринга по умолчанию в Unity 6. В этом руководстве мы объясним, почему мы делаем URP по умолчанию, расскажем о ключевых особенностях и преимуществах этого Scriptable…

Unity и Zenject(Extenject)

Данная статья является попыткой переварить и упростить 2-часовое видео, материала созданного ребятами из "k-syndicate.school" и предоставленного (за что им огромное спасибо) в свободном доступе: K-Syndicate. ZENJECT (позже EXTENJECT) - Фреймворк с…

Введение в Addressables. Часть 2: Практика

Меняем материал в Skybox с помощью Coroutine В проекте создаем сцену с тремя кнопками. Кнопки будут менять материал скайбокса. Также создаем три материала с Shader Skybox/Panoramic, материалам назначаем серый, зеленый…

Введение в Addressables. Часть 1: Установка

Система адресуемых объектов позволяет разработчику запрашивать ресурс по его адресу. Как только актив (например, префаб) помечен как «адресуемый», он генерирует адрес, который можно вызывать из любого места. Где бы ни…

Получаем данные из квитанции Google в Unity3D

PurchaseEventArgs является составным json объектом, Для наглядности мы будем использовать Unity3D: MiniJSON который декодирует и кодирует простые строки JSON и не предназначен для использования с массивами строк JSON. Поэтому данные…

Смотрим инфу о товаре в приложении для AppStore (Unity)

Иногда полезно понимать какую информацию о товаре можно получить из магазина.В случае Apple AppStore добавим в код приложения след логи: // логирование информации о товаре после покупки Debug.Log("1.0 " +…

Invoke и Time.timeScale

 Time.timeScale = 0.0f останавливает вызов Invoke. Решение - плагин DoTween, Он обеспечивает вызов функции DOVirtual.DelayedCall. Вы можете решить, игнорировать шкалу времени или нет. static Tween DOVirtual.DelayedCall(float delay, TweenCallback callback, bool ignoreTimeScale = true)delay Задержка обратного вызова.callback Обратный…

Firebase Functions

Бессерверное выполнение кода бэкенда Разработчики могут развертывать функции на JavaScript или TypeScript в ответ на события, инициированные функциями Firebase или HTTPS-запросами. Эта бессерверная модель устраняет необходимость в предоставлении или управлении…

Iftop, отслеживайте потребление полосы пропускания вашей сети в режиме реального времени

В следующей статье мы рассмотрим iftop. Некоторое время назад мы говорили в этом блоге о том, как убивать процессы, и в этом посте мы рассмотрели использование Топовый объект. В этой статье…

AdMob для Android и IOS

Создадим новый проект для мобильных устройств "Test Admob". Настроим созданный проект для билда АПК согласно статьи "Сборка проекта для ОС Android"также офф статья по сборке андроидУстанавливаем из AssetLib плагин Admob…