Показать сообщение отдельно
Старый 04.07.2018, 11:23
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 1  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
По умолчанию реализация специфического поведения

Друзья!

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

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

У меня сделан и работает вариант, когда текущие статус-эффекты модифицируют свойства самого персонажа - в геттере прописан запуск метода, перебирающего все действующие статус-эффекты и собирающего в кучу модификаторы соответствующего свойства.

А вот как в обратную сторону сделать? Наследование и переопределение сеттера не подходит, т.к. подобное поведение является временным. Понятно, что если подобные эффекты единичны, то можно и if вкатать да проверить, но как-то это не по-православному.
__________________
Не сломано - не чини!