В течение короткой twitch-сессии я создал простого twitch-бота с нуля на typescript. Исходники можно найти в этом репозитории.
Расширение C#FixFormat для VSCode было обновлено до версии 0.0.60
Версия 0.0.60 расширения C#FixFormat для VSCode была опубликована в официальном магазине расширений.
Ошибки отображения web-шрифтов в Firefox
Последнюю неделю я потратил на перевод этого блога со старой верстки на “flexbox”. Количество CSS-стилей уменьшилось, размер html-контента уменьшился тоже, но захотелось большего - уменьшить размер web-шрифта с иконками. Я использовал FontAwesome
-шрифт как пример и создал новый кастомный шрифт, содержащий только нужные мне иконки - размер получился меньше 6kb! Но во время тестирования проявился странный баг - одна иконка отрисовывалась неправильно в Firefox
(58.0.1).
Использование слоев, тегов и других констант Unity из кода
Unity
позволяет настраивать имена слоев, тегов, осей ввода и других констант через визуальное редактирование в редакторе. Как мы можем получить все эти данные из кода?
Расширение C#FixFormat для VSCode было обновлено до версии 0.0.59
Версия 0.0.59 расширения C#FixFormat для VSCode была опубликована в официальном магазине расширений.
Расширение C#FixFormat для VSCode было обновлено до версии 0.0.58
Версия 0.0.58 расширения C#FixFormat для VSCode была опубликована в официальном магазине расширений.
Структура проекта на Unity
Довольно часто новые проекты начинаются как “proof of concept” для оценки геймплея и вообще жизнеспособности проекта. Берутся ассеты с assetstore как для кода, так и для контента, новые ресурсы в виде сцен, префабов, картинок и звуков создаются врассыпную, без четкой структуры. Но когда проект переходит в более зрелую стадию - это уже неуправляемая помойка с кучей неизвестных зависимостей и никто не знает, что можно удалять, а что нет. Знакомая ситуация?
Тесты производительности создания новых экземпляров классов
Для ECS фреймворка я попытался найти самый быстрый способ создания новых экземпляров любого класса. Стандартный вариант через Activator.CreateInstance
работает как надо, но почему бы не попробовать другие способы и не выбрать самый быстрый вариант.
Тесты производительности Event, ActionList, Observer, InterfaceObserver
Иногда нам нужно вызвать несколько методов как реакцию на событие - что стоит использовать в этом случае, чтобы уменьшить потери в производительности? Ответ не совсем очевиден.
Entity component system, основы
Entity Component System (ECS
) - это архитектурный паттерн, набирающий все большую популярность у разработчиков, желающих избежать ада ситуации “проще переписать все с нуля” в случае добавления или изменения игровых механик. Этот паттерн позволяет уменьшить связность между различными игромеханиками, что дает возможность добавлять / убирать / менять их независимо друг от друга и без потерь в производительности. Давайте разберем основы ECS.