protected virtual void UserLeft(User user) { }
internal void RemoveUser(User user) { }
protected virtual void UserJoined(User user) { }
internal void AddUser(User user) { }
protected override void UserLeft(User user) { base.UserLeft(user); _players.Remove(user); }
protected override void UserJoined(User user) { base.UserJoined(user); _players.Add(user, new AudioPlayer(user.Voice)); }
protected override void UserLeft(User user) { base.UserLeft(user); if (userLeftDelegate != null) userLeftDelegate(this, user); }
protected override void UserJoined(User user) { base.UserJoined(user); if (userJoinedDelegate != null) userJoinedDelegate(this, user); }