Exemple #1
0
 public void UnlinkAll()
 {
     if (IOChanged != null)
     {
         IOChanged.GetInvocationList().ForEach((x) => IOChanged -= (Action)x);
     }
 }
Exemple #2
0
 public void IOChanged_Invoke()
 {
     if (IOChanged != null)
     {
         IOChanged.Invoke();
     }
 }
Exemple #3
0
    public void SetIO(BitArray values, byte fromStart, byte fromCount, byte toStart, byte toCount)
    {
        CheckParams(values, fromStart, fromCount, toStart, toCount);

        var oldInput = (BitArray)IOArray.Clone();

        for (var i = 0; i < toCount; i++)
        {
            IOArray[i + toStart] = fromCount == 1 ? values[fromStart] : values[i + fromStart];
        }
        if (IOChanged != null && oldInput.Xor(IOArray).Any(x => x))
        {
            IOChanged.Invoke();
        }
    }