Exemplo n.º 1
0
    private void SelectClosestItem()
    {
        if (ItemBuilderCount > 0)
        {
            UIFieldBuilder   anotherFieldBuilder   = (SelectionIndex < itemFieldBuilders.Count) ? itemFieldBuilders[SelectionIndex] : itemFieldBuilders[SelectionIndex - 1];
            ISelectableField anotherSelectableItem = anotherFieldBuilder != null?anotherFieldBuilder.GetComponentInChildren <ISelectableField>(true) : null;

            if (anotherSelectableItem != null)
            {
                anotherSelectableItem.SelectField();
            }
        }
        else
        {
            SelectionIndex = -1;
        }
    }
Exemplo n.º 2
0
    private UIFieldBuilder AddItemBuilder(UIField itemField, bool selectItem)
    {
        int fieldCount = ItemBuilderCount;

        if (itemFieldBuilders != null && itemFieldBuilders.Count > 0)
        {
            UIFieldBuilder newItemFieldBuilder;
            if (fieldCount == 0)
            {
                newItemFieldBuilder = itemFieldBuilders[0];
                if (newItemFieldBuilder == null)
                {
                    return(null);
                }
                newItemFieldBuilder.gameObject.SetActive(true);
            }
            else
            {
                newItemFieldBuilder = Instantiate(itemFieldBuilders[0], arrayRoot);
                if (newItemFieldBuilder == null)
                {
                    return(null);
                }
                itemFieldBuilders.Add(newItemFieldBuilder);
            }
            newItemFieldBuilder.CurrentField = itemField;

            ISelectableField newSelectableItem = newItemFieldBuilder.GetComponentInChildren <ISelectableField>(true);
            if (newSelectableItem != null)
            {
                newSelectableItem.AddSelectListener(SelectField);
                if (selectItem)
                {
                    newSelectableItem.SelectField();
                }
            }

            UpdateScrollBar();
            return(newItemFieldBuilder);
        }
        return(null);
    }
Exemplo n.º 3
0
 public bool MoveField(int fromIndex, int toIndex)
 {
     if (CurrentField != null && CurrentField is UIArrayField)
     {
         bool move = (CurrentField as UIArrayField).MoveField(fromIndex, toIndex);
         if (move == false)
         {
             return(false);
         }
         UIField swapField = itemFieldBuilders[fromIndex].CurrentField;
         itemFieldBuilders[fromIndex].CurrentField = itemFieldBuilders[toIndex].CurrentField;
         itemFieldBuilders[toIndex].CurrentField   = swapField;
         ISelectableField selectable = itemFieldBuilders[toIndex].GetComponentInChildren <ISelectableField>(true);
         if (selectable != null)
         {
             selectable.SelectField();
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }