private void UpdateItemContentsBetweenIndices(int topIndex, int bottomIndex) { for (int i = topIndex; i <= bottomIndex; i++) { RecycledListItem item = items[i]; item.Position = i; adapter.SetItemContent(item); } }
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); } }
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); } }
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; }
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; }
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; } }
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); } }
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); } } }