Задать вопрос

Как бы вы реализовали такую архитектуру в рамках PHP?

Для понятности поясню, это касаемо карточной игры.

Есть объект, к которому может быть привязан другой объект, при том связанный объект меняет характеристики и поведение первого объекта. И удаление этого связанного объекта возвращает его к исходному состоянию

Банальный пример: есть карта оружия, к ней можно применить карту усиления, или карту, которая позволяет надевать его в обход игровых правил(переписывает метод $itemCard->canEquip($player)).

Есть идея решения «в лоб», но, надеюсь, знающие люди подскажут более изящное решение.
  • Вопрос задан
  • 2647 просмотров
Подписаться 4 Оценить Комментировать
Ответ пользователя andrew_tch К ответам на вопрос (8)
andrew_tch
@andrew_tch
А как на тему простого EventDispatcher'a / EventListener'a? У нас есть событие GetCardPropeties, которое перезватывает стол или карта и модифицирует флаги события в зависимости от контекста.

И да, от PHP это решение не зависит )
Ответ написан