public override void Update() { Debug.Assert(this.m_State == BaseVisualTreeHierarchyTrackerUpdater.State.TrackingAddOrMove || this.m_State == BaseVisualTreeHierarchyTrackerUpdater.State.Waiting); bool flag = this.m_State == BaseVisualTreeHierarchyTrackerUpdater.State.TrackingAddOrMove; if (flag) { this.OnHierarchyChange(this.m_CurrentChangeElement, HierarchyChangeType.Move); this.m_State = BaseVisualTreeHierarchyTrackerUpdater.State.Waiting; } this.m_CurrentChangeElement = null; this.m_CurrentChangeParent = null; }
private void ProcessRemove(VisualElement ve) { this.OnHierarchyChange(this.m_CurrentChangeElement, HierarchyChangeType.Remove); bool flag = ve.panel != null; if (flag) { this.m_CurrentChangeParent = null; this.m_CurrentChangeElement = null; this.m_State = BaseVisualTreeHierarchyTrackerUpdater.State.Waiting; } else { this.m_CurrentChangeElement = ve; } }
private void ProcessAddOrMove(VisualElement ve) { Debug.Assert(this.m_CurrentChangeParent != null); bool flag = this.m_CurrentChangeParent == ve; if (flag) { this.OnHierarchyChange(this.m_CurrentChangeElement, HierarchyChangeType.Add); this.m_State = BaseVisualTreeHierarchyTrackerUpdater.State.Waiting; } else { this.OnHierarchyChange(this.m_CurrentChangeElement, HierarchyChangeType.Move); this.ProcessNewChange(ve); } }
private void ProcessNewChange(VisualElement ve) { this.m_CurrentChangeElement = ve; this.m_CurrentChangeParent = ve.parent; bool flag = this.m_CurrentChangeParent == null && ve.panel != null; if (flag) { this.OnHierarchyChange(this.m_CurrentChangeElement, HierarchyChangeType.Move); this.m_State = BaseVisualTreeHierarchyTrackerUpdater.State.Waiting; } else { this.m_State = ((this.m_CurrentChangeParent == null) ? BaseVisualTreeHierarchyTrackerUpdater.State.TrackingRemove : BaseVisualTreeHierarchyTrackerUpdater.State.TrackingAddOrMove); } }