/// <summary> /// Enqueue a Simulation Result. Thread-safe. /// </summary> /// <param name="step">Simulation Result.</param> private void EnqueueStep(SimulationStep step) { lock (stepsQueueLock) { stepsQueue.Enqueue(step); } }
/// <summary> /// Simulates one step. /// </summary> private void SimulateStep() { Debug.Log("Step"); CUE cue = CUE.GetInstance(); SimulationStep step = simulator.Step(cue.SimulationStep); EnqueueStep(step); nextStep = nextStep.AddSeconds(cue.VisualizationStep); }