void UpdateSubscribedSteps( bool[] newSteps )
{
bool[] cachedSteps = _subscribedSteps;
_subscribedSteps = new bool[ newSteps.Length ];
int stepsToCopy = newSteps.Length > cachedSteps.Length ? cachedSteps.Length : newSteps.Length;
int i;
for( i = 0; i < stepsToCopy; i++ )
{
_subscribedSteps[ i ] = cachedSteps[ i ];
}
if( stepsToCopy >= newSteps.Length )
return;
for( i = stepsToCopy; i < newSteps.Length; i++ )
{
_subscribedSteps[ i ] = NewPulseStepShouldStartChecked( i );
}
}