На момент ноября 2024, в EA существует два основных пути как вы можете использовать Blazor для своих нужд.
До недавнего времени (окт. 2024) это был единственный вариант. Тут все просто - вы создаете ауру, добавляете в нее C# Overlay и ... в целом все. EA отвечает за то, чтобы на экране было отрисовано окно, внутри которого будет ваш код. Во всем остальном это самый обычный оверлей, вы точно так же можете задавать условия для отображения через триггеры, настраивать цвет, фон и т.п.
Вот пара примеров оверлеев:
Давайте набросаем простенький оверлей, в котором будет все та же одна кнопка и счетчик.
ВАЖНО! Учтите, что текстовый редактор, который используется в этом оверлее будет в ближайшее время заменен на новый. Поэтому сильно подробно в структуру оверлея я углубляться не буду, да и в целом больше рекомендую присмотреться к способу номер 2 - скриптам
Ну а теперь, собственно, главное блюдо. Теперь у вас есть возможность создавать не просто один-два оверлея, который управляются триггерами. Теперь вы можете создать целую собственную систему окон, управляемую скриптами. Они будут отображаться тогда и там, где вам удобно. Выглядеть будут так, как вы хотите. При этом EA будет снимать и митигировать значительную часть той головной боли, которая присутствует когда вы работаете, к примеру, с WPF или WinForms, особенно в части работы с несколькими потоками.
Теперь давайте посмотрим как можно работать с окнами из ваших скриптов.
var window = GetService<IDialogWindowUnstableScriptingApi>() // get DialogWindow API
.CreateWindow<UserComponent>() //create new window with UserComponent inside
.AddTo(ExecutionAnchors); //destroy when script is stopped
window.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
window.ShowDialog();
Это - основной интерфейс, через который предполагается взаимодействие пользователя с диалоговыми окнами. Есть и альтернативы, но на данный момент это самый высокоуровневый и защищенный вариант - он берет на себя определенное количество дополнительных обязанностей, такое как, к примеру, выгрузку окон при выгрузке ауры, подчистку ресурсов и т.п.
Да, Unstable этот API не потому, что работает плохо, а потому что в силу его новизны в нем вполне могут быть ломающие изменения в будущем. В какой-то момент он станет Stable