コード例 #1
0
ファイル: SmtcWrapper.cs プロジェクト: quynb90/Audiotica
        /// <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;
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
 private void OnPlayPressed()
 {
     PlayPressed?.Invoke();
 }
コード例 #4
0
        void Start()
        {
            playButton.onClick.AddListener(OnPlayButtonPressed);

            void OnPlayButtonPressed() => PlayPressed?.Invoke();
        }
コード例 #5
0
 private void Play_Click(object sender, EventArgs e)
 => PlayPressed?.Invoke(this, null);
コード例 #6
0
 public void PlayClicked()
 {
     PlayPressed?.Invoke(_selectedLevel, _selectedCharacteristic, _selectedDifficulty);
 }
コード例 #7
0
ファイル: MainMenuController.cs プロジェクト: dj46563/Chezz
 private void Start()
 {
     PlayButton.onClick.AddListener(() => PlayPressed?.Invoke());
     HostButton.onClick.AddListener(() => HostPressed?.Invoke());
 }
コード例 #8
0
        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;
            }
        }
コード例 #9
0
 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);
        }