35 lines
949 B
C#
35 lines
949 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Torch.API.Plugins;
|
|
|
|
namespace Torch.API.Managers
|
|
{
|
|
/// <summary>
|
|
/// API for the Torch plugin manager.
|
|
/// </summary>
|
|
public interface IPluginManager : IManager, IEnumerable<ITorchPlugin>
|
|
{
|
|
/// <summary>
|
|
/// Fired when plugins are loaded.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Fired when plugins are loaded and immediately if subscribed after the plugins are loaded.
|
|
/// </remarks>
|
|
event Action<IReadOnlyCollection<ITorchPlugin>> PluginsLoaded;
|
|
|
|
/// <summary>
|
|
/// Collection of loaded plugins.
|
|
/// </summary>
|
|
IReadOnlyDictionary<Guid, ITorchPlugin> Plugins { get; }
|
|
|
|
/// <summary>
|
|
/// Updates all loaded plugins.
|
|
/// </summary>
|
|
void UpdatePlugins();
|
|
|
|
/// <summary>
|
|
/// Load plugins.
|
|
/// </summary>
|
|
void LoadPlugins();
|
|
}
|
|
} |