internal User(bUserPresence presence, bUserStats userStats) { IsOsu = presence.isOsu; extended = true; ReceivePresence(presence); if (userStats != null) { ReceiveUserStats(userStats); } }
internal static void Cache(bUserPresence presence) { lock (idToPresenceCache) { PresenceCacheItem item = Query(presence.userId, false); if (item == null) { item = new PresenceCacheItem(); cache.Add(item); idToPresenceCache[presence.userId] = item; } item.Presence = presence; item.LastUpdate = DateTime.Now; totalFills++; activeQueries.Remove(presence.userId); } }
internal void ReceivePresence(bUserPresence presence) { Id = presence.userId; Name = presence.username; Timezone = presence.timezone; //never downgrade from an osu! to non-osu presence if (!IsOsu || presence.isOsu) { IsOsu = presence.isOsu; } CountryCode = presence.countryCode; Location = countryNames[presence.countryCode]; Longitude = presence.longitude; Latitude = presence.latitude; Permission = presence.permission; Rank = presence.rank; if (!StatsLoaded) { PlayMode = presence.playMode; } if (spriteAvatar != null) { LoadAvatarInto(spriteAvatar, spriteAvatar.MaxDimension); } UpdateTextFields(); UpdateColour(); if (!InitialLoadComplete) { ChatEngine.CheckFriend(this); InitialLoadComplete = true; } }
public void ReadFromStream(SerializationReader sr) { Presence = new bUserPresence(sr); LastUpdate = sr.ReadDateTime(); }
internal User(bUserPresence presence) : this(presence, null) { }