public T Next(GrabStyle style = GrabStyle.RoundRobin) { lock (_Items) { T i = default(T); if (style == GrabStyle.RoundRobin) { if (_RRIndex >= _Items.Count) { _RRIndex = 0; } if (_RRIndex < _Items.Count) { i = _Items[_RRIndex++]; } } else { if (_Items.Count > 1) { i = _Items.OrderBy(x => _Rnd.Next()).FirstOrDefault(); } else if (_Items.Count == 1) { i = _Items[0]; } } return(i); } }
private void ChangeGrabStyle(XRController controller, XRRayInteractor interactor) { m_style = m_grabStyles[((int)m_style + 1) % m_grabStyles.Length]; textTimer.StartTimer(m_style.ToString()); }