private IEnumerator OpenScreenSequence(MenuScreen menuScreen, bool withAnimation) { globalCanvasGroup.interactable = false; globalCanvasGroup.blocksRaycasts = false; if (screens.currentScreen) { if (withAnimation) { screens.currentScreen.Close(); yield return(new WaitForSeconds(screens.currentScreen.closeDuration)); var startSettings = screens.currentScreen.defaultHeartLocation; screens.currentScreen = menuScreen; var currentSettings = screens.currentScreen.defaultHeartLocation; float t = 0; while (t < 1) { yield return(new WaitForFixedUpdate()); t += Time.fixedDeltaTime * 6; var realT = heartMovementCurve.Evaluate(t); uiHeart.Reposition(new HeartSettings( Vector2.Lerp(startSettings.position, currentSettings.position, realT), Mathf.Lerp(startSettings.rotation, currentSettings.rotation, realT), Mathf.Lerp(startSettings.scale, currentSettings.scale, realT) )); } } else { screens.currentScreen.Close(false); screens.currentScreen = menuScreen; var currentSettings = screens.currentScreen.defaultHeartLocation; uiHeart.Reposition(currentSettings); } } else { screens.currentScreen = menuScreen; var currentSettings = screens.currentScreen.defaultHeartLocation; uiHeart.Reposition(currentSettings); } if (withAnimation) { menuScreen.Open(); yield return(new WaitForSeconds(screens.currentScreen.openDuration)); } else { menuScreen.Open(false); } globalCanvasGroup.interactable = true; globalCanvasGroup.blocksRaycasts = true; }
public void OpenMainScreen() { optionsMenu.Close(); mainMenu.Open(); }
public void OpenOptionsScreen() { mainMenu.Close(); optionsMenu.SetSelectedOptionIndex(0); optionsMenu.Open(); }