void InitializeOpenSnapshotItem(VisualTreeAsset openSnapshotItemTree, Dictionary <string, VisualElement> openSnapshotItemSlots, VisualElement snapshotHolder, ref OpenSnapshotItemUI openSnapshotItemUI, Action openSnapshotHandler) { #if UNITY_2019_1_OR_NEWER var item = openSnapshotItemTree.CloneTree(); #else openSnapshotItemSlots.Clear(); var item = openSnapshotItemTree.CloneTree(openSnapshotItemSlots); #endif item.style.flexGrow = 1; snapshotHolder.Add(item); item.AddManipulator(new Clickable(openSnapshotHandler)); openSnapshotItemUI.Item = item; openSnapshotItemUI.Image = item.Q <Image>("previewImage", "previewImage"); openSnapshotItemUI.Image.scaleMode = ScaleMode.ScaleToFit; openSnapshotItemUI.PlatformIcon = item.Q <Image>("platformIcon", "platformIcon"); openSnapshotItemUI.EditorPlatformIcon = item.Q <Image>("editorIcon", "platformIcon"); openSnapshotItemUI.NoData = item.Q <Label>("noDataLoaded"); openSnapshotItemUI.Name = item.Q <Label>("snapshotName"); openSnapshotItemUI.Date = item.Q <Label>("snapshotDate"); openSnapshotItemUI.Age = item.Q <Label>("snapshotAge"); UIElementsHelper.SetVisibility(openSnapshotItemUI.PlatformIcon, false); UIElementsHelper.SetVisibility(openSnapshotItemUI.EditorPlatformIcon, false); UIElementsHelper.SetVisibility(openSnapshotItemUI.NoData, true); UIElementsHelper.SetVisibility(openSnapshotItemUI.Name, false); }
public void SetSnapshotUIData(bool first, SnapshotFileGUIData snapshotGUIData, bool isInView) { OpenSnapshotItemUI itemUI = m_OpenSnapshotItemUIFirst; if (!first) { itemUI = m_OpenSnapshotItemUISecond; } if (snapshotGUIData == null) { UIElementsHelper.SwitchVisibility(itemUI.NoData, itemUI.Name); itemUI.Name.text = ""; itemUI.Date.text = ""; itemUI.Age.text = ""; itemUI.Image.image = null; UIElementsHelper.SetVisibility(itemUI.PlatformIcon, false); UIElementsHelper.SetVisibility(itemUI.EditorPlatformIcon, false); itemUI.UtcDateTime = default(DateTime); // one of both snapshots is not open so there is no Age comparison between them. m_OpenSnapshotItemUIFirst.Age.text = ""; m_OpenSnapshotItemUISecond.Age.text = ""; } else { UIElementsHelper.SwitchVisibility(itemUI.Name, itemUI.NoData); itemUI.Name.text = snapshotGUIData.Name.text; itemUI.Date.text = snapshotGUIData.SnapshotDate.text; itemUI.Image.image = snapshotGUIData.MetaScreenshot; UIElementsHelper.SetVisibility(itemUI.PlatformIcon, true); MemoryProfilerWindow.SetPlatformIcons(itemUI.Item, snapshotGUIData); UIElementsHelper.SwitchVisibility(snapshotGUIData.dynamicVisualElements.closeButton, snapshotGUIData.dynamicVisualElements.openButton, true); itemUI.UtcDateTime = snapshotGUIData.UtcDateTime; if (first && secondIsOpen || !first && firstIsOpen) { m_OpenSnapshotItemUIFirst.Age.text = GetAgeDifference(m_OpenSnapshotItemUIFirst.UtcDateTime, m_OpenSnapshotItemUISecond.UtcDateTime); m_OpenSnapshotItemUISecond.Age.text = GetAgeDifference(m_OpenSnapshotItemUISecond.UtcDateTime, m_OpenSnapshotItemUIFirst.UtcDateTime); } } if (first) { firstIsOpen = snapshotGUIData != null; } else { secondIsOpen = snapshotGUIData != null; } if (isInView) { SetFocusFirst(first); SetFocusSecond(!first); SetFocusDiff(false); } else { if (first) { SetFocusFirst(false); } else { SetFocusSecond(false); } } m_DiffButton.SetEnabled(firstIsOpen && secondIsOpen); UpdateWidth(layout.width); }