Воссоздаем игру "Астероиды" на Unity, изучая дизайн паттерны

Object Pool, Factory и Fly Weight для производительного, расширяемого и геймдизайнер - френдли проекта.

11

Комментарий недоступен

Ответить

Насчет пула можно согласиться, но тут тоже проблема в том что размер увеличивается х2. Для оптимизации можно было создать хеш таблицу и получить сложность О(1), но не думаю что объектов в пуле будет так много что нужно над этим заморачиваться

А в чем проблема в моем подходе? EntityManager подписан на каждый из спавнеров и при получении события спавна реагирует соответствующе для каждого типа объекта. Возможно такой подход выйдет из под контроля когда вырастет размер игры, но сейчас все работает отлично

Если паттерн создания общий то и объект будет одмнаковый, разве нет?) Фабрики в моем понимании для того чтобы работу создания объекта поручить другому объекту и благодаря этому не забывать об инициализации или еще о чем нибудь важном

Не совсем какие контроллеры, но EntityManager на Awake подписывается на спавнеров. Я знаю что иметь всю логику в монобехах это не круто с точки зрения оптимизации, но здесь это необходимо

В любом случае оптимизировать нужно когда надо, иначе код будет еще сложнее

Ответить