public bool MoveNext() { var hasNext = MemorySteps.Any(); if (hasNext) { _current = MemorySteps.Dequeue(); } return(hasNext); }
public void Update(params MemoryStep[] memorySteps) { foreach (var step in memorySteps) { if (Shapes.Contains(step)) { continue; } Shapes.Add(step); MemorySteps.Enqueue(step); } }
public void Dispose() { MemorySteps.Clear(); Shapes.Clear(); }
public MemoryStep NextStep() => MemorySteps.Dequeue();