Ejemplo n.º 1
0
        void PlayMessage(MusSpecialMessages msg)
        {
            if (txtTraces.InvokeRequired)
            {
                txtTraces.BeginInvoke(new PlayMessageDelegate(PlayMessage), new object[] { msg });
            }
            else
            {
                switch (msg)
                {
                case MusSpecialMessages.Gallina:
                case MusSpecialMessages.Quejica:
                    Stream stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream($"MusClient.Res.{msg}.wav");
                    using (System.Media.SoundPlayer player = new System.Media.SoundPlayer(stream))
                        player.Play();
                    break;

                case MusSpecialMessages.Loser:
                    Stream imgStream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream($"MusClient.Res.{msg}.png");
                    picMessageImages.Image   = new Bitmap(imgStream);
                    picMessageImages.Visible = true;
                    Task.Delay(3000).ContinueWith(t =>
                    {
                        picMessageImages.Visible = false;
                    },
                                                  TaskScheduler.FromCurrentSynchronizationContext());
                    break;
                }
            }
        }
Ejemplo n.º 2
0
        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if ((DateTime.Now - lastTimeSpecialMessage).TotalSeconds > 15)
            {
                MusSpecialMessages m = SpecialMessages.GetSpecialMessage(keyData);
                if (m != MusSpecialMessages.None)
                {
                    lastTimeSpecialMessage = DateTime.Now;
                    using (MyServiceClient c = new MyServiceClient(generalData.ServerIP))
                    {
                        c.SendSpecialMessageAsync(generalData.GameName, generalData.TeamName, generalData.UserName, m);
                    }
                }
            }

            return(base.ProcessCmdKey(ref msg, keyData));
        }
Ejemplo n.º 3
0
        public static MusSpecialMessages GetSpecialMessage(System.Windows.Forms.Keys letter)
        {
            MusSpecialMessages retVal = MusSpecialMessages.None;

            switch (letter)
            {
            case System.Windows.Forms.Keys.G:
                retVal = MusSpecialMessages.Gallina;
                break;

            case System.Windows.Forms.Keys.L:
                retVal = MusSpecialMessages.Loser;
                break;

            case System.Windows.Forms.Keys.Q:
                retVal = MusSpecialMessages.Quejica;
                break;
            }
            return(retVal);
        }
Ejemplo n.º 4
0
        public void SendSpecialMessage(string gameName, string teamName, string userName, MusSpecialMessages message)
        {
            var game = MusDatabase.Games.FirstOrDefault(x => x.GameName == gameName);

            AddTrace(game, $"{userName} pide enviar mensaje especial: {message}");
            var team = game.Teams.FirstOrDefault(x => x.TeamName == teamName);

            foreach (var t in game.Teams)
            {
                if (t != team)
                {
                    foreach (var u in t.Users)
                    {
                        u.SpecialMessage = message;
                    }
                }
            }
        }