Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 private void ChangeGrabStyle(XRController controller, XRRayInteractor interactor)
 {
     m_style = m_grabStyles[((int)m_style + 1) % m_grabStyles.Length];
     textTimer.StartTimer(m_style.ToString());
 }