Сообщение от
Alexander Makeev
Компонент сам проверяет поддерживает ли он это что-то другое и если не поддерживает, то он к гую просто не цепляется и все. Поэтому это не должно быть проблемой.
А если будет 10 разных фронт-ендов, то у компонента код разрастется до умопомпрачительных размеров В идеале компонент вообще не должен знать откуда он запущен. Он, имхо, должен сказать на AttachGui что-то в духе
Код:
var item = m_vm.AddMenuItem(MenuItems.Tools, "Hello, world", OnMenuItemClick); // Menu section, Item title, Callback
а на DetachGui
Код:
m_vm.RemoveMenuItem(item);
а остальным должен заниматься какой-нибудь обработчик, который можно подменить извне (по типу как сделан VirtualMachine.OnUpdateVideo)