public bool SetHome(string userID, UUID regionID, Vector3 position, Vector3 lookAt)
 {
     if (m_RemoteConnector.SetHome(userID, regionID, position, lookAt))
     {
         if (m_Infos.TryGetValue(userID, KEEPTIME * 1000, out GridUserInfo info))
         {
             info.HomeRegionID = regionID;
             info.HomePosition = position;
             info.HomeLookAt   = lookAt;
         }
         return(true);
     }
     return(false);
 }
예제 #2
0
        public bool SetHome(string userID, UUID regionID, Vector3 position, Vector3 lookAt)
        {
            if (m_RemoteConnector.SetHome(userID, regionID, position, lookAt))
            {
                // Update the cache too
                GridUserInfo info = null;
                if (m_Infos.TryGetValue(userID, out info))
                {
                    info.HomeRegionID = regionID;
                    info.HomePosition = position;
                    info.HomeLookAt   = lookAt;
                }
                return(true);
            }

            return(false);
        }
예제 #3
0
        byte[] SetHome(Dictionary <string, object> request)
        {
            string  user     = string.Empty;
            UUID    region   = UUID.Zero;
            Vector3 position = new Vector3(128, 128, 70);
            Vector3 look     = Vector3.Zero;

            if (!UnpackArgs(request, out user, out region, out position, out look))
            {
                return(FailureResult());
            }

            if (m_GridUserService.SetHome(user, region, position, look))
            {
                return(SuccessResult());
            }

            return(FailureResult());
        }
예제 #4
0
 public bool SetHome(string userID, UUID regionID, Vector3 position, Vector3 lookAt)
 {
     return(m_RemoteConnector.SetHome(userID, regionID, position, lookAt));
 }
        /// <summary>
        /// Create a user
        /// </summary>
        /// <param name="scopeID">Allows hosting of multiple grids in a single database.  Normally left as UUID.Zero</param>
        /// <param name="principalID">ID of the user</param>
        /// <param name="firstName"></param>
        /// <param name="lastName"></param>
        /// <param name="password"></param>
        /// <param name="email"></param>
        public UserAccount CreateUser(UUID scopeID, UUID principalID, string firstName, string lastName, string password, string email)
        {
            UserAccount account = GetUserAccount(UUID.Zero, firstName, lastName);

            if (null == account)
            {
                account = new UserAccount(UUID.Zero, principalID, firstName, lastName, email);
                if (account.ServiceURLs == null || (account.ServiceURLs != null && account.ServiceURLs.Count == 0))
                {
                    account.ServiceURLs                       = new Dictionary <string, object>();
                    account.ServiceURLs["HomeURI"]            = string.Empty;
                    account.ServiceURLs["InventoryServerURI"] = string.Empty;
                    account.ServiceURLs["AssetServerURI"]     = string.Empty;
                }

                if (StoreUserAccount(account))
                {
                    bool success;
                    if (m_AuthenticationService != null)
                    {
                        success = m_AuthenticationService.SetPassword(account.PrincipalID, password);
                        if (!success)
                        {
                            m_log.WarnFormat("[USER ACCOUNT SERVICE]: Unable to set password for account {0} {1}.",
                                             firstName, lastName);
                        }
                    }

                    GridRegion home = null;
                    if (m_GridService != null)
                    {
                        List <GridRegion> defaultRegions = m_GridService.GetDefaultRegions(UUID.Zero);
                        if (defaultRegions != null && defaultRegions.Count >= 1)
                        {
                            home = defaultRegions[0];
                        }

                        if (m_GridUserService != null && home != null)
                        {
                            m_GridUserService.SetHome(account.PrincipalID.ToString(), home.RegionID, new Vector3(128, 128, 0), new Vector3(0, 1, 0));
                        }
                        else
                        {
                            m_log.WarnFormat("[USER ACCOUNT SERVICE]: Unable to set home for account {0} {1}.",
                                             firstName, lastName);
                        }
                    }
                    else
                    {
                        m_log.WarnFormat("[USER ACCOUNT SERVICE]: Unable to retrieve home region for account {0} {1}.",
                                         firstName, lastName);
                    }

                    if (m_InventoryService != null)
                    {
                        success = m_InventoryService.CreateUserInventory(account.PrincipalID);
                        if (!success)
                        {
                            m_log.WarnFormat("[USER ACCOUNT SERVICE]: Unable to create inventory for account {0} {1}.",
                                             firstName, lastName);
                        }
                        else
                        {
                            m_log.DebugFormat(
                                "[USER ACCOUNT SERVICE]: Created user inventory for {0} {1}", firstName, lastName);
                        }

                        if (m_CreateDefaultAvatarEntries)
                        {
                            CreateDefaultAppearanceEntries(account.PrincipalID);
                        }
                    }

                    m_log.InfoFormat(
                        "[USER ACCOUNT SERVICE]: Account {0} {1} {2} created successfully",
                        firstName, lastName, account.PrincipalID);
                }
                else
                {
                    m_log.ErrorFormat("[USER ACCOUNT SERVICE]: Account creation failed for account {0} {1}", firstName, lastName);
                }
            }
            else
            {
                m_log.ErrorFormat("[USER ACCOUNT SERVICE]: A user with the name {0} {1} already exists!", firstName, lastName);
            }

            return(account);
        }
 public bool SetHome(string userID, UUID homeID, Vector3 homePosition, Vector3 homeLookAt)
 {
     return(m_GridUserService.SetHome(userID, homeID, homePosition, homeLookAt));
 }