/// <summary> /// This function controls the button events from UVC. /// This code if not run in background process, will not be able to handle button pressed events when app is suspended. /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void smtc_ButtonPressed(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs args) { switch (args.Button) { case SystemMediaTransportControlsButton.Play: Debug.WriteLine("UVC play button pressed"); PlayPressed?.Invoke(this, null); break; case SystemMediaTransportControlsButton.Pause: Debug.WriteLine("UVC pause button pressed"); PausePressed?.Invoke(this, null); break; case SystemMediaTransportControlsButton.Next: Debug.WriteLine("UVC next button pressed"); NextPressed?.Invoke(this, null); break; case SystemMediaTransportControlsButton.Previous: Debug.WriteLine("UVC previous button pressed"); PrevPressed?.Invoke(this, null); break; } }
private void SystemMediaTransportControls_ButtonPressed(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs args) { switch (args.Button) { case SystemMediaTransportControlsButton.Play: PlayPressed?.Invoke(); break; case SystemMediaTransportControlsButton.Pause: PausePressed?.Invoke(); break; case SystemMediaTransportControlsButton.Next: NextPressed?.Invoke(); break; case SystemMediaTransportControlsButton.Previous: PreviousPressed?.Invoke(); break; default: break; } }
private void OnPlayPressed() { PlayPressed?.Invoke(); }
void Start() { playButton.onClick.AddListener(OnPlayButtonPressed); void OnPlayButtonPressed() => PlayPressed?.Invoke(); }
private void Play_Click(object sender, EventArgs e) => PlayPressed?.Invoke(this, null);
public void PlayClicked() { PlayPressed?.Invoke(_selectedLevel, _selectedCharacteristic, _selectedDifficulty); }
private void Start() { PlayButton.onClick.AddListener(() => PlayPressed?.Invoke()); HostButton.onClick.AddListener(() => HostPressed?.Invoke()); }
protected override void DidActivate(bool firstActivation, ActivationType type) { if (firstActivation && type == ActivationType.AddedToHierarchy) { gameObject.SetActive(false); _leaderboard = gameObject.AddComponent <CustomLeaderboardTableView>(); _leaderboard.transform.SetParent(rectTransform, false); _leaderboard.name = "Community Leaderboard"; gameObject.SetActive(true); _difficulty = BeatSaberUI.CreateText(rectTransform, "Difficulty", new Vector2()); _difficulty.fontSize = 3f; _difficulty.alignment = TextAlignmentOptions.Center; (_difficulty.transform as RectTransform).anchorMin = new Vector2(.5f, 1f); (_difficulty.transform as RectTransform).anchorMax = new Vector2(.5f, 1f); (_difficulty.transform as RectTransform).anchoredPosition = new Vector2(0f, -5f); _songName = BeatSaberUI.CreateText(rectTransform, "Song", new Vector2()); _songName.fontSize = 8f; _songName.alignment = TextAlignmentOptions.Center; (_songName.transform as RectTransform).anchorMin = new Vector2(.5f, 1f); (_songName.transform as RectTransform).anchorMax = new Vector2(.5f, 1f); (_songName.transform as RectTransform).anchoredPosition = new Vector2(0f, -10f); _team = BeatSaberUI.CreateText(rectTransform, "Team", new Vector2()); _team.fontSize = 4f; _team.alignment = TextAlignmentOptions.Center; _team.color = Color.gray; (_team.transform as RectTransform).anchorMin = new Vector2(.5f, 1f); (_team.transform as RectTransform).anchorMax = new Vector2(.5f, 1f); (_team.transform as RectTransform).anchoredPosition = new Vector2(0f, -15f); _pageLeftButton = Instantiate(Resources.FindObjectsOfTypeAll <Button>().First(x => (x.name == "PageUpButton")), rectTransform, false); (_pageLeftButton.transform as RectTransform).anchorMin = new Vector2(0f, 0.5f); (_pageLeftButton.transform as RectTransform).anchorMax = new Vector2(0f, 0.5f); (_pageLeftButton.transform as RectTransform).anchoredPosition = new Vector2(27f, -10f); (_pageLeftButton.transform as RectTransform).sizeDelta = new Vector2(40f, 5f); Quaternion currentRot = (_pageLeftButton.transform as RectTransform).rotation; (_pageLeftButton.transform as RectTransform).rotation = Quaternion.Euler(currentRot.eulerAngles.x, currentRot.eulerAngles.y, currentRot.eulerAngles.z + 90); _pageLeftButton.interactable = true; _pageLeftButton.onClick.AddListener(() => { SetSong(selectedSong, --selectedTeamIndex); if (selectedTeamIndex <= -1) { _pageLeftButton.interactable = false; } _pageRightButton.interactable = true; }); _pageRightButton = Instantiate(Resources.FindObjectsOfTypeAll <Button>().First(x => (x.name == "PageDownButton")), rectTransform, false); (_pageRightButton.transform as RectTransform).anchorMin = new Vector2(1f, 0.5f); (_pageRightButton.transform as RectTransform).anchorMax = new Vector2(1f, 0.5f); (_pageRightButton.transform as RectTransform).anchoredPosition = new Vector2(-27f, -10f); (_pageRightButton.transform as RectTransform).sizeDelta = new Vector2(40f, 5f); currentRot = (_pageRightButton.transform as RectTransform).rotation; (_pageRightButton.transform as RectTransform).rotation = Quaternion.Euler(currentRot.eulerAngles.x, currentRot.eulerAngles.y, currentRot.eulerAngles.z + 90); _pageRightButton.interactable = true; _pageRightButton.onClick.AddListener(() => { SetSong(selectedSong, ++selectedTeamIndex); if (selectedTeamIndex >= Team.allTeams.Count - 1) { _pageRightButton.interactable = false; } _pageLeftButton.interactable = true; }); _playButton = BeatSaberUI.CreateUIButton(rectTransform, "CreditsButton"); _playButton.SetButtonText("Play"); (_playButton.transform as RectTransform).anchorMin = new Vector2(1f, 1f); (_playButton.transform as RectTransform).anchorMax = new Vector2(1f, 1f); (_playButton.transform as RectTransform).anchoredPosition = new Vector2(-17f, -8f); (_playButton.transform as RectTransform).sizeDelta = new Vector2(28f, 10f); _playButton.onClick.AddListener(() => { PlayPressed?.Invoke(selectedSong); }); if (selectedTeamIndex <= -1) { _pageLeftButton.interactable = false; } if (selectedTeamIndex >= Team.allTeams.Count - 1) { _pageRightButton.interactable = false; } //??? //_leaderboard.SetUpArrow(_pageLeftButton); //_leaderboard.SetDownArrow(_pageRightButton); } else if (!firstActivation && type == ActivationType.AddedToHierarchy) { //Disable relevant views _leaderboard.gameObject.SetActive(false); _difficulty.gameObject.SetActive(false); _songName.gameObject.SetActive(false); _team.gameObject.SetActive(false); _playButton.gameObject.SetActive(false); _pageLeftButton.gameObject.SetActive(false); _pageRightButton.gameObject.SetActive(false); selectedTeam = "-1"; selectedTeamIndex = -1; } }
protected virtual void OnPlayPressed() { PlayPressed?.Invoke(this, EventArgs.Empty); }
protected override void DidActivate(bool firstActivation, ActivationType activationType) { if (firstActivation && activationType == ActivationType.AddedToHierarchy) { bool isHost = Client.Instance.isHost; _selectedSongCell = Instantiate(Resources.FindObjectsOfTypeAll <LevelListTableCell>().First(x => (x.name == "LevelListTableCell")), rectTransform, false); (_selectedSongCell.transform as RectTransform).anchorMin = new Vector2(0.5f, 0.5f); (_selectedSongCell.transform as RectTransform).anchorMax = new Vector2(0.5f, 0.5f); (_selectedSongCell.transform as RectTransform).anchoredPosition = new Vector2(-25f, 7.5f); _selectDifficultyText = BeatSaberUI.CreateText(rectTransform, "Select difficulty:", new Vector2(0f, 20f)); _selectDifficultyText.alignment = TextAlignmentOptions.Center; _selectDifficultyText.fontSize = 7f; _selectDifficultyText.gameObject.SetActive(isHost); _playersReadyText = BeatSaberUI.CreateText(rectTransform, "0/0 players ready", new Vector2(0f, 5f)); _playersReadyText.rectTransform.anchorMin = new Vector2(0.5f, 0f); _playersReadyText.rectTransform.anchorMax = new Vector2(0.5f, 0f); _playersReadyText.alignment = TextAlignmentOptions.Center; _playersReadyText.fontSize = 5.5f; _cancelButton = BeatSaberUI.CreateUIButton(rectTransform, "CreditsButton"); (_cancelButton.transform as RectTransform).anchoredPosition = new Vector2(-30f, -25f); (_cancelButton.transform as RectTransform).sizeDelta = new Vector2(28f, 12f); _cancelButton.SetButtonText("CANCEL"); _cancelButton.ToggleWordWrapping(false); _cancelButton.SetButtonTextSize(5.5f); _cancelButton.onClick.AddListener(delegate() { DiscardPressed?.Invoke(); }); _cancelButton.gameObject.SetActive(isHost); _playButton = BeatSaberUI.CreateUIButton(rectTransform, "CreditsButton"); (_playButton.transform as RectTransform).anchoredPosition = new Vector2(30f, -25f); (_playButton.transform as RectTransform).sizeDelta = new Vector2(28f, 12f); _playButton.SetButtonText("PLAY"); _playButton.ToggleWordWrapping(false); _playButton.SetButtonTextSize(5.5f); _playButton.onClick.AddListener(delegate() { PlayPressed?.Invoke(_selectedSong, _selectedDifficulty); }); _playButton.gameObject.SetActive(isHost); float buttonsY = 30f; float buttonsStartX = -47.5f; float butonsSizeX = 24f; _easyButton = BeatSaberUI.CreateUIButton(rectTransform, "CreditsButton"); (_easyButton.transform as RectTransform).anchoredPosition = new Vector2(buttonsStartX, buttonsY); (_easyButton.transform as RectTransform).sizeDelta = new Vector2(butonsSizeX - 1f, 10f); _easyButton.SetButtonText("EASY"); _easyButton.ToggleWordWrapping(false); _easyButton.onClick.AddListener(delegate() { _selectedDifficulty = BeatmapDifficulty.Easy; UpdateButtons(); }); _easyButton.gameObject.SetActive(isHost); _normalButton = BeatSaberUI.CreateUIButton(rectTransform, "CreditsButton"); (_normalButton.transform as RectTransform).anchoredPosition = new Vector2(buttonsStartX + butonsSizeX, buttonsY); (_normalButton.transform as RectTransform).sizeDelta = new Vector2(butonsSizeX - 1f, 10f); _normalButton.SetButtonText("NORMAL"); _normalButton.ToggleWordWrapping(false); _normalButton.onClick.AddListener(delegate() { _selectedDifficulty = BeatmapDifficulty.Normal; UpdateButtons(); }); _normalButton.gameObject.SetActive(isHost); _hardButton = BeatSaberUI.CreateUIButton(rectTransform, "CreditsButton"); (_hardButton.transform as RectTransform).anchoredPosition = new Vector2(buttonsStartX + 2 * butonsSizeX, buttonsY); (_hardButton.transform as RectTransform).sizeDelta = new Vector2(butonsSizeX - 1f, 10f); _hardButton.SetButtonText("HARD"); _hardButton.ToggleWordWrapping(false); _hardButton.onClick.AddListener(delegate() { _selectedDifficulty = BeatmapDifficulty.Hard; UpdateButtons(); }); _hardButton.gameObject.SetActive(isHost); _expertButton = BeatSaberUI.CreateUIButton(rectTransform, "CreditsButton"); (_expertButton.transform as RectTransform).anchoredPosition = new Vector2(buttonsStartX + 3 * butonsSizeX, buttonsY); (_expertButton.transform as RectTransform).sizeDelta = new Vector2(butonsSizeX - 1f, 10f); _expertButton.SetButtonText("EXPERT"); _expertButton.ToggleWordWrapping(false); _expertButton.onClick.AddListener(delegate() { _selectedDifficulty = BeatmapDifficulty.Expert; UpdateButtons(); }); _expertButton.gameObject.SetActive(isHost); _expertPlusButton = BeatSaberUI.CreateUIButton(rectTransform, "CreditsButton"); (_expertPlusButton.transform as RectTransform).anchoredPosition = new Vector2(buttonsStartX + 4 * butonsSizeX, buttonsY); (_expertPlusButton.transform as RectTransform).sizeDelta = new Vector2(butonsSizeX - 1f, 10f); _expertPlusButton.SetButtonText("EXPERT+"); _expertPlusButton.ToggleWordWrapping(false); _expertPlusButton.onClick.AddListener(delegate() { _selectedDifficulty = BeatmapDifficulty.ExpertPlus; UpdateButtons(); }); _expertPlusButton.gameObject.SetActive(isHost); _progressBarRect = new GameObject("ProgressBar", typeof(RectTransform)).GetComponent <RectTransform>(); _progressBarRect.SetParent(rectTransform, false); _progressBarRect.anchorMin = new Vector2(0.5f, 0.5f); _progressBarRect.anchorMax = new Vector2(0.5f, 0.5f); _progressBarRect.anchoredPosition = new Vector2(0f, -7.5f); _progressBarRect.sizeDelta = new Vector2(46f, 5f); _progressBackground = new GameObject("Background", typeof(RectTransform), typeof(Image)).GetComponent <Image>(); _progressBackground.rectTransform.SetParent(_progressBarRect, false); _progressBackground.rectTransform.anchorMin = new Vector2(0f, 0f); _progressBackground.rectTransform.anchorMax = new Vector2(1f, 1f); _progressBackground.rectTransform.anchoredPosition = new Vector2(0f, 0f); _progressBackground.rectTransform.sizeDelta = new Vector2(0f, 0f); _progressBackground.sprite = Sprites.whitePixel; _progressBackground.material = Sprites.NoGlowMat; _progressBackground.color = new Color(1f, 1f, 1f, 0.075f); _progressBarImage = new GameObject("ProgressImage", typeof(RectTransform), typeof(Image)).GetComponent <Image>(); _progressBarImage.rectTransform.SetParent(_progressBarRect, false); _progressBarImage.rectTransform.anchorMin = new Vector2(0f, 0f); _progressBarImage.rectTransform.anchorMax = new Vector2(1f, 1f); _progressBarImage.rectTransform.anchoredPosition = new Vector2(0f, 0f); _progressBarImage.rectTransform.sizeDelta = new Vector2(0f, 0f); _progressBarImage.sprite = Sprites.whitePixel; _progressBarImage.material = Sprites.NoGlowMat; _progressBarImage.type = Image.Type.Filled; _progressBarImage.fillMethod = Image.FillMethod.Horizontal; _progressBarImage.fillAmount = 0.5f; _progressText = BeatSaberUI.CreateText(rectTransform, "0.0%", new Vector2(55f, -10f)); _progressText.rectTransform.SetParent(_progressBarRect, true); } _playButton.interactable = false; _progressBarRect.gameObject.SetActive(false); }