Для начала вообще почитать про то, какие паттерны есть. Есть отличная книга Сергея Теплякова "Паттерны проектирования в .NET"
да грубо говоря, я их уже по сто раз пересматривал, не могу в голове у себя понять как стоить логику для определения нужд
Думаю тут лучшим вариантом будет просмотр чужого качественного кода, и пытаться анализировать почему и как сделаны там разные вещи
если не можешь придумать куда воткнуть паттерн, то нужен ли он вообще?)
Если это пет для себя, то ничего не мешает тебе просто писать как получается. Либо у тебя получится самому реализовать какой-то паттерн, либо получится фигня и ты осознаешь, зачем люди придумали паттерн, какие проблемы он решает
в том то и дело, что я уже раз 5 заново переписывал
Тогда почему бы прямо не спросить "Делал то-то и то-то, получается фигня, есть ли паттерн под это?"?
дык я же и описываю все
А, соррян, не прочитал внимательно далее
я не прошу код, я прошу пищу для поправки мозга
это игра на unity? Не хочешь это на ecs сделать и с ООП можно не париться
просто во всех статьях\книжках описания паттернов для меня еще заумно звучат или я не могу интерпретировать свои обьекты под обекты в шаблонах
курил я ecs. вы хотите что бы я голову сломал с перехода с ооп в dots?
фреймворков куча не обязательно unity ecs можно morpeh или leoECS они намного легче для начинающего
я не настолько крут что бы так менять логику построения архитектуры
может просто на примере можете показать мне как бы вы это логически строили и к каким паттернам пришли?
ну пока данных недостаточно кто создает препятствия? И как ты путь ищешь а*?
AA* будет, есть в мире обьект PassabilityTileMap, которых содержит TileMap с инфой о проходимости каждой клетки и которую он изменяет в процессе игры, и так же в мире есть актеры которых содержат в себе компонент PassabilityTileMapObstacle которых описывает их размер на PassabilityTileMap
+ PassabilityTileMapObstacle подразделяется на StaticPassabilityTileObstacle & DynamicPassabilityTileObstacle. DynamicPassabilityTileObstacle делетися на DestructablePassabilityTileObstacle & UnitPassabilityTileObstacle
Сам TileMap должен быть универсальным типом, что бы мог содержать не только карту для поиска путей но и например для FogOfWar
такое разделение нужно для ускорения обновления изменений в карте
мы же говорим только про архитектуру части которая за поиск пути отвечает? Типы препятствий как то влияют на алгоритм поиска пути? Сложно так говорить пока все детали непонятны. Я бы не усложнял сделал бы какой-то класс с массовом всех объектов мира и на их основе бы делал каждый шаг грид (все равно положение меняется и его надо перестраивать) расставлял бы где препятствия и расчитывал путь
про поиск пути мы здесь не говорим, здесь идется разговор про систему постоения карты(инфы которая будет использована для пп)
ну появляется новый объект (препятствие,игрок) пусть добавляет себя в класс назови просто World а там уже внутри этого World делай с ним что хочешь
тут возникает нужда в поведенчиском паттерне
Как мне выбрать нужный паттерн в этом месте?
Обсуждают сегодня