internal bool Enqueue()
{
if (this.dataQueue.IsFull())
return false;
DataObject obj;
while (this.queue.IsEmpty())
{
if (this.obj != null)
{
obj = this.obj;
this.obj = null;
this.dataQueue.Write(obj);
if (this.long_3 == this.count)
{
this.count += this.delta;
this.percent++;
this.dataQueue.Enqueue(new OnSimulatorProgress(this.count, this.percent));
}
return true;
}
if (this.current > this.index2)
{
Done = true;
return false;
}
this.obj = this.series[this.current];
this.obj = this.processor.Process(this);
this.current++;
this.long_3++;
}
obj = (DataObject)this.queue.Read();
this.dataQueue.Write(obj);
if (this.long_3 == this.count)
{
this.count += this.delta;
this.percent++;
this.dataQueue.Enqueue(new OnSimulatorProgress(this.count, this.percent));
}
return true;
}