//-------------------------------------- // Static Methods //-------------------------------------- public static void SelectBlock(SelectedBlockInfo info) { var wnd = GetWindow <UM_SettingsWindow>(); wnd.m_history.Add(info); }
protected override void OnLayoutGUI() { var newSelection = m_currentServiceTab.SelectedService; if (newSelection == null && m_3rdPartyServiceTab != null) { newSelection = m_3rdPartyServiceTab.SelectedService; } if (newSelection != null) { var info = new SelectedBlockInfo(); info.Platform = m_selectedPlatform; info.SettingsBlockTypeName = newSelection.GetType().Name; newSelection.UnSelect(); SelectBlock(info); } if (m_history.Count > 0) { var activeBlockInfo = m_history[m_history.Count - 1]; SetSelectedPlatform(activeBlockInfo.Platform); var block = m_currentServiceTab.GetBlockByTypeName(activeBlockInfo.SettingsBlockTypeName); //Probably that was another services block if (block == null && m_3rdPartyServiceTab != null) { block = m_3rdPartyServiceTab.GetBlockByTypeName(activeBlockInfo.SettingsBlockTypeName); } DrawBrowserTopbar(); block.DrawHeaderUI(); DrawScrollView(() => { block.DrawServiceUI(); }); } else { DrawTopbar(); DrawHeader(); var tabIndex = DrawMenu(); if (!string.IsNullOrEmpty(m_SearchString)) { DrawScrollView(() => { m_currentServiceTab.OnSearchGUI(m_SearchString); if (m_3rdPartyServiceTab != null) { m_3rdPartyServiceTab.OnSearchGUI(m_SearchString); } }); } else { DrawScrollView(() => { OnTabsGUI(tabIndex); }); } } }