Ejemplo n.º 1
0
        private void UpdateItemContentsBetweenIndices(int topIndex, int bottomIndex)
        {
            for (int i = topIndex; i <= bottomIndex; i++)
            {
                RecycledListItem item = items[i];

                item.Position = i;
                adapter.SetItemContent(item);
            }
        }
Ejemplo n.º 2
0
        private void DestroyItemsBetweenIndices(int topIndex, int bottomIndex)
        {
            for (int i = topIndex; i <= bottomIndex; i++)
            {
                RecycledListItem item = items[i];

                item.gameObject.SetActive(false);
                pooledItems.Push(item);
            }
        }
Ejemplo n.º 3
0
        public void OnItemClicked(RecycledListItem item)
        {
            if (currentlySelectedItem != null)
            {
                currentlySelectedItem.IsSelected = false;
            }

            currentlySelectedItem            = (ObjectReferencePickerItem)item;
            currentlySelectedObject          = currentlySelectedItem.Reference;
            currentlySelectedItem.IsSelected = true;

            if (onReferenceChanged != null)
            {
                onReferenceChanged(currentlySelectedItem.Reference);
            }
        }
Ejemplo n.º 4
0
        public void SetItemContent(RecycledListItem item)
        {
            ObjectReferencePickerItem it = (ObjectReferencePickerItem)item;

            it.SetContent(filteredReferences[it.Position]);

            if (it.Reference == currentlySelectedObject)
            {
                it.IsSelected         = true;
                currentlySelectedItem = it;
            }
            else
            {
                it.IsSelected = false;
            }

            it.Skin = Skin;
        }
Ejemplo n.º 5
0
        void IListViewAdapter.SetItemContent(RecycledListItem item)
        {
            ObjectReferencePickerItem it = (ObjectReferencePickerItem)item;

            it.SetContent(filteredReferences[it.Position], referenceDisplayNameGetter(filteredReferences[it.Position]));

            if (it.Reference == currentlySelectedObject)
            {
                it.IsSelected         = true;
                currentlySelectedItem = it;
            }
            else
            {
                it.IsSelected = false;
            }

            it.Skin = Skin;
        }
Ejemplo n.º 6
0
        void IListViewAdapter.SetItemContent(RecycledListItem item)
        {
            if (isListViewDirty)
            {
                RefreshListView();
            }

            HierarchyField drawer = (HierarchyField)item;
            HierarchyData  data   = GetDataAt(drawer.Position);

            if (data != null)
            {
                drawer.Skin = Skin;
                drawer.SetContent(data);
                drawer.IsSelected = m_currentSelection && m_currentSelection == data.BoundTransform;
                drawer.Refresh();

                shouldRecalculateContentWidth = true;
            }
        }
Ejemplo n.º 7
0
        void IListViewAdapter.OnItemClicked(RecycledListItem item)
        {
            if (currentlySelectedItem != null)
            {
                currentlySelectedItem.IsSelected = false;
            }

            currentlySelectedItem            = (ObjectReferencePickerItem)item;
            currentlySelectedObject          = currentlySelectedItem.Reference;
            currentlySelectedItem.IsSelected = true;

            try
            {
                if (onReferenceChanged != null)
                {
                    onReferenceChanged(currentlySelectedObject);
                }
            }
            catch (Exception e)
            {
                Debug.LogException(e);
            }
        }
Ejemplo n.º 8
0
        void IListViewAdapter.OnItemClicked(RecycledListItem item)
        {
            HierarchyField drawer = (HierarchyField)item;

            if (!drawer)
            {
                if (m_currentSelection)
                {
                    for (int i = drawers.Count - 1; i >= 0; i--)
                    {
                        if (drawers[i].gameObject.activeSelf && drawers[i].Data.BoundTransform == m_currentSelection)
                        {
                            drawers[i].IsSelected = false;
                        }
                    }

                    CurrentSelection = null;
                }
            }
            else if (m_currentSelection == drawer.Data.BoundTransform)
            {
                if (OnItemDoubleClicked != null)
                {
                    if (Time.realtimeSinceStartup - lastClickTime <= m_doubleClickThreshold)
                    {
                        lastClickTime = 0f;

                        if (m_currentSelection)
                        {
                            OnItemDoubleClicked(m_currentSelection);
                        }
                    }
                    else
                    {
                        lastClickTime = Time.realtimeSinceStartup;
                    }
                }
            }
            else
            {
                Transform clickedTransform = drawer.Data.BoundTransform;
                for (int i = drawers.Count - 1; i >= 0; i--)
                {
                    if (drawers[i].gameObject.activeSelf)
                    {
                        Transform drawerTransform = drawers[i].Data.BoundTransform;
                        if (drawerTransform == m_currentSelection)
                        {
                            drawers[i].IsSelected = false;
                        }
                        else if (drawerTransform == clickedTransform && clickedTransform)
                        {
                            drawers[i].IsSelected = true;
                        }
                    }
                }

                lastClickTime    = Time.realtimeSinceStartup;
                CurrentSelection = clickedTransform;

                if (m_isInSearchMode && clickedTransform)
                {
                    // Fetch the object's path and show it in Hierarchy
                    System.Text.StringBuilder sb = RuntimeInspectorUtils.stringBuilder;
                    sb.Length = 0;

                    sb.AppendLine("Path:");
                    while (clickedTransform)
                    {
                        sb.Append("  ").AppendLine(clickedTransform.name);
                        clickedTransform = clickedTransform.parent;
                    }

                    selectedPathText.text = sb.Append("  ").Append(drawer.Data.Root.Name).ToString();
                    selectedPathBackground.gameObject.SetActive(true);
                }
            }
        }