示例#1
0
        void client_OnChatMessage(object sender, ChatMessageArgs e)
        {
            GSTask t = new GSTask();

            t.Type   = (int)GSTask.GSTType.ChatMessage;
            t.Client = (GameClient)sender;
            t.Args   = e;

            TaskProcessor.AddTask(t);
        }
示例#2
0
        void ChatMessageHandler(Task t)
        {
            GSTask task = (GSTask)t;

            ChatMessageArgs args = (ChatMessageArgs)task.Args;

            // Fetch client list
            Connection[] clients = _server.InputThread.Clients;

            // Send message to clients
            foreach (GameClient gc in clients)
            {
                if (gc.IsInChannel(args.Channel))
                {
                    if (!gc.IsChatBlocked(task.Client.AccountId))
                    {
                        gc.SendChat(args.Channel, args.Message, task.Client.DisplayName);
                    }
                }
            }
        }