Это Dynamic Multicast делегаты
В Общем, я сделал круговое динамическое меню (визуальную часть) и мне нужно при выборе вызывать определенные действия, определенного модуля.
Я отказался от жесткой связки компонентов и хотел просто вызывать ананимный делегат ссылка на который сохранена у самого экземпляра меню.
Пример:
Есть методы в различных модулях (не связных друг с другом):
InventoryModule->ActivateFirstSlot()
AbilityModule->ActivateFireball()
WeaponModule->ActivatShotgun()
Есть динамическое круговое меню такой структуры:
UI_RadialMenu->Items:
*Icon
*Name
*Delegate
при заполнении данного меню я просто указываю:
UI_RadialMenu->Items->Add(<icon>, <name>, &InventoryModule::ActivateFirstSlot)
UI_RadialMenu->Items->Add(<icon>, <name>, &AbilityModule::ActivateFireball)
UI_RadialMenu->Items->Add(<icon>, <name>, &WeaponModule::ActivatShotgun)
И при выборе элемента я просто делаю:
UI_RadialMenu->Items[0]->Call()
То есть делегат должен быть ананимным без определенной сигнатуры, подскажи в какую сторону копать плиз )