protected override void InputPortUpdate() { if ((wasPortActivated ^ extendAtStart) && (!inputPort.GetFirst() ^ extendAtStart)) { extendTimer = Time.fixedTime + extendTime; } if (Time.fixedTime < extendTimer) { outputPort.Output = true; } else { extendTimer = float.NegativeInfinity; outputPort.Output = false; } outputPort.Output |= extendSignal && inputPort.GetFirst(); wasPortActivated = inputPort.GetFirst(); }