/// <summary>   Инициализация дополнительных компонентов  </summary>
 private void InitializeComponentEx()
 {
     Text         = _album.AlbumName;
     _songControl = new SongControl(_database, _album)
     {
         Dock = DockStyle.Fill
     };
     Controls.Add(_songControl);
 }
示例#2
0
        /// <summary>
        /// UI控件注册事件
        /// </summary>
        /// <param name="uiControlsName">UI控件名称</param>
        /// <param name="uIBehaviour">UI控件</param>
        internal override void RegisterUIControlEvent(string uiControlsName, UIBehaviour uIBehaviour)
        {
            switch (uiControlsName)
            {
            case "SinglePlay":
                uIBehaviour.OnToggleValueChange(new UnityEngine.Events.UnityAction <bool>((isOn) => {
                    if (isOn)
                    {
                        SongControl.ChangeSongPlayType(CycleType.SinglePlay);
                    }
                }));
                break;

            case "SingleCycle":
                uIBehaviour.OnToggleValueChange(new UnityEngine.Events.UnityAction <bool>((isOn) => {
                    if (isOn)
                    {
                        SongControl.ChangeSongPlayType(CycleType.SingleCycle);
                    }
                }));
                break;

            case "PlayOrder":
                uIBehaviour.OnToggleValueChange(new UnityEngine.Events.UnityAction <bool>((isOn) => {
                    if (isOn)
                    {
                        SongControl.ChangeSongPlayType(CycleType.PlayInOrder);
                    }
                }));
                break;

            case "LoopPlayack":
                uIBehaviour.OnToggleValueChange(new UnityEngine.Events.UnityAction <bool>((isOn) => {
                    if (isOn)
                    {
                        SongControl.ChangeSongPlayType(CycleType.LoopPlayback);
                    }
                }));
                break;

            case "RandomPlay":
                uIBehaviour.OnToggleValueChange(new UnityEngine.Events.UnityAction <bool>((isOn) => {
                    if (isOn)
                    {
                        SongControl.ChangeSongPlayType(CycleType.RandomPlay);
                    }
                }));
                break;

            default:
                break;
            }
        }
示例#3
0
        /********************************************************************************************/
        /*******************  Shortcut Bindings  ****************************************************/
        /********************************************************************************************/

        private void Key_KeyDown(object sender, KeyEventArgs e)
        {
            Keys k = System.Windows.Forms.Keys.LButton | System.Windows.Forms.Keys.ShiftKey;

            if (e.Control && e.KeyCode != k && !(e.Shift || e.Alt))
            {
                Tuple <Keys, Keys> keyValues = new Tuple <Keys, Keys>(Keys.Control, e.KeyCode);
                if (functionPairMap.ContainsKey(keyValues))
                {
                    function fpt = functionPairMap[keyValues];
                    fpt.Invoke(sender, e);
                }
            }
            else if (e.Control && e.Shift && !e.Alt && e.KeyCode != k)
            {
                Tuple <Keys, Keys, Keys> keyValues = new Tuple <Keys, Keys, Keys>(Keys.Control, Keys.Shift, e.KeyCode);
                if (functionTriMap.ContainsKey(keyValues))
                {
                    function fpt = functionTriMap[keyValues];
                    fpt.Invoke(sender, e);
                }
            }
            else if (e.Control && !e.Shift && e.Alt && e.KeyCode != k)
            {
                Tuple <Keys, Keys, Keys> keyValues = new Tuple <Keys, Keys, Keys>(Keys.Control, Keys.Alt, e.KeyCode);
                if (functionTriMap.ContainsKey(keyValues))
                {
                    function fpt = functionTriMap[keyValues];
                    fpt.Invoke(sender, e);
                }
            }
            else if (e.KeyCode == Keys.Enter)
            {
                if (container.trackers.nowPlayingRow != songList.SelectedRows[0].Index)
                {
                    container.trackers.nowPlayingRow = songList.SelectedRows[0].Index;
                    SongControl.play(container);
                }
            }
            else if (e.KeyCode == Keys.Space)
            {
                if (!container.booleans.isPlaying && !container.booleans.isPaused)
                {
                    playButton_Click(sender, e);
                }
                else
                {
                    SongControl.play_pause(container);
                }
            }
        }
示例#4
0
    // Use this for initialization
    void Start()
    {
        playing = false;
        song    = GameObject.Find("Song").GetComponent <AudioSource>();
        string LowerSongName = "";

        foreach (char letter in SongName)
        {
            LowerSongName += char.ToLower(letter);
        }
        Debug.Log("Looking for song " + LowerSongName);
        song.clip = Resources.Load(LowerSongName) as AudioClip;
        //magicConstant = realTime;
        //song.Play();
        frameCount   = 0;
        score        = 0;
        pausing      = false;
        randyTemp    = 0;
        pauseTime    = 0;
        noteCount    = 0;
        scoreDisplay = GameObject.Find("Score").GetComponent <TextMesh>();
        pointer      = GameObject.Find("Pointer");
        string SongNameNoSpaces = "";

        foreach (char chr in SongName)
        {
            if (chr != ' ')
            {
                SongNameNoSpaces += char.ToLower(chr);
            }
            else
            {
                SongNameNoSpaces += '-';
            }
        }
        SongControl.newSong(SongNameNoSpaces + "-" + difficulty, 3.0f);
        GameObject.Find("darude-sandstorm").GetComponent <TextMesh>().text = SongName;
        //song.clip = Resources.Load(SongName.ToLower()) as AudioClip;
    }
示例#5
0
    // Update is called once per frame
    void Update()
    {
        frameCount++;
        if (swag)
        {
            scoreDisplay.text = score.ToString();
        }
        framerate = 1.0f / Time.deltaTime;
        realTime  = Time.time - pauseTime;
        if (pausing)
        {
            handlePause();
        }
        if (Input.GetKeyDown("space") || Input.GetKeyDown("joystick button 8") || Input.GetKeyDown("joystick button 9"))
        {
            pausing   = true;
            randyTemp = Time.time;
        }
        if (!pausing)
        {
            if (SongControl.goAhead)
            {
                if (!playing)
                {
                    song.Play();
                    Debug.Log("Should have started the song");
                    magicConstant = realTime;
                    Debug.Log("Started playing at " + magicConstant + " which is now the constant");
                }

                SongControl.playSong();
                if (swag)
                {
                    playing = true;
                }
            }
        }
    }
示例#6
0
        /// <summary>   Инициализация дополнительных компонентов (загрузка контролов и их привязка к табам)   </summary>
        private void InitializeComponentEx()
        {
            _groupsControl = new GroupsControl(_database) //загрузка контролов
            {
                Dock = DockStyle.Fill                     //заполнит форму
            };

            tabPage1.Controls.Add(_groupsControl);  //привязка к табам

            _songControl = new SongControl(_database)
            {
                Dock = DockStyle.Fill
            };

            tabPage2.Controls.Add(_songControl);

            _albumControl = new AlbumControl(_database)
            {
                Dock = DockStyle.Fill
            };

            tabPage3.Controls.Add(_albumControl);
        }
示例#7
0
 /// <summary>
 /// 当Button点击时
 /// </summary>
 private void RegisterOnButtonClick(int index)
 {
     SongControl.ChangeSong(index);
 }
示例#8
0
        /// <summary>
        /// UI控件注册事件
        /// </summary>
        /// <param name="uiControlsName">UI控件名称</param>
        /// <param name="uIBehaviour">UI控件</param>
        internal override void RegisterUIControlEvent(string uiControlsName, UIBehaviour uIBehaviour)
        {
            switch (uiControlsName)
            {
            case "VolumeSlider":
                uIBehaviour.OnSliderValueChange(new UnityEngine.Events.UnityAction <float>((value) => SongControl.ChangeSongVolume(value)));
                break;

            default:
                break;
            }
        }
示例#9
0
        /*******************  Play, Stop, Previous, Next Buttons ************************************/

        private void playButton_Click(object sender, EventArgs e)
        {
            SongControl.setupPlay(container);
        }
示例#10
0
 private void nextButton_Click(object sender, EventArgs e)
 {
     SongControl.next(container);
 }
示例#11
0
 private void previousButton_Click(object sender, MouseEventArgs e)
 {
     SongControl.previous(container, e);
 }
示例#12
0
 private void stopButton_Click(object sender, EventArgs e)
 {
     SongControl.stop(container);
 }