示例#1
0
 private void OnListChannel(WorldSession session, PCChannel packet)
 {
     session.SendMessage("Users in channel " + packet.ChannelName + ":");
     var channel = ChatChannels.SingleOrDefault(ch => ch.Name == packet.ChannelName);
     channel.Sessions.ForEach(s => session.SendMessage(s.Player.Name));
 }
示例#2
0
        private void OnLeaveChannel(WorldSession session, PCChannel packet)
        {
            var channel = ChatChannels.SingleOrDefault(c => c.Name == packet.ChannelName);
            channel.Sessions.Remove(session);

            if (channel.Sessions.Count == 0) ChatChannels.Remove(channel);

            session.SendPacket(new PSChannelNotify(ChatChannelNotify.CHAT_YOU_LEFT_NOTICE, session.Player.ObjectGUID.RawGUID, packet.ChannelName));
        }