From f01d7212817de70480580d1cf7fc2388111f3464 Mon Sep 17 00:00:00 2001 From: glax Date: Tue, 16 Jan 2024 01:20:28 +0100 Subject: [PATCH] Add Overwrite to Shocker.Control for intensity and duration --- OpenCS2hock/Shocker.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OpenCS2hock/Shocker.cs b/OpenCS2hock/Shocker.cs index a999ba4..3fd3a35 100644 --- a/OpenCS2hock/Shocker.cs +++ b/OpenCS2hock/Shocker.cs @@ -12,18 +12,18 @@ internal abstract class Shocker internal enum ControlAction { Beep, Vibrate, Shock, Nothing } - internal void Control(ControlAction action, string? shockerId = null) + internal void Control(ControlAction action, string? shockerId = null, int? intensity = null, int? duration = null) { - int intensity = _intensity.GetValue(); - int duration = _duration.GetValue(); - this.Logger?.Log(LogLevel.Information, $"{action} {intensity} {duration}"); + int i = intensity ?? _intensity.GetValue(); + int d = duration ?? _duration.GetValue(); + this.Logger?.Log(LogLevel.Information, $"{action} {(intensity is not null ? "Overwrite " : "")}{i} {(duration is not null ? "Overwrite " : "")}{d}"); if (action is ControlAction.Nothing) return; if(shockerId is null) foreach (string shocker in _shockerIds) - ControlInternal(action, shocker, intensity, duration); + ControlInternal(action, shocker, i, d); else - ControlInternal(action, shockerId, intensity, duration); + ControlInternal(action, shockerId, i, d); } protected abstract void ControlInternal(ControlAction action, string shockerId, int intensity, int duration);