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; }
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(); }
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); }
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); }
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(); }
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);
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);