private static void UpdateScrollPosition(ShellScrollable scroller) { // only reset scroller if the user switched filters // not e.g. when re-entering the song list from a song if (filterStateChanged) { scroller.SnapTo(0, true); filterStateChanged = false; } }
public static void Initialize() { if (modMenu == null) { modMenu = GameObject.Instantiate(GameObject.Find("menu/ShellPage_Settings")); modMenu.hideFlags |= HideFlags.DontUnloadUnusedAsset; modMenuSP = modMenu.GetComponent <ShellPage>(); modMenuOM = modMenu.transform.Find("page/ShellPanel_Center/Settings/Options").GetComponent <OptionsMenu>(); scroller = modMenuOM.gameObject.GetComponent <ShellScrollable>(); backButton = modMenu.transform.Find("page/backParent/back/Button").GetComponent <GunButton>(); backButton.onHitEvent = new UnityEvent(); backButton.onHitEvent.AddListener(new Action(() => { if (displayState == DisplayState.Prefs) { PreparePage(); } else { HideModSettingsMenu(); } })); } }