Exemplo n.º 1
0
 private void BtnInstrumentSelected_OnClick(object sender, RoutedEventArgs e)
 {
     this.midiEngine.SelectTrack(((InstrumentInfo)this.InstrumentsBox.SelectedItem).Channel);
     NetworkDataSender.SendPlayerInstrumentInfo(this.InstrumentsBox.SelectedIndex);
     this.btnInstrumentSelected.Visibility = Visibility.Collapsed;
     this.CheckAndStartTheGame();
 }
Exemplo n.º 2
0
 private void BtnStartMultiplayerGame_Click(object sender, RoutedEventArgs e)
 {
     NetworkDataSender.SendPlayerReadyInfo();
     this.btnStartMultiplayerGame.Visibility = Visibility.Collapsed;
     if (MultiPlayerData.OtherPlayers.Values.All(x => x.ReadyToStart))
     {
         this.pnlAllPlayersAreReady.Visibility = Visibility.Visible;
         this.NextButton.IsEnabled             = true;
     }
 }
Exemplo n.º 3
0
 private void BtnJoin_Click(object sender, RoutedEventArgs e)
 {
     if (!string.IsNullOrWhiteSpace(this.txtNickName.Text) &&
         !MultiPlayerData.OtherPlayers.ContainsKey(this.txtNickName.Text))
     {
         UserData.NickName     = this.txtNickName.Text;
         this.lblNickname.Text = UserData.NickName;
         this.ShowHideNickNameEntered();
         this.ShowOrHideSongSelection(true);
         NetworkDataSender.SendPlayerInfo();
         _ = SongPagesHelper.FillListBoxAsync(this.SongsListBox, null, null).Id;
     }
 }
Exemplo n.º 4
0
        private void CheckAndStartTheGame()
        {
            if (!MultiPlayerData.OtherPlayers.Values.Any(x => x.Instrument < 0))
            {
                this.lblOtherPlayers.Visibility = Visibility.Collapsed;

                if (UserData.IsMultiplayerConductor)
                {
                    MultiPlayerData.StartTime = DateTime.UtcNow.AddSeconds(10);
                    NetworkDataSender.SendStartTimeInfo(MultiPlayerData.StartTime);
                    var frame = (Frame)Window.Current.Content;
                    _ = frame.Navigate(typeof(LaneSettingsPage), null, new DrillInNavigationTransitionInfo());
                }
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// AddMidiAsync.
        /// </summary>
        /// <param name="sendTheSongToOtherPlayers">Send The Song To Other Players.</param>
        /// <returns>Task.</returns>
        public static async Task AddMidiAsync(bool sendTheSongToOtherPlayers = false)
        {
            var midiFolder = await GetMidiFolderAsync(false).ConfigureAwait(true);

            if (midiFolder == null)
            {
                return;
            }

            var fileName = Path.GetFileName(UserData.Song);
            var file     = await midiFolder.GetFileAsync(fileName);

            var midiEngine = MidiEngine.Instance;

            midiEngine.File = file;
            await midiEngine.OnParseFileAsync().ConfigureAwait(true);

            if (sendTheSongToOtherPlayers)
            {
                NetworkDataSender.SendSelectedSong(file, file.Name);
            }
        }