示例#1
0
        /// <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(); 
                }
            }
        }
示例#3
0
        /// <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...");
            }
        }
示例#4
0
        /// <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...");
            }
        }
示例#5
0
        /// <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();
                }
            }
        }
示例#6
0
文件: LobbyRoot.cs 项目: gormel/rts
        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;
        }