public void GoToSubmenu(MainMenuSubmenu menu) { if (changeSubmenuRoutine == null) { changeSubmenuRoutine = StartCoroutine(ChangeSubmenu(menu)); } }
private IEnumerator ChangeSubmenu(MainMenuSubmenu menu) { // Deselect all, exit current then enter next EventSystem.current.SetSelectedGameObject(null); yield return(null); if (currentMenu != null) { yield return(StartCoroutine(currentMenu.ExitState())); } currentMenu = menu; yield return(StartCoroutine(currentMenu.EnterState())); EventSystem.current.SetSelectedGameObject(null); changeSubmenuRoutine = null; }