private void SetActiveScreenInternal(Type screen_type) { for (int i = 0; i < this.m_Screens.Count; i++) { MainMenuScreen mainMenuScreen = this.m_Screens[i]; Type type = mainMenuScreen.GetType(); if (type == screen_type) { this.m_Screens[i].gameObject.SetActive(true); this.m_Screens[i].OnShow(); } else { this.m_Screens[i].gameObject.SetActive(false); this.m_Screens[i].OnHide(); } } }