Ejemplo n.º 1
0
        private static SongSortButton CreateSortButton(float buttonX, string buttonName, string internalButtonName,
                                                       Func <List <IPreviewBeatmapLevel>, List <IPreviewBeatmapLevel> > sortHandler)
        {
            SongSortButton sortButton = new SongSortButton();

            sortButton.SortMode = SongSortMode.Custom;
            sortButton.Button   = _levelCollectionViewController.CreateUIButton("ApplyButton",
                                                                                new Vector2(buttonX, SORT_BUTTON_Y), new Vector2(SORT_BUTTON_WIDTH, SORT_BUTTON_HEIGHT),
                                                                                () =>
            {
                SongBrowserModel.CustomSortHandler = sortHandler;
                var onSortButtonClickEvent         = Utils.ReflectionUtils.GetPrivateMethod(_songBrowserUI, "OnSortButtonClickEvent");
                var refreshOuterUIState            = Utils.ReflectionUtils.GetPrivateMethod(_songBrowserUI, "RefreshOuterUIState");
                onSortButtonClickEvent.Invoke(_songBrowserUI, new object[] { sortButton.SortMode });
                refreshOuterUIState.Invoke(_songBrowserUI, new object[] { UIState.Main });
            },
                                                                                buttonName);

            sortButton.Button.SetButtonTextSize(SORT_BUTTON_FONT_SIZE);
            sortButton.Button.GetComponentsInChildren <HorizontalLayoutGroup>().First(btn => btn.name == "Content").padding = new RectOffset(4, 4, 2, 2);
            sortButton.Button.ToggleWordWrapping(false);
            sortButton.Button.name = "Sort" + internalButtonName + "Button";

            return(sortButton);
        }
Ejemplo n.º 2
0
        public static void Init()
        {
            _songBrowserUI = Resources.FindObjectsOfTypeAll <SongBrowserUI>().First();
            var sortButtonGroup = _songBrowserUI.GetPrivateField <List <SongSortButton> >("_sortButtonGroup");

            _levelCollectionViewController = Resources.FindObjectsOfTypeAll <LevelCollectionViewController>().First();

            float          ppHelperButtonX = GetButtonX(sortButtonGroup.Count);
            SongSortButton ppHelperButton  = CreateSortButton(ppHelperButtonX, "PP Helper", "PPHelper", SortHandler);

            sortButtonGroup.Add(ppHelperButton);
        }