mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 03:48:56 +00:00
Modules - Added enable override mechanism
Profile modules - Added animated module enable/disable
This commit is contained in:
1 parent
73e992bbb7
commit
ed479abebc
21 files changed
+442
-122
No files matched your search
@@ -0,0 +1,41 @@
|
||||
using System.Threading.Tasks;
|
||||
using Artemis.Core.Plugins.Modules;
|
||||
|
||||
namespace Artemis.Core.Services.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// A service providing module activation functionality
|
||||
/// </summary>
|
||||
public interface IModuleService : IArtemisService
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets whether an override is currently being applied
|
||||
/// </summary>
|
||||
bool ApplyingOverride { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the current active module override. If set, all other modules are deactivated and only the
|
||||
/// <see cref="ActiveModuleOverride" /> is active.
|
||||
/// </summary>
|
||||
Module ActiveModuleOverride { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Changes the current <see cref="ActiveModuleOverride" /> and deactivates all other modules
|
||||
/// </summary>
|
||||
/// <param name="overrideModule"></param>
|
||||
Task SetActiveModuleOverride(Module overrideModule);
|
||||
|
||||
/// <summary>
|
||||
/// Evaluates every enabled module's activation requirements and activates/deactivates modules accordingly
|
||||
/// </summary>
|
||||
Task UpdateModuleActivation();
|
||||
|
||||
/// <summary>
|
||||
/// Updates the priority and priority category of the given module
|
||||
/// </summary>
|
||||
/// <param name="module">The module to update</param>
|
||||
/// <param name="category">The new priority category of the module</param>
|
||||
/// <param name="priority">The new priority of the module</param>
|
||||
void UpdateModulePriority(Module module, ModulePriorityCategory category, int priority);
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,9 @@ using RGB.NET.Core;
|
||||
|
||||
namespace Artemis.Core.Services.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// A service providing plugin management
|
||||
/// </summary>
|
||||
public interface IPluginService : IArtemisService, IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
Reference in new issue
Block a user