Exemplo n.º 1
0
        private void receiveMsgState(CSUser user, string msg)
        {
            Color color = user.Equals(me) ? Color.Blue : user.Equals(new CSUser("Game master")) ? Color.DarkRed : Color.Green;

            richTextBoxMsg.SelectionColor = color;
            richTextBoxMsg.AppendText(user.Login + " [" + DateTime.Now.ToString("HH:mm") + "] - " + msg + "\n");
            richTextBoxMsg.SelectionColor = richTextBoxMsg.ForeColor;
        }
Exemplo n.º 2
0
        protected override void challengerHandler(UserThread client, CSMessage msg)
        {
            try
            {
                CSUser user = (CSUser)msg.get(MessageType.USER);

                if (msg.get(MessageType.REQUEST) != null)
                {
                    client.Froms.Add(user);
                    if (view.isOpened())
                    {
                        view.requestHandler(user);
                    }
                }
                else if ((msg.get(MessageType.ABORT) != null))
                {
                    if (user.Equals(client.To))
                    {
                        client.To = null;
                        if (view.isOpened())
                        {
                            view.abortHandler(user, true);
                        }
                    }
                    else
                    {
                        client.Froms.Remove(user);
                        if (view.isOpened())
                        {
                            view.abortHandler(user, false);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                log(Severiry.ERROR, "Controller [Challenging] - " + e.Message);
            }
        }
Exemplo n.º 3
0
        protected override void challengerHandler(UserThread client, CSMessage msg)
        {
            try
            {
                ServerThread to;
                CSUser       user = (CSUser)msg.get(MessageType.USER);

                if ((to = findClient(user)) != null && !to.playing())
                {
                    if (msg.get(MessageType.REQUEST) != null)
                    {
                        if (!user.Equals(client.To) && !client.Froms.Contains(user))
                        {
                            abortRequest(client, client.ClientUser);
                            client.To = to.ClientUser;
                            to.Froms.Add(client.ClientUser);
                            msg.add(MessageType.USER, client.ClientUser);
                            to.send(msg);
                        }
                    }
                    else if (msg.get(MessageType.RESPONSE) != null)
                    {
                        if (client.Froms.Contains(user) && to.To.Equals(client.ClientUser))
                        {
                            abortRequest(client, client.ClientUser);
                            client.To = null;
                            client.Froms.Remove(to.ClientUser);
                            to.To = null;
                            foreach (CSUser u in client.Froms)
                            {
                                abortRequest(u, client.ClientUser);
                            }
                            foreach (CSUser u in to.Froms)
                            {
                                abortRequest(u, to.ClientUser);
                            }
                            client.Froms.Clear();
                            to.Froms.Clear();

                            beginGame((ServerThread)client, to);
                        }
                    }
                    else if (msg.get(MessageType.ABORT) != null)
                    {
                        if (user.Equals(client.To))
                        {
                            client.To = null;
                            to.Froms.Remove(client.ClientUser);
                        }
                        else
                        {
                            to.To = null;
                            client.Froms.Remove(user);
                        }
                        msg.add(MessageType.USER, client.ClientUser);
                        to.send(msg);
                    }
                }
                else
                {
                    msg.clear();
                    msg.Type = MessageType.CHALLENGING;
                    msg.add(MessageType.ABORT, true).add(MessageType.USER, user);
                    client.To = null;
                    client.Froms.Remove(user);
                    client.send(msg);
                }
            }
            catch (Exception e)
            {
                log(Severiry.ERROR, "Controller[PARTY] - " + e.Message);
            }
        }