예제 #1
0
        /*--------------------------------------------------------------------------------------------* /
         * public void RemoveDestroyedItems() {
         *      if ( vItems == null ) {
         *              return;
         *      }
         *
         *      for ( int i = 0 ; i < vItems.Count ; i++ ) {
         *              if ( vItems[i] == null ) {
         *                      Debug.LogWarning("Removing destroyed item @ "+i);
         *                      vItems.RemoveAt(i);
         *                      i--;
         *              }
         *      }
         * }
         *
         *
         * ////////////////////////////////////////////////////////////////////////////////////////////////
         * /*--------------------------------------------------------------------------------------------*/
        public void FillListWithActiveItemComponents <T>(IList <T> pComponents) where T : Component
        {
            pComponents.Clear();

            if (vItemsActive == null)
            {
                return;
            }

            int itemCount = vItemsActive.Count;

            for (int i = 0; i < itemCount; i++)
            {
                HoverItem item = vItemsActive[i];

                if (item == null)
                {
                    continue;
                }

                T comp = item.GetComponent <T>();

                if (comp != null)
                {
                    pComponents.Add(comp);
                }
            }
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        private bool FilterItems(HoverItem pItem)
        {
            IItemDataSelectable selData = (pItem.Data as IItemDataSelectable);

            if (selData == null || !selData.IsStickySelected || !selData.AllowIdleDeselection)
            {
                return(false);
            }

            return(pItem.GetComponent <HoverItemHighlightState>().NearestHighlight != null);
        }