using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Torch.API; using Torch.API.Managers; using Torch.API.Plugins; using Torch.Collections; namespace Torch.Server.ViewModels { public class PluginManagerViewModel : ViewModel { public MtObservableList Plugins { get; } = new MtObservableList(); public PluginViewModel SelectedPlugin { get; set; } public PluginManagerViewModel() { } public PluginManagerViewModel(IPluginManager pluginManager) { foreach (var plugin in pluginManager.OrderBy(x=>x.Name)) Plugins.Add(new PluginViewModel(plugin)); pluginManager.PluginsLoaded += PluginManager_PluginsLoaded; } private void PluginManager_PluginsLoaded(IReadOnlyCollection obj) { Plugins.Clear(); foreach (var plugin in obj) { Plugins.Add(new PluginViewModel(plugin)); } } } }