public static bool NeedsScoreSaberData(this SongSortMode s) { switch (s) { case SongSortMode.PP: case SongSortMode.Stars: return(true); default: return(false); } }
public static bool NeedsBeatSaverData(this SongSortMode s) { switch (s) { case SongSortMode.UpVotes: case SongSortMode.Rating: case SongSortMode.PlayCount: case SongSortMode.Heat: return(true); default: return(false); } }
/// <summary> /// Generic create sort button. /// </summary> /// <param name="rect"></param> /// <param name="templateButtonName"></param> /// <param name="buttonText"></param> /// <param name="iconName"></param> /// <param name="x"></param> /// <param name="y"></param> /// <param name="w"></param> /// <param name="h"></param> /// <param name="action"></param> public static SongSortButton CreateSortButton(RectTransform parent, Button buttonTemplate, Sprite iconSprite, Sprite borderSprite, string buttonText, float fontSize, float x, float y, float w, float h, SongSortMode sortMode, System.Action <SongSortMode> onClickEvent) { SongSortButton sortButton = new SongSortButton(); Button newButton = UIBuilder.CreateUIButton(parent, buttonTemplate); newButton.interactable = true; (newButton.transform as RectTransform).anchoredPosition = new Vector2(x, y); (newButton.transform as RectTransform).sizeDelta = new Vector2(w, h); UIBuilder.SetButtonText(newButton, buttonText); UIBuilder.SetButtonIconEnabled(newButton, false); UIBuilder.SetButtonIcon(newButton, iconSprite); UIBuilder.SetButtonTextSize(newButton, fontSize); Image stroke = newButton.GetComponentsInChildren <Image>().First(btn => btn.name == "Stroke"); stroke.sprite = borderSprite; //stroke.rectTransform.localScale = new Vector2(0.9f, 0.9f); newButton.GetComponentsInChildren <HorizontalLayoutGroup>().First(btn => btn.name == "Content").padding = new RectOffset(2, 2, 2, 2); newButton.onClick.RemoveAllListeners(); newButton.onClick.AddListener(delegate() { onClickEvent(sortMode); }); sortButton.Button = newButton; sortButton.SortMode = sortMode; return(sortButton); }