Telegram Group & Telegram Channel
Forwarded from Game journalist Tycoon (Andrei Apanasik (Balancy))
И меня опять поразила болезнь велосипедостроения — решил простенький модуль для Dependency Injection запилить. В целом, там не то, чтоб для базовых вещей много чего сделать надо. Простейших биндингов и [Inject] атрибута уже хватило бы. Но потом добавляются фабрики, спавн префабов, отложенная инициализация...В итоге после пары дней решил, всё же, взять готовое.

Из чего выбирал:
1. По классике Zenject. Но он какой-то мёртвый. Не знаю, есть ли какой-то живой форк, но мне в Зенжекте всегда не нравилась монструозность. А потыкав код, сам убедился, что они что-то там с рефлексией перемудрили уж слишком. Плюс памяти оно лишней аллоцирует немало. Из интересного: там пулы используются даже для внутренних служебных задач, что весьма круто.
2. Reflex. Выглядит неплохо, поддерживается. Код в целом намного проще Зенжекта, всё также есть различные контексты: Проект -> сцена -> другие сцены.
3. Победил VContainer. Мелкий, быстрый и памяти меньше остальных выделяет (по словами автора). Покрывает вроде как большую часть хотелок. Код несложный, в случае чего форкну и допилю под себя. Единственный минус пока что в том, что не умеет из коробки [Inject] резолвить на монобехах на сцене. Приходится явно для всех указывать builder.RegisterComponentInHierarchy<Office>(). В принципе, ничего не мешает пробежать по сцене и проверить монобехи на аттрибут field.GetCustomAttributes, но это, всё же, будет весьма медленно для жирных сцен с кучей вложенных объектов. Ну и круто, что, если нужно будет выжать перфоманс, можно прикрутить Roslyn Source Generator для сорсгена.



group-telegram.com/gamedev_suffering/2652
Create:
Last Update:

И меня опять поразила болезнь велосипедостроения — решил простенький модуль для Dependency Injection запилить. В целом, там не то, чтоб для базовых вещей много чего сделать надо. Простейших биндингов и [Inject] атрибута уже хватило бы. Но потом добавляются фабрики, спавн префабов, отложенная инициализация...В итоге после пары дней решил, всё же, взять готовое.

Из чего выбирал:
1. По классике Zenject. Но он какой-то мёртвый. Не знаю, есть ли какой-то живой форк, но мне в Зенжекте всегда не нравилась монструозность. А потыкав код, сам убедился, что они что-то там с рефлексией перемудрили уж слишком. Плюс памяти оно лишней аллоцирует немало. Из интересного: там пулы используются даже для внутренних служебных задач, что весьма круто.
2. Reflex. Выглядит неплохо, поддерживается. Код в целом намного проще Зенжекта, всё также есть различные контексты: Проект -> сцена -> другие сцены.
3. Победил VContainer. Мелкий, быстрый и памяти меньше остальных выделяет (по словами автора). Покрывает вроде как большую часть хотелок. Код несложный, в случае чего форкну и допилю под себя. Единственный минус пока что в том, что не умеет из коробки [Inject] резолвить на монобехах на сцене. Приходится явно для всех указывать builder.RegisterComponentInHierarchy<Office>(). В принципе, ничего не мешает пробежать по сцене и проверить монобехи на аттрибут field.GetCustomAttributes, но это, всё же, будет весьма медленно для жирных сцен с кучей вложенных объектов. Ну и круто, что, если нужно будет выжать перфоманс, можно прикрутить Roslyn Source Generator для сорсгена.

BY Gamedev suffering





Share with your friend now:
group-telegram.com/gamedev_suffering/2652

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Perpetrators of these scams will create a public group on Telegram to promote these investment packages that are usually accompanied by fake testimonies and sometimes advertised as being Shariah-compliant. Interested investors will be asked to directly message the representatives to begin investing in the various investment packages offered. Stocks closed in the red Friday as investors weighed upbeat remarks from Russian President Vladimir Putin about diplomatic discussions with Ukraine against a weaker-than-expected print on U.S. consumer sentiment. Ukrainian President Volodymyr Zelensky said in a video message on Tuesday that Ukrainian forces "destroy the invaders wherever we can." After fleeing Russia, the brothers founded Telegram as a way to communicate outside the Kremlin's orbit. They now run it from Dubai, and Pavel Durov says it has more than 500 million monthly active users. Russians and Ukrainians are both prolific users of Telegram. They rely on the app for channels that act as newsfeeds, group chats (both public and private), and one-to-one communication. Since the Russian invasion of Ukraine, Telegram has remained an important lifeline for both Russians and Ukrainians, as a way of staying aware of the latest news and keeping in touch with loved ones.
from hk


Telegram Gamedev suffering
FROM American