Exemple #1
0
        public override void LoggedOut(UUID accountID, UserRegionData regionData = null)
        {
            var data = new Dictionary <string, object>
            {
                ["LastLogout"] = Date.Now,
            };

            if (regionData != null)
            {
                data["LastRegionID"]      = regionData.RegionID;
                data["LastPosition"]      = regionData.Position;
                data["LastLookAt"]        = regionData.LookAt;
                data["LastGatekeeperURI"] = regionData.GatekeeperURI?.ToString() ?? string.Empty;
            }
            var w = new Dictionary <string, object>
            {
                ["ID"] = accountID
            };

            using (var connection = new SqlConnection(m_ConnectionString))
            {
                connection.Open();
                connection.UpdateSet("useraccounts", data, w);
            }
        }
 public UserRegionData(UserRegionData src)
 {
     RegionID      = src.RegionID;
     Position      = src.Position;
     LookAt        = src.LookAt;
     GatekeeperURI = src.GatekeeperURI;
 }
Exemple #3
0
        public override void SetPosition(UUID accountID, UserRegionData regionData)
        {
            if (regionData == null)
            {
                throw new ArgumentNullException(nameof(regionData));
            }
            UserAccount ua = m_Data[accountID];

            ua.LastRegion = regionData.Clone();
        }
Exemple #4
0
        public override void LoggedOut(UUID accountID, UserRegionData regionData)
        {
            UserAccount ua = m_Data[accountID];

            ua.LastLogout = Date.Now;
            if (regionData != null)
            {
                ua.LastRegion = regionData.Clone();
            }
        }
        public bool TryGetLastRegion(UUID accountID, out UserRegionData lastRegion)
        {
            UserAccount ua;

            lastRegion = default(UserRegionData);
            if (TryGetValue(accountID, out ua))
            {
                lastRegion = ua.LastRegion;
                return(lastRegion != null);
            }
            return(false);
        }
        public bool TryGetHomeRegion(UUID accountID, out UserRegionData homeRegion)
        {
            UserAccount ua;

            homeRegion = default(UserRegionData);
            if (TryGetValue(accountID, out ua))
            {
                homeRegion = ua.HomeRegion;
                return(homeRegion != null);
            }
            return(false);
        }
Exemple #7
0
        public static UserAccount ToUserAccount(this SqlDataReader reader, Uri homeURI)
        {
            var            info = new UserAccount();
            string         gkUri;
            UserRegionData regData;

            info.Principal.ID              = reader.GetUUID("ID");
            info.Principal.FirstName       = (string)reader["FirstName"];
            info.Principal.LastName        = (string)reader["LastName"];
            info.Principal.HomeURI         = homeURI;
            info.Principal.IsAuthoritative = true;
            info.Email          = (string)reader["Email"];
            info.Created        = reader.GetDate("Created");
            info.UserLevel      = (int)reader["UserLevel"];
            info.UserFlags      = reader.GetEnum <UserFlags>("UserFlags");
            info.UserTitle      = (string)reader["UserTitle"];
            info.IsLocalToGrid  = true;
            info.IsEverLoggedIn = (bool)reader["IsEverLoggedIn"];

            gkUri   = (string)reader["LastGatekeeperURI"];
            regData = new UserRegionData
            {
                RegionID = reader.GetUUID("LastRegionID"),
                Position = reader.GetVector3("LastPosition"),
                LookAt   = reader.GetVector3("LastLookAt"),
            };
            if (!string.IsNullOrEmpty(gkUri))
            {
                regData.GatekeeperURI = new URI(gkUri);
            }
            if (regData.RegionID != UUID.Zero)
            {
                info.LastRegion = regData;
            }

            gkUri   = (string)reader["HomeGatekeeperURI"];
            regData = new UserRegionData
            {
                RegionID = reader.GetUUID("HomeRegionID"),
                Position = reader.GetVector3("HomePosition"),
                LookAt   = reader.GetVector3("HomeLookAt"),
            };
            if (!string.IsNullOrEmpty(gkUri))
            {
                regData.GatekeeperURI = new URI(gkUri);
            }
            if (regData.RegionID != UUID.Zero)
            {
                info.HomeRegion = regData;
            }

            return(info);
        }
Exemple #8
0
 public UserAccount(UserAccount src)
 {
     Principal      = new UGUIWithName(src.Principal);
     Email          = src.Email;
     Created        = src.Created;
     UserLevel      = src.UserLevel;
     UserFlags      = src.UserFlags;
     UserTitle      = src.UserTitle;
     ServiceURLs    = new Dictionary <string, string>(src.ServiceURLs);
     IsEverLoggedIn = src.IsEverLoggedIn;
     LastLogout     = new Date(src.LastLogout);
     LastRegion     = src.LastRegion?.Clone();
     HomeRegion     = src.HomeRegion?.Clone();
 }
Exemple #9
0
        public override void SetPosition(UUID accountID, UserRegionData regionData)
        {
            if (regionData == null)
            {
                throw new ArgumentNullException(nameof(regionData));
            }
            var data = new Dictionary <string, object>
            {
                ["LastRegionID"]      = regionData.RegionID,
                ["LastPosition"]      = regionData.Position,
                ["LastLookAt"]        = regionData.LookAt,
                ["LastGatekeeperURI"] = regionData.GatekeeperURI?.ToString() ?? string.Empty,
            };
            var w = new Dictionary <string, object>
            {
                ["ID"] = accountID
            };

            using (var connection = new SqlConnection(m_ConnectionString))
            {
                connection.Open();
                connection.UpdateSet("useraccounts", data, w);
            }
        }
 public abstract void SetPosition(UUID accountID, UserRegionData regionData);
 public abstract void SetHome(UUID accountID, UserRegionData regionData);
 public abstract void LoggedOut(UUID accountID, UserRegionData regionData = null);
Exemple #13
0
 public override void SetHomeRegion(UGUI user, UserRegionData info)
 {
     throw new NotImplementedException();
 }
 public virtual void SetLastRegion(UGUI user, UserRegionData info)
 {
     /* intentionally left empty */
 }
 public abstract void SetHomeRegion(UGUI user, UserRegionData info);