void SetSelectionFromState() { var selectedIndex = m_State.GetSelectedIndex(m_CurrentlyRenderedTree); while (selectedIndex >= 0) { var child = m_State.GetSelectedChild(m_CurrentlyRenderedTree); if (child == null) { break; } selectedIndex = m_State.GetSelectedIndex(child); if (selectedIndex < 0) { break; } m_ViewsStack.Push(m_CurrentlyRenderedTree); m_CurrentlyRenderedTree = child; } }
void SetSelectionFromState() { var selectedIndex = m_State.GetSelectedIndex(m_CurrentlyRenderedTree); while (selectedIndex >= 0) { var child = m_State.GetSelectedChild(m_CurrentlyRenderedTree); if (child == null) { break; } if (child.id == m_CurrentlyRenderedTree.id) { Debug.LogWarning($"Same id: {child.id} given to both {child.displayName} and {m_CurrentlyRenderedTree.displayName}. Selection may be wrong."); } selectedIndex = m_State.GetSelectedIndex(child); if (selectedIndex < 0) { break; } m_ViewsStack.Push(m_CurrentlyRenderedTree); m_CurrentlyRenderedTree = child; } }