public new object Clone() { ErrorSignal clone = new ErrorSignal(Error); return clone; }
/// <summary> /// All connections signalled false - send nil to all preceding nodes /// </summary> /// <param name="sender"></param> protected override void OnAllFiltered(FilteredList<IColorable> sender) { if (!SignalIfCan()) return; var exceptionChain = BuildExceptionChain(Connections); Signal = new ErrorSignal(new GraphExceptionAllPossibilitiesFailed(this, exceptionChain)); InvokeOnNotifyBack(); if (Parent != null) Parent.NotifyBack(this, Signal); }
private void OnAllOutputSignalled(FilteredList<IColorable> sender) { if (!SignalIfCan()) return; var exceptionChain = BuildExceptionChain(Output); Signal = new ErrorSignal(new GraphExceptionAllPossibilitiesFailed(this, exceptionChain)); base.NotifyBack(this, Signal); InvokeOnNotifyBack(); Input.NotifyBack(this, Signal); }