/// <summary> /// Clears the current session, removing any users being tracked. /// This should be called whenever the current session changes, to reset this class /// and handle a new current session. /// </summary> private void ClearCurrentSession() { for (int i = 0; i < CurrentUsers.Count; i++) { UserLeft.RaiseEvent(CurrentUsers[i]); } CurrentUsers.Clear(); }
private void OnUserLeft(Session session, User user) { UserLeft.RaiseEvent(session, user); if (IsLocalUser(user)) { CurrentUserLeft.RaiseEvent(session); } }
private void OnUserLeftSession(Session session, User user) { if (!session.IsJoined()) { return; } if (CurrentUsers.RemoveAll(x => x.GetID() == user.GetID()) > 0) { //Debug.LogFormat("User {0} left current session.", user.GetName()); UserLeft.RaiseEvent(user); } }
private void OnUserLeftSession(Session session, User user) { if (!session.IsJoined()) { return; } for (int i = CurrentUsers.Count - 1; i >= 0; i--) { if (CurrentUsers[i].GetID() == user.GetID()) { CurrentUsers.RemoveAt(i); UserLeft.RaiseEvent(user); // Debug.LogFormat("User {0} left current session.", user.GetName()); } } }