Есть класс Buff с методами Enable() Update() Setup() ReEnable() Abort().
И есть класс Action, который содержит List buffs.
Как реализовать метод у Action типа такого: Action.BuffsOperation( Update ), в котором для каждого баффа из списка вызываем соответствующий метод Update() итд?
Знаю про паттерн Command, но может быть для такого есть что-то проще, например с делегатами?
Iq51, Можно еще в классе Action сделать методы, Update,Abort...в которых будут вызыватся
аналогичные методы класса Buff, вызывать buffs.ForEach(Update); ну это будет выглядеть еще хуже, оставьте как есть, все так и делают
Да, в вашем случае нет дублирования, но есть постоянный switch для каждого элемента. Возможно у меня
"экономия на спичках" - в игре может быть множество действий в секунду. Хотя, скорее всего, с делегатами будет производительность такая же, как и постоянный switch. (Edit) Но я не знаю как реализовать другие способы (через делегаты), чтобы сравнить производительность.