/// <summary> /// Action lorsqu'on envoie un message. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSend_Click(object sender, RoutedEventArgs e) { if (txtMessage.Text.Trim().Length < 1) { return; } btnSend.IsEnabled = false; bool ok = false; using (LobbyService.LobbyServiceClient client = new LobbyService.LobbyServiceClient()) { ok = client.SendPrivateMessage(UserSessionSingleton.Instance.UserToken.Value, _receiverName, txtMessage.Text.Trim()); } if (!ok) { MessageBox.Show("Erreur d'envoie du message, veuillez réessayer!"); } else { LobbyService.UserMessage um = new LobbyService.UserMessage(); um.Content = txtMessage.Text; um.Date = DateTime.UtcNow; um.Username = UserSessionSingleton.Instance.Name; lvMessages.Items.Add(um); txtMessage.Text = ""; } btnSend.IsEnabled = true; }
/// <summary> /// Met à jour les messages /// </summary> private async void UpdateMessages(System.Windows.Controls.ListView lv) { using (LobbyService.LobbyServiceClient client = new LobbyService.LobbyServiceClient()) { var lstMessages = await Task.Run(() => client.GetNewMessageFrom(UserSessionSingleton.Instance.UserToken.Value, _receiverName)); bool newMsg = false; if (lstMessages.Count > 0) newMsg = true; foreach (LobbyService.UserMessage um in lstMessages) lv.Items.Add(um); if(lv.Items.Count > 0) lv.ScrollIntoView(lv.Items[lv.Items.Count - 1]); if (newMsg) { _mediaPlayer = new MediaPlayer(); _mediaPlayer.MediaFailed += (o, args) => { MessageBox.Show("Media Failed!!"); }; _mediaPlayer.Open(new Uri("Sounds/MSN Sound.mp3", UriKind.RelativeOrAbsolute)); _mediaPlayer.Play(); var helper = new FlashWindowHelper(Application.Current); // Flashes the window and taskbar 5 times and stays solid // colored until user focuses the main window helper.FlashApplicationWindow(); } } }
/// <summary> /// Petit hacks pour préloader les connexions et certains symboles. /// </summary> private async void LoadConnections() { await Task.Delay(1000); try { LobbyService.LobbyServiceClient ddd = new LobbyService.LobbyServiceClient(); ddd.Open(); UserServiceClient ccc = new UserServiceClient(); ccc.Open(); using (var gsc = new GameProxy.GameServiceClient()) { gsc.Open(); } } catch { MessageBox.Show("Il semble que la connexion est inexistante..."); } }
/// <summary> /// Met à jour les messages /// </summary> private async void UpdateMessages(System.Windows.Controls.ListView lv) { using (LobbyService.LobbyServiceClient client = new LobbyService.LobbyServiceClient()) { var lstMessages = await Task.Run(() => client.GetNewMessageFrom(UserSessionSingleton.Instance.UserToken.Value, _receiverName)); bool newMsg = false; if (lstMessages.Count > 0) { newMsg = true; } foreach (LobbyService.UserMessage um in lstMessages) { lv.Items.Add(um); } if (lv.Items.Count > 0) { lv.ScrollIntoView(lv.Items[lv.Items.Count - 1]); } if (newMsg) { _mediaPlayer = new MediaPlayer(); _mediaPlayer.MediaFailed += (o, args) => { MessageBox.Show("Media Failed!!"); }; _mediaPlayer.Open(new Uri("Sounds/MSN Sound.mp3", UriKind.RelativeOrAbsolute)); _mediaPlayer.Play(); var helper = new FlashWindowHelper(Application.Current); // Flashes the window and taskbar 5 times and stays solid // colored until user focuses the main window helper.FlashApplicationWindow(); } } }
void Start() { if (GameUtils.CurrentMode == GameMode.Client) { mChannel = new Channel(GameUtils.IP.ToString(), GameUtils.LobbyPort, ChannelCredentials.Insecure); mClient = new LobbyService.LobbyServiceClient(mChannel); ListenStates(); ListenStart(); StartGameButton.SetActive(false); } if (GameUtils.CurrentMode == GameMode.Server) { mServer = new Server(); mServer.Ports.Add(new ServerPort(IPAddress.Any.ToString(), GameUtils.LobbyPort, ServerCredentials.Insecure)); mService = new LobbyServiceImpl(GameUtils.Nickname); mServer.Services.Add(LobbyService.BindService(mService)); mService.OnUserStateChanged += ServiceOnOnUserStateChanged; mServer.Start(); StartGameButton.SetActive(true); ServiceOnOnUserStateChanged(GameUtils.Nickname, true); } }
/// <summary> /// Action lorsqu'on envoie un message. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSend_Click(object sender, RoutedEventArgs e) { if (txtMessage.Text.Trim().Length < 1) return; btnSend.IsEnabled = false; bool ok = false; using (LobbyService.LobbyServiceClient client = new LobbyService.LobbyServiceClient()) { ok = client.SendPrivateMessage(UserSessionSingleton.Instance.UserToken.Value, _receiverName, txtMessage.Text.Trim()); } if (!ok) { MessageBox.Show("Erreur d'envoie du message, veuillez réessayer!"); } else { LobbyService.UserMessage um = new LobbyService.UserMessage(); um.Content = txtMessage.Text; um.Date = DateTime.UtcNow; um.Username = UserSessionSingleton.Instance.Name; lvMessages.Items.Add(um); txtMessage.Text = ""; } btnSend.IsEnabled = true; }