/// <summary> /// Checks if the green-to-red (=yellow) phase is currently active /// </summary> /// <returns></returns> internal bool isInEndTransition() { if (!timedNode.isMasterNode()) { TimedTrafficLights masterLights = timedNode.MasterLights(); if (masterLights != null) { return(masterLights.Steps[timedNode.CurrentStep].isInEndTransition()); } } return(endTransitionStart != null && getCurrentFrame() <= endTransitionStart && StepDone(false)); }
/// <summary> /// Checks if the green-to-red (=yellow) phase is finished /// </summary> /// <returns></returns> internal bool IsEndTransitionDone() { if (!timedNode.IsMasterNode()) { TimedTrafficLights masterLights = timedNode.MasterLights(); return(masterLights.Steps[masterLights.CurrentStep].IsEndTransitionDone()); } bool isStepDone = StepDone(false); bool ret = endTransitionStart != null && getCurrentFrame() > endTransitionStart && isStepDone; #if DEBUGTTL Log._Debug($"TimedTrafficLightsStep.isEndTransitionDone() called for master NodeId={timedNode.NodeId}. CurrentStep={timedNode.CurrentStep} getCurrentFrame()={getCurrentFrame()} endTransitionStart={endTransitionStart} isStepDone={isStepDone} ret={ret}"); #endif return(ret); }