04.07.2018, 11:23
|
|
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
реализация специфического поведения
Друзья!
Я рискну ещё раз описать словами ситуацию в надежде получить дельный совет, хотя уже и сам понимаю, насколько это неблагодарное занятие - давать советы, не зная деталей проекта. И тем не менее.
Есть такая механика в одной игре (забыл название), когда герой может на время стать зомби. И в этом состоянии он лечится ядом и, наоборот, дамажится исцеляющими зельями и магией. Нужно реализовать нечто подобное, то есть изменять принимаемые эффекты при наличии некоторых статусов.
У меня сделан и работает вариант, когда текущие статус-эффекты модифицируют свойства самого персонажа - в геттере прописан запуск метода, перебирающего все действующие статус-эффекты и собирающего в кучу модификаторы соответствующего свойства.
А вот как в обратную сторону сделать? Наследование и переопределение сеттера не подходит, т.к. подобное поведение является временным. Понятно, что если подобные эффекты единичны, то можно и if вкатать да проверить, но как-то это не по-православному.
__________________
Не сломано - не чини!
|