feature(feedbacks): adds public property AlwaysSendValue and new constructor to Bool, Int, and String Feedbacks that will always perform a FireUpdate event even when value is the same.

This commit is contained in:
Jason Alborough
2021-07-25 11:52:10 -04:00
parent 10f5516a5a
commit e3f5d74e7e
3 changed files with 23 additions and 4 deletions

View File

@@ -12,6 +12,7 @@ namespace PepperDash.Essentials.Core
public override int IntValue { get { return _IntValue; } } // ValueFunc.Invoke(); } }
int _IntValue;
public ushort UShortValue { get { return (ushort)_IntValue; } }
public bool AlwaysSendValue;
//public override eCueType Type { get { return eCueType.Int; } }
@@ -51,10 +52,16 @@ namespace PepperDash.Essentials.Core
ValueFunc = valueFunc;
}
public IntFeedback(string key, bool alwaysSendValue, Func<int> valueFunc)
: this(key, valueFunc)
{
AlwaysSendValue = alwaysSendValue;
}
public override void FireUpdate()
{
var newValue = InTestMode ? TestValue : ValueFunc.Invoke();
if (newValue != _IntValue)
if (newValue != _IntValue || AlwaysSendValue)
{
_IntValue = newValue;
LinkedInputSigs.ForEach(s => UpdateSig(s));