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