public void ChannelState(MumbleSharp.Packets.ChannelState channelState) { var channel = _channels.AddOrUpdate(channelState.ChannelId, i => new Channel(channelState.ChannelId, channelState.Name, channelState.Parent) { Temporary = channelState.Temporary }, (i, c) => { c.Name = channelState.Name; return c; } ); if (channel.Id == 0) RootChannel = channel; }
public void ServerConfig(MumbleSharp.Packets.ServerConfig serverConfig) { }
public void Ping(MumbleSharp.Packets.Ping ping) { }
public void PermissionQuery(MumbleSharp.Packets.PermissionQuery permissionQuery) { }
public void ContextActionAdd(MumbleSharp.Packets.ContextActionAdd contextActionAdd) { }
public void ContextAction(MumbleSharp.Packets.ContextAction contextAction) { }
public void CodecVersion(MumbleSharp.Packets.CodecVersion codecVersion) { }
public void Version(MumbleSharp.Packets.Version version) { }
public void ChannelRemove(MumbleSharp.Packets.ChannelRemove channelRemove) { Channel c; _channels.TryRemove(channelRemove.ChannelId, out c); }
public void UserState(MumbleSharp.Packets.UserState userState) { if (userState.Session.HasValue) { User user = _users.AddOrUpdate(userState.Session.Value, i => new User(userState.Session.Value), (i, u) => u); if (userState.SelfDeaf.HasValue) user.Deaf = userState.SelfDeaf.Value; if (userState.SelfMute.HasValue) user.Muted = userState.SelfMute.Value; if (userState.Mute.HasValue) user.Muted = userState.Mute.Value; if (userState.Deaf.HasValue) user.Deaf = userState.Deaf.Value; if (userState.Suppress.HasValue) user.Muted = userState.Suppress.Value; if (userState.Name != null) user.Name = userState.Name; if (userState.ChannelId.HasValue) user.Channel = _channels[userState.ChannelId.Value]; } }
public void UserRemove(MumbleSharp.Packets.UserRemove userRemove) { User user; if (_users.TryRemove(userRemove.Session, out user)) user.Dispose(); if (user.Equals(LocalUser)) { //Console.WriteLine(((userRemove.Ban) ? "Banned" : "Kicked") + " from server. Reason: " + userRemove.Reason); _connection.Close(); } }
public void UserList(MumbleSharp.Packets.UserList userList) { }
public void TextMessage(MumbleSharp.Packets.TextMessage textMessage) { User user; if (!_users.TryGetValue(textMessage.Actor, out user)) //If we don't know the user for this packet, just ignore it return; Channel c; if (!_channels.TryGetValue(textMessage.ChannelId[0], out c)) //If we don't know the channel for this packet, just ignore it return; for (int i = 0; i < textMessage.Message.Length; i++) Console.WriteLine(user.Name + " (" + c.Name + "): " + textMessage.Message[i]); }
public void ServerSync(MumbleSharp.Packets.ServerSync serverSync) { if (LocalUser != null) throw new InvalidOperationException("Second ServerSync Received"); LocalUser = _users[serverSync.Session]; }