public override void OnPulse( IGATPulseInfo pulseInfo )
{
if( _subscribedSteps[ pulseInfo.StepIndex ] == false )
return;
if( _randomBypass )
{
if( Random.value < _randomBypassChance )
return;
}
UpdateIndex( pulseInfo );
double dspTime = pulseInfo.PulseDspTime;
if( _randomDelay )
dspTime += ( double )Random.Range( 0f, _randomDelayMaxRatio ) * pulseInfo.PulseDuration;
if( _playingOrder != PlayingOrder.Together )
{
PlaySample( _sampleIndex, dspTime );
}
else
{
int i;
for( i = 0; i < _sampleCount; i++ ) //ToDo : Update sample count
{
PlaySample( i, dspTime );
}
}
}