состояний игры
GameReady,
GameRunning,
GameOver
Как лучше всего реализовать доступ к этим состояниям для других компонентов?
Подскажите либо конкретный способ, либо в какую сторону гуглить)
Upd. Проект маленький/средний. Но можно подсказать способ и для масштабируемых проектов
У меня в маленькой игре это три bool, тоже интересно как оптимально делается
Зачем другим компонентам знать о состояниях? Состояния наоборот должны формировать набор компонентов, т.е. зависимости инвертируются.
Для меня пока это сложно. Что посоветуете изучить? DI контейнеры и zenject и вот это вот всё применяется в маленьких слабо масштабируемых проектах? Или это все оптимальнее применять в больших проектах, а в маленьких лучше просто писать на булевых переменных
Размер проекта не важен. Достаточно просто изучить, как работает инъекция зависимостей, и жизнь станет сильно проще. Zenject сразу в мусорное ведро. Вместо него бери VContainer. Документации для начального понимания должно хватить, там хорошее вступление.
Звучит оптимистично. Благодарю!
Вот хорошая статья: https://medium.com/kadinche-engineering/learning-architecture-messagepipe-and-vcontainer-by-creating-a-game-requested-by-my-own-daughter-8ee8303a718 Правда здесь еще прикрутили MessagePipe, но его бы я тоже рекомендовал к изучению. Удобная вещь для применения бок о бок с DI.
серьезно, а почему тогда extenject все расхваливают
Не знаю, кто его расхваливает. Монструозный форк, который ничем не отличается от сабжа, кроме поддержки новых версий движка. К тому же, еще и не обновляется и не закрывает кучу открытых тикетов.
Хрен его знает, каждую вторую вакансию открою, а там Extenject везде ипанный
Это корпоративный легаси потому что. На чем изначально пайплайн был построен, то и оставили. Для новых проектов его нет никакого смысла применять.
А почему Zenject так плох? Сам не изучал, на будущее
Обсуждают сегодня