Задать вопрос
VovanR
@VovanR
Фронт-энд Вэб-разработчик

Какой шаблон проектирования выбрать?

Имеется небольшая карта, ab27eea752c04f4fa7b70d4bbb110fc6.png
На ней можно строить здания, кликая мышкой по свободным ячейкам.
При инициализации карты от сервера приходит список уже построеных знадий:
"buildings": {
    "1": {
        "position": [2, 1],
        "type": "barrack"
    },
    "2": {
        "position": [2, 2],
        "type": "hospital"
    },
    "3": {
        "position": [0, 0],
        "type": "school",
        "size": 4
    },
}


У некоторых построек есть свойство size, равное 4 - это значит, что здание занимает 4 клетки.

Нужно:
  • строить здания, пришедшие при инициализации
  • динамически добавлять и разрушать здания
  • иметь доступ к зданию по его id


Я выбрал шаблон фабрики (Factory), но я его не очень хорошо понимаю - где хранить весь список зданий? В модуле фабрики? Или сделать фабрику частью модуля Здания?
Или мне нужен компоновщик (Composite)?

У меня есть модули:
  • Карта - отвечает за рендер карты, а также выдает ячейки по координатам
  • Здание - собственно здание. У него есть свойства: координата, размер, если он отличен от 1, ссылка на картинку здания
  • Фабрика Зданий - создает здания


Знаю, что это элементарные вещи для геймдева, но я пока с этим не особо знаком.
  • Вопрос задан
  • 2435 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы