Великие архитекторы, к вам задачка)
Не знаю как лучше реализовать.
В игре существуют баффы( у них 1-5 лвл прокачки)
При том что каждый уровень прокачки может координально отличаться от предыдущего.
Как реализовать эти уровни.
Сейчас у меня есть скриптейблы этих объектов (я там храню пока визуал (GO)+ описание их в магазине).
На этом GO есть абстрактный класс Baff (с методами запуска и остановки)
У юнитов, которые могут с ними взаимодействовать есть компонент (условный BaffInterctable)
Он реагирует на триггер с этим объектом (вытягивает класс Baff и его запускает)
Проблема стоит в том, как сделать эти урони?
Чтобы в зависимости от лвл прокачки бафф должен работать определенным образом.
Вариант сделать в дочернем классе баффа просто разные методы, в которых в зависимости от лвл будет работать определенно не очень хочется, не очень красиво и будет огромный класс.
Думал может воспользоваться паттерном State, где каждый state - это уровень прокачки.
Тогда на каждый такой бафф будет по 5 state классов.
В общем не знаю, не могу решиться.
Может кто сталкивался и может что-то посоветовать.
Спасибо за уделенное время, даже просто что прочитала этот позыв)))
делаешь интерфейс, и его реализуешь (несколько классов для одного бафа) (для каждого вида баффа - свои интерфейс), а потом сетаешь класс в поле типа интерфейса (можно одним интерфейсом описать все бафы и тогда сделать массив баффов и вызывать метод которые бафает)