public void Awake() { if (_requestBotListViewController == null && _keyboardViewController == null) { _requestBotListViewController = BeatSaberUI.CreateViewController <RequestBotListViewController>(); _keyboardViewController = BeatSaberUI.CreateViewController <KeyboardViewController>(); } }
public void Awake() { Instance = this; }
public static void OnLoad() { try { var _levelListViewController = Resources.FindObjectsOfTypeAll <LevelPackLevelsViewController>().First(); if (_levelListViewController) { _requestButton = BeatSaberUI.CreateUIButton(_levelListViewController.rectTransform, "OkButton", new Vector2(66, -3.5f), new Vector2(9f, 5.5f), () => { _requestButton.interactable = false; _songRequestMenu.Present(); _requestButton.interactable = true; }, "SRM"); (_requestButton.transform as RectTransform).anchorMin = new Vector2(1, 1); (_requestButton.transform as RectTransform).anchorMax = new Vector2(1, 1); _requestButton.ToggleWordWrapping(false); _requestButton.SetButtonTextSize(3.5f); BeatSaberUI.AddHintText(_requestButton.transform as RectTransform, "Manage the current request queue"); UpdateRequestUI(); Plugin.Log("Created request button!"); } } catch { Plugin.Log("Unable to create request button"); } if (_songRequestListViewController == null) { _songRequestListViewController = BeatSaberUI.CreateViewController <RequestBotListViewController>(); } if (_KeyboardViewController == null) { _KeyboardViewController = BeatSaberUI.CreateViewController <CustomViewController>(); RectTransform KeyboardContainer = new GameObject("KeyboardContainer", typeof(RectTransform)).transform as RectTransform; KeyboardContainer.SetParent(_KeyboardViewController.rectTransform, false); KeyboardContainer.sizeDelta = new Vector2(60f, 40f); var mykeyboard = new KEYBOARD(KeyboardContainer, ""); #if UNRELEASED //mykeyboard.AddKeys(BOTKEYS, 0.4f); AddKeyboard(mykeyboard, "emotes.kbd", 0.4f); #endif mykeyboard.AddKeys(KEYBOARD.QWERTY); // You can replace this with DVORAK if you like mykeyboard.DefaultActions(); #if UNRELEASED const string SEARCH = @" [CLEAR SEARCH]/0 /2 [NEWEST]/0 /2 [UNFILTERED]/30 /2 [PP]/0'!addsongs/top/pp pp%CR%' /2 [SEARCH]/0"; #else const string SEARCH = @" [CLEAR SEARCH]/0 /2 [NEWEST]/0 /2 [UNFILTERED]/30 /2 [SEARCH]/0"; #endif mykeyboard.SetButtonType("OkButton"); // Adding this alters button positions??! Why? mykeyboard.AddKeys(SEARCH, 0.75f); mykeyboard.SetAction("CLEAR SEARCH", ClearSearch); mykeyboard.SetAction("UNFILTERED", UnfilteredSearch); mykeyboard.SetAction("SEARCH", MSD); mykeyboard.SetAction("NEWEST", Newest); #if UNRELEASED AddKeyboard(mykeyboard, "decks.kbd", 0.4f); #endif // The UI for this might need a bit of work. AddKeyboard(mykeyboard, "RightPanel.kbd"); } if (_songRequestMenu == null) { _songRequestMenu = BeatSaberUI.CreateCustomMenu <CustomMenu>("Song Request Queue"); _songRequestMenu.SetMainViewController(_songRequestListViewController, true); _songRequestMenu.SetRightViewController(_KeyboardViewController, false); } SongListUtils.Initialize(); WriteQueueSummaryToFile(); WriteQueueStatusToFile(QueueMessage(RequestBotConfig.Instance.RequestQueueOpen)); // Yes, this is disabled on purpose. StreamCore will init this class for you now, so don't uncomment this! -Brian //if (Instance) return; //new GameObject("SongRequestManager").AddComponent<RequestBot>(); }