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; }
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); } }
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); } }