public bool MoveNext() { if (queue.IsEmpty) { return(false); } var candidate = queue.Dequeue(); var fit = field.Fits(candidate.Block); if (fit == Fit.False) { return(MoveNext()); } else if (fit == Fit.True) { Enqueue(candidate, candidate.Others); return(NewMove(candidate) || MoveNext()); } else /* if (fit == Fit.Maybe) */ { Enqueue(candidate, candidate.Nexts); return(MoveNext()); } }
public unsafe void Dequeue_Item_Fail() { Assert.Throws <InvalidOperationException>(() => { FixedQueue <TestStruct> sut = stackalloc TestStruct[1]; sut.Dequeue(); }); }
/// <summary> /// Creates and stores a new <see cref="LagCompensationFrameData" /> using the current position and rotation data /// </summary> public void AddFrame() { if (frameKeys.Count == maxFrames) { frameData.Remove(frameKeys.Dequeue()); } double time = NetworkTime.time; Transform objTransform = transform; frameData.Add(time, new LagCompensationFrameData(objTransform.position, objTransform.rotation)); frameKeys.Enqueue(time); }
internal void AddFrame() { if (m_Framekeys.Count == m_MaxPoints) { m_FrameData.Remove(m_Framekeys.Dequeue()); } m_FrameData.Add(NetworkManager.Singleton.NetworkTime, new TrackedPoint() { position = transform.position, rotation = transform.rotation }); m_Framekeys.Enqueue(NetworkManager.Singleton.NetworkTime); }
internal void AddFrame() { if (Framekeys.Count == maxPoints) { FrameData.Remove(Framekeys.Dequeue()); } FrameData.Add(NetworkingManager.singleton.NetworkTime, new TrackedPointData() { position = transform.position, rotation = transform.rotation }); Framekeys.Enqueue(NetworkingManager.singleton.NetworkTime); }
internal void AddFrame() { if (Framekeys.Count == maxPoints) { FrameData.Remove(Framekeys.Dequeue()); } FrameData.Add((float)NetworkTime.time, new TrackedPointData() { position = transform.position, rotation = transform.rotation }); Framekeys.Enqueue((float)NetworkTime.time); }
public unsafe void Wrapping_Success() { FixedQueue <TestStruct> sut = stackalloc TestStruct[1]; for (var i = 0; i < 20; i++) { var expected = new TestStruct() { X = i, Y = i }; sut.Enqueue(expected); ref var actual = ref sut.Dequeue(); Assert.AreEqual(expected.X, actual.X); Assert.AreEqual(expected.Y, actual.Y); }
public unsafe void Dequeue_Item_Success() { var expected = new TestStruct() { X = 3, Y = 1 }; FixedQueue <TestStruct> sut = stackalloc TestStruct[1]; sut.Enqueue(expected); var testStruct = sut.Dequeue(); Assert.AreEqual(0, sut.Count); Assert.AreEqual(3, testStruct.X); Assert.AreEqual(1, testStruct.Y); }
internal static void StartTick(TickType type) { if (!isRunning) { return; } if (Ticks.Count == tickHistory) { Ticks.Dequeue(); } ProfilerTick tick = new ProfilerTick() { Type = type, Frame = Time.frameCount, EventId = EventIdCounter }; EventIdCounter++; Ticks.Enqueue(tick); CurrentTick = tick; }