Beispiel #1
0
        void client_CommandReceived(object sender, CommandEventArgs e)
        {
            switch (e.Command.CommandType)
            {
            case (CommandType.Message):
                if (e.Command.Target.Equals(IPAddress.Broadcast))
                {
                    this.txtMessages.Text += e.Command.SenderName + ": " + e.Command.MetaData + Environment.NewLine;
                }
                else if (!this.IsPrivateWindowOpened(e.Command.SenderName))
                {
                    this.OpenPrivateWindow(e.Command.SenderIP, e.Command.SenderName, e.Command.MetaData);
                    ShareUtils.PlaySound(ShareUtils.SoundType.NewMessageWithPow);
                }
                break;

            case (CommandType.FreeCommand):
                string [] newInfo = e.Command.MetaData.Split(new char [] { ':' });
                this.AddToList(newInfo [0], newInfo [1]);
                ShareUtils.PlaySound(ShareUtils.SoundType.NewClientEntered);
                break;

            case (CommandType.SendClientList):
                string [] clientInfo = e.Command.MetaData.Split(new char[] { ':' });
                this.AddToList(clientInfo [0], clientInfo [1]);
                break;

            case (CommandType.ClientLogOffInform):
                this.RemoveFromList(e.Command.SenderName);
                break;
            }
        }
Beispiel #2
0
        void client_CommandReceived(object sender, CommandEventArgs e)
        {
            switch (e.Command.CommandType)
            {
            case (CommandType.Message):
                if (e.Command.Target.Equals(IPAddress.Broadcast))
                {
                    this.txtMessages.Text += e.Command.SenderName + ": " + e.Command.MetaData + Environment.NewLine;
                }
                else if (!this.IsPrivateWindowOpened(e.Command.SenderName))
                {
                    this.OpenPrivateWindow(e.Command.SenderIP, e.Command.SenderName, e.Command.MetaData);
                    ShareUtils.PlaySound(ShareUtils.SoundType.NewMessageWithPow);
                }
                break;

            case (CommandType.NewUserJoined):
                txtMessages.Text += e.Command.MetaData + Environment.NewLine;
                //string[] newInfo = e.Command.MetaData.Split(new char[] { ':' });
                //this.txtMessages.Text += "New user joined";
                //this.AddToList(newInfo[0], newInfo[1]);
                //ShareUtils.PlaySound(ShareUtils.SoundType.NewClientEntered);
                break;

            case (CommandType.SendClientList):
                this.lstViwUsers.Items.Clear();
                var userList = JArray.Parse(e.Command.MetaData);
                foreach (var user in userList)
                {
                    this.AddToList(user["UserName"].ToString(), user["Name"].ToString());
                }

                break;

            case (CommandType.GameStatusUpdate):
                var gameState = JObject.Parse(e.Command.MetaData).ToObject <GameState>();
                richTextBox1.Text  = "Guess the word of Length: " + gameState.SelectedWordLength + Environment.NewLine;
                richTextBox1.Text += "Word Resolved as of now:" + gameState.ResolvedWord + Environment.NewLine;
                foreach (var score in gameState.Scores)
                {
                    richTextBox1.Text += score.Key + ":" + score.Value.Value + Environment.NewLine;
                }
                richTextBox1.Text += "Next Turn:" + gameState.NextUserTurn.Name;

                if (gameState.IsGameFinished)
                {
                    var winner = gameState.Scores.OrderByDescending(x => x.Value.Value).FirstOrDefault();
                    richTextBox1.Text = "Winner is: " + winner.Key;
                }

                break;

            case (CommandType.ClientLogOffInform):
                this.RemoveFromList(e.Command.SenderName);
                break;
            }
        }
Beispiel #3
0
 protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
 {
     if (keyData == Keys.Enter)
     {
         this.SendMessage();
     }
     if (this.txtMessages.Focused && !ShareUtils.IsValidKeyForReadOnlyFields(keyData))
     {
         return(true);
     }
     return(base.ProcessCmdKey(ref msg, keyData));
 }
Beispiel #4
0
        private void mniSave_Click(object sender, EventArgs e)
        {
            SaveFileDialog saveDlg = new SaveFileDialog();

            saveDlg.Filter           = "HTML Files(*.HTML;*.HTM)|*.html;*.htm";
            saveDlg.FilterIndex      = 0;
            saveDlg.RestoreDirectory = true;
            saveDlg.CheckPathExists  = true;
            saveDlg.OverwritePrompt  = true;
            saveDlg.FileName         = this.Text;
            if (saveDlg.ShowDialog() == DialogResult.OK)
            {
                ShareUtils.SaveAsHTML(saveDlg.FileName, this.txtMessages.Lines, this.Text);
            }
        }
Beispiel #5
0
        private void RemoveFromList(string name)
        {
            ListViewItem item = this.lstViwUsers.FindItemWithText(name);

            if (item.Text != this.client.IP.ToString())
            {
                this.lstViwUsers.Items.Remove(item);
                ShareUtils.PlaySound(ShareUtils.SoundType.ClientExit);
            }

            frmPrivate target = this.FindPrivateWindow(name);

            if (target != null)
            {
                target.Close();
            }
        }
Beispiel #6
0
 private void private_CommandReceived(object sender, CommandEventArgs e)
 {
     switch (e.Command.CommandType)
     {
     case (CommandType.Message):
         if (!e.Command.Target.Equals(IPAddress.Broadcast) && e.Command.SenderIP.Equals(this.targetIP))
         {
             this.txtMessages.Text += e.Command.SenderName + ": " + e.Command.MetaData + Environment.NewLine;
             if (!this.activated)
             {
                 if (this.WindowState == FormWindowState.Normal || this.WindowState == FormWindowState.Maximized)
                 {
                     ShareUtils.PlaySound(ShareUtils.SoundType.NewMessageReceived);
                 }
                 else
                 {
                     ShareUtils.PlaySound(ShareUtils.SoundType.NewMessageWithPow);
                 }
                 this.Flash(this.Handle, FlashMode.FLASHW_ALL, 3);
             }
         }
         break;
     }
 }
Beispiel #7
0
 internal static void PlaySound(ShareUtils.SoundType soundType)
 {
     Proshot.ResourceManager.Resourcer rcMngr = new Proshot.ResourceManager.Resourcer(Proshot.ResourceManager.LoadMethod.FromCallingCode);
     System.Media.SoundPlayer player = new System.Media.SoundPlayer();
     switch ( soundType )
     {
         case ( ShareUtils.SoundType.NewClientEntered ):
             player.Stream = rcMngr.GetResourceStream("Knock.wav");
             player.Play();
             break;
         case ( ShareUtils.SoundType.ClientExit ):
             player.Stream = rcMngr.GetResourceStream("Door.wav");
             player.Play();
             break;
         case ( ShareUtils.SoundType.NewMessageReceived ):
             player.Stream = rcMngr.GetResourceStream("Message.wav");
             player.Play();
             break;
         case ( ShareUtils.SoundType.NewMessageWithPow ):
             player.Stream = rcMngr.GetResourceStream("Pow.wav");
             player.Play();
             break;
     }
 }