Esempio n. 1
0
    void Update()
    {
#if UNITY_EDITOR
        KeyboardInput();
        if (m_dragEnabled)
        {
            MouseDrag();
        }
#elif UNITY_IPHONE
        if (m_dragEnabled)
        {
            TouchDrag();
        }
#endif

        if (m_prevLayout != m_layout)
        {
            m_layout.InstantLayout = true;
            m_layout.CurrentIndex  = m_prevLayout.CurrentIndex;
            Dirty        = true;
            m_prevLayout = m_layout;
        }

        if (m_layout != null)
        {
            if (Dirty || m_layout.RequiresRelayout)
            {
                m_layout.Layout(Data, m_cells, m_dragState == DragState.Dragging);
                Dirty = false;
            }
        }
    }
Esempio n. 2
0
 public void SetLayout(CollectionViewLayout layout)
 {
     layout.RegisterCell(m_cell, OnCellClickEvent);
     layout.CurrentIndex = m_layout.CurrentIndex;
     m_prevLayout        = m_layout;
     m_layout            = layout;
     Dirty = true;
     m_layout.InstantLayout = true;
 }
        protected override DataTemplate OnSelectTemplate(object item, BindableObject container)
        {
            var horizontalList          = (CollectionView)container;
            CollectionViewLayout layout = horizontalList.CollectionLayout;

            switch (layout)
            {
            case CollectionViewLayout.Grid:
                return(GridTemplate);

            case CollectionViewLayout.Horizontal:
                return(HorizontalTemplate);

            default:
                return(VerticalTemplate);
            }
        }
Esempio n. 4
0
    void Awake()
    {
        m_prevLayout = m_layout;

        if (m_cell != null && m_layout != null)
        {
            m_layout.RegisterCell(m_cell, OnCellClickEvent);
        }

        //Register with any other components
        CollectionViewLayout[] layouts = GetComponents <CollectionViewLayout>();
        foreach (CollectionViewLayout layout in layouts)
        {
            if (m_layout != layout)
            {
                layout.RegisterCell(m_cell, OnCellClickEvent);
            }
        }

        m_cells = new List <iCollectionViewCell>();
    }
Esempio n. 5
0
        /// <summary>
        /// Draws the specified rect.
        /// </summary>
        /// <param name="rect">The rect.</param>
        public override void Draw(CGRect rect)
        {
            CollectionViewLayout.InvalidateLayout();

            base.Draw(rect);
        }
Esempio n. 6
0
 public CollectionLayoutChangedEventArgs(CollectionViewLayout listLayout)
 {
     ListLayout = listLayout;
 }