public bool ApplyIf( bool? condition, Action action = null ) { switch ( State ) { case ConditionMonitorState.None: State = ConditionMonitorState.Applying; var updated = condition.GetValueOrDefault( true ); if ( updated ) { action?.Invoke(); } State = updated ? ConditionMonitorState.Applied : ConditionMonitorState.None; return updated; } return false; }
public bool ApplyIf(bool?condition, Action action = null) { switch (State) { case ConditionMonitorState.None: State = ConditionMonitorState.Applying; var updated = condition.GetValueOrDefault(true); if (updated) { action?.Invoke(); } State = updated ? ConditionMonitorState.Applied : ConditionMonitorState.None; return(updated); } return(false); }
public void Reset() => State = ConditionMonitorState.None;