public ClientUser AddUser(ClientUser user) { var u = FindByName(user.UserName); // didn't find it, so enter the user if (u != null) return u; Monitor.Enter(this); try { _userList.Add(user); } finally { Monitor.Exit(this); } return user; }
public void RemoveUser(ClientUser clientUser) { ClientUser user = UserByName(clientUser.UserName); if (user != null) { Monitor.Enter(this); try { _userList.Remove(clientUser); } finally { Monitor.Exit(this); } } }
public void AddUser(ClientUser clientUser) { ClientUser u = UserByName(clientUser.UserName); if (u == null) { Monitor.Enter(this); try { _userList.Add(clientUser); } finally { Monitor.Exit(this); } } }
void EngineLoginResponseReceived(object sender, LoginResponseEventArgs e) { if (!e.Response.Success) return; var user = new ClientUser {IsMe = true, UserName = e.Response.UserName}; //foreach (string current in loginResponse.UserVariables.Keys) //{ // EsObject value = loginResponse.UserVariables[current] as EsObject; // user.AddUserVariable(new UserVariable // { // Name = current, // Value = value // }); //} UserManager.AddUser(user); UserManager.Me = user; }
void EngineRoomUserUpdate(object sender, RoomUserUpdateEventArgs e) { var roomUserUpdateEvent = e.Event; var user = UserManager.FindByName(roomUserUpdateEvent.UserName); var room = RoomManager.FindById(roomUserUpdateEvent.RoomId); if (user == null) { user = new ClientUser { UserName = roomUserUpdateEvent.UserName }; //foreach (UserVariable current in roomUserUpdateEvent.UserVariables) //{ // user.AddUserVariable(current); //} } switch (roomUserUpdateEvent.Action) { case RoomUserUpdateAction.AddUser: user = UserManager.AddUser(user); room.AddUser(user); break; case RoomUserUpdateAction.DeleteUser: UserManager.RemoveUser(user.UserName); room.RemoveUser(user); break; } }