mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-11 03:19:56 +00:00
Plugins - Added timed updates
Modules - Added option to disable updates while activation is overridden Display conditions - Added SKColor support Data bindings - Added SKColor support
This commit is contained in:
1 parent
d9017c67b4
commit
2eb4d615ae
48 files changed
+269
-100
No files matched your search
@@ -93,7 +93,13 @@ namespace Artemis.Core.Modules
|
||||
/// Gets whether this module's activation was due to an override, can only be true if <see cref="IsActivated" /> is
|
||||
/// true
|
||||
/// </summary>
|
||||
public bool IsActivatedOverride { get; set; }
|
||||
public bool IsActivatedOverride { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets whether this module should update if <see cref="IsActivatedOverride" /> is true
|
||||
/// <para>Defaults to <c>true</c></para>
|
||||
/// </summary>
|
||||
public bool UpdateDuringActivationOverride { get; protected set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// A list of activation requirements
|
||||
@@ -180,10 +186,11 @@ namespace Artemis.Core.Modules
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
internal virtual void InternalUpdate(double deltaTime)
|
||||
{
|
||||
Update(deltaTime);
|
||||
if (!IsActivatedOverride || UpdateDuringActivationOverride)
|
||||
Update(deltaTime);
|
||||
}
|
||||
|
||||
internal virtual void InternalRender(double deltaTime, ArtemisSurface surface, SKCanvas canvas, SKImageInfo canvasInfo)
|
||||
|
||||
@@ -141,7 +141,8 @@ namespace Artemis.Core.Modules
|
||||
|
||||
internal override void InternalUpdate(double deltaTime)
|
||||
{
|
||||
Update(deltaTime);
|
||||
if (!IsActivatedOverride || UpdateDuringActivationOverride)
|
||||
Update(deltaTime);
|
||||
|
||||
lock (this)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Timers;
|
||||
using Artemis.Core.Modules;
|
||||
|
||||
namespace Artemis.Core
|
||||
{
|
||||
@@ -53,6 +54,13 @@ namespace Artemis.Core
|
||||
if (_timer != null)
|
||||
return;
|
||||
|
||||
// Don't update during override if that is disabled on the module
|
||||
if (PluginInfo.Instance is Module module)
|
||||
{
|
||||
if (module.IsActivatedOverride && !module.UpdateDuringActivationOverride)
|
||||
return;
|
||||
}
|
||||
|
||||
_lastEvent = DateTime.Now;
|
||||
_timer = new Timer(Interval.TotalMilliseconds);
|
||||
_timer.Elapsed += TimerOnElapsed;
|
||||
|
||||
Reference in new issue
Block a user