Beispiel #1
0
        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;
        }
Beispiel #2
0
 public void RemoveUser(ClientUser clientUser)
 {
     ClientUser user = UserByName(clientUser.UserName);
     if (user != null)
     {
         Monitor.Enter(this);
         try
         {
             _userList.Remove(clientUser);
         }
         finally
         {
             Monitor.Exit(this);
         }
        }
 }
Beispiel #3
0
        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;
            }
        }