internal Enumerator(HpLinkedRange *range, NativeArray <Velocity> inputVelocities, float timeStep) { m_Range = range; m_Reader = new HpBlockStreamReader(m_Range); m_InputVelocities = inputVelocities; m_TimeStep = timeStep; unsafe { m_Current = default; } }
public bool MoveNext() { if (!m_Reader.HasItems && m_Range->m_next != null) { m_Range = m_Range->m_next; m_Reader = new HpBlockStreamReader(m_Range); } if (m_Reader.HasItems) { // Read the size first int size = m_Reader.Read <int>(); m_Current = new CollisionEventDataRef((CollisionEventData *)(m_Reader.Peek())); m_Reader.Advance(size); return(true); } return(false); }
public bool MoveNext() { if (!m_Reader.HasItems && m_Range->m_next != null) { m_Range = m_Range->m_next; m_Reader = new HpBlockStreamReader(m_Range); } if (m_Reader.HasItems) { var eventData = (TriggerEventData *)m_Reader.Peek(); Current = eventData->CreateTriggerEvent(); m_Reader.Advance(sizeof(TriggerEventData)); return(true); } return(false); }
internal Enumerator(HpLinkedRange *range) { m_Range = range; m_Reader = new HpBlockStreamReader(m_Range); Current = default; }