コード例 #1
0
 public void RemovePlayerFromParty(PlayerDC player, ConversationDC conv)
 {
     if (player.PlayerId == Player.PlayerId)
     {
         DropConversation(conv);
         return;
     }
     var selectedConv = conversationDCListView.SelectedItem as ConversationDC;
     var q = (from c in conversations where c.ConversationId == conv.ConversationId select c).ToList();
     if (q.Count > 0)
     {
         var c = q.ElementAt(0);
         var q1 = (from p in c.Participants where p.PlayerId == player.PlayerId select p).ToList();
         if (q1.Count > 0)
         {
             c.Participants = c.Participants.ToList();
             ((List<PlayerDC>)c.Participants).Remove(q1.ElementAt(0));
             c.ParticipantsNames = " " + c.Host.Pseudonym + " (Host) \n ";
             foreach (var p in c.Participants)
             {
                 c.ParticipantsNames += p.Pseudonym + ", ";
             }
             c.ParticipantsNames = c.ParticipantsNames.Remove(c.ParticipantsNames.Length - 2);
             partyPage.LoadConversation();
             ConversationsListViewSource.View.Refresh();
         }
     }
 }
コード例 #2
0
 public void OpenGameWindow(ConversationDC conv)
 {
     List<string> allPlayers = new List<string>();
     allPlayers.Add(conv.Host.Login);
     var logins = (from p in conv.Participants select p.Login).ToList();
     allPlayers = allPlayers.Concat<string>(logins).ToList();
     GameLaunching(allPlayers, conv.ConversationId);
 }
コード例 #3
0
 private void OnInviteFriends(object sender, RoutedEventArgs e)
 {
     if (conv == null)
     {
         var friends = playerDCListView.SelectedItems.Cast <PlayerDC>();
         var c       = new ConversationDC()
         {
             Host         = mainWindow.Player,
             Participants = friends
         };
         mainWindow.Server.CreateConversation(c);
     }
     else
     {
         //conversation already existes, add friends to conv...
     }
 }
コード例 #4
0
 public void ReceiveConversationMessage(ConversationDC c)
 {
     if (c.NewMessageType == 1 && partyPage != null)
     {
         if (LoudSpeakerEnabled && c.MessageSenderPlayerId != Player.PlayerId)
             partyPage.waveProvider.AddSamples(c.NewAudioMessageBuffer, 0, c.NewAudioMessageBytesRecorded);
         return;
     }
     var q = (from co in conversations
              where co.ConversationId == c.ConversationId
              select co).ToList();
     if (q.Count > 0)
     {
         var conv = q.ElementAt(0);
         conv.ConversationLog += c.NewMessage + " \n";
         partyPage.LoadConversation();
     }
 }
コード例 #5
0
 public void DropConversation(ConversationDC conv)
 {
     var selectedConv = conversationDCListView.SelectedItem as ConversationDC;
     var q = (from c in conversations where c.ConversationId == conv.ConversationId select c).ToList();
     if (q.Count > 0)
     {
         var c = q.ElementAt(0);
         ((List<ConversationDC>)conversations).Remove(c);
         ConversationsListViewSource.Source = conversations;
         ConversationsListViewSource.View.Refresh();
         if (selectedConv != null && selectedConv != c)
         {
             conversationDCListView.SelectedItem = selectedConv;
             partyPage.LoadConversation(selectedConv);
         }
         if (_contentFrame.Content == partyPage && partyPage.Party == c)
             _contentFrame.Content = null;
     }
 }
コード例 #6
0
 public void InitializeConversation(ConversationDC conversationDC)
 {
     conversationDC.ParticipantsNames = " " + conversationDC.Host.Pseudonym + " (Host) \n ";
     foreach (var p in conversationDC.Participants)
     {
         conversationDC.ParticipantsNames += p.Pseudonym + ", ";
     }
     conversationDC.ParticipantsNames = conversationDC.ParticipantsNames.Remove(conversationDC.ParticipantsNames.Length - 2);
     conversationDC.NewMessage = "";
     var q = (from co in conversations
              where co.ConversationId == conversationDC.ConversationId
              select co).ToList();
     if (q.Count != 0)
     {
         foreach (var co in q)
         {
             ((List<ConversationDC>)conversations).Remove(co);
         }
     }
     ((List<ConversationDC>)conversations).Add(conversationDC);
     ConversationsListViewSource.Source = conversations;
     ConversationsListViewSource.View.Refresh();
 }
コード例 #7
0
 private void OnPartyMsgAreaKeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Return && Keyboard.Modifiers == ModifierKeys.Shift)
     {
         _convMsgArea.Text      += " \n";
         _convMsgArea.CaretIndex = _convMsgArea.Text.Length;
     }
     else if (e.Key == Key.Return)
     {
         DateTime utcTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
         string   msg     = utcTime.ToString();
         msg += String.Format(" [{0}] : ", mainWindow.Player.Pseudonym);
         msg += _convMsgArea.Text;
         var msgContainer = new ConversationDC()
         {
             ConversationId = Party.ConversationId,
             NewMessage     = msg,
             NewMessageType = 0
         };
         mainWindow.Server.SendConversationMessage(msgContainer);
         _convMsgArea.Text = "";
         _convLogScroller.ScrollToEnd();
     }
 }
コード例 #8
0
 public void LoadConversation(ConversationDC conv = null)
 {
     if (conv != null)
     {
         Party = conv;
     }
     PartyListViewSource.Source = new List <ConversationDC>()
     {
         Party
     };
     PartyListViewSource.View.Refresh();
     if (Party.Host.PlayerId == mainWindow.Player.PlayerId)
     {
         _delConvBtn.Visibility = System.Windows.Visibility.Visible;
         _inviteBtn.Visibility  = System.Windows.Visibility.Visible;
         _kickBtn.Visibility    = System.Windows.Visibility.Visible;
         _leaveBtn.Visibility   = System.Windows.Visibility.Hidden;
         _playBtn.IsEnabled     = true;
     }
     else
     {
         _delConvBtn.Visibility = System.Windows.Visibility.Hidden;
         _inviteBtn.Visibility  = System.Windows.Visibility.Hidden;
         _kickBtn.Visibility    = System.Windows.Visibility.Hidden;
         _leaveBtn.Visibility   = System.Windows.Visibility.Visible;
         _playBtn.IsEnabled     = false;
     }
     if (mainWindow.Player.MainRoomId == Party.ConversationId)
     {
         _mainRoomBtn.IsEnabled = false;
     }
     else
     {
         _mainRoomBtn.IsEnabled = true;
     }
 }
コード例 #9
0
 public void KillPlayer(ConversationDC conv, PlayerDC player)
 {
     Game.GameContentManager.KillPlayer(player.Login);
 }
コード例 #10
0
 public void SpawnBomb(ConversationDC conv, int BombPositionX, int BombPositionY)
 {
     Game.GameContentManager.SpawnBomb(BombPositionX, BombPositionY);
 }
コード例 #11
0
 public void UpdatePlayerPosition(ConversationDC conv, PlayerDC player)
 {
     Game.GameContentManager.UpdatePlayerPosition(player.Login, player.PlayerPositionX, player.PlayerPositionY);
 }