public void UpdateFriend(Friend steamid) { Friend = steamid; nameLbl.Text = steamid.GetName(); statusLbl.Text = steamid.GetStatus(); gameLbl.Text = steamid.GetGameName(); if (steamid.IsRequestingFriendship()) { btnAccept.Visible = true; btnDeny.Visible = true; } else { btnAccept.Visible = false; btnDeny.Visible = false; } nameLbl.ForeColor = statusLbl.ForeColor = gameLbl.ForeColor = Util.GetStatusColor(steamid); byte[] avatarHash = Steam3.SteamFriends.GetFriendAvatar(steamid.SteamID); bool validHash = avatarHash != null && !Util.IsZeros(avatarHash); if ((AvatarHash == null && !validHash && avatarBox.Image != null) || (AvatarHash != null && AvatarHash.SequenceEqual(avatarHash))) { // avatar is already up to date, no operations necessary } else if (validHash) { AvatarHash = avatarHash; CDNCache.DownloadAvatar(steamid.SteamID, avatarHash, AvatarDownloaded); } else { AvatarHash = null; avatarBox.Image = ComposeAvatar(this.Friend, null); } }
static void Start(string[] args) { LoginDialog ld = new LoginDialog(FindArg(args, "-udp")); if (ld.ShowDialog() != DialogResult.OK) { return; } CDNCache.Initialize(); MainForm mf = new MainForm(); mf.Show(); while (mf.Created) { Steam3.Update(); Application.DoEvents(); Thread.Sleep(1); // sue me, AzuiSleet. } Steam3.Shutdown(); CDNCache.Shutdown(); if (mf.Relog) { try { Start(args); } catch (Exception ex) { new ErrorDialog(ex).ShowDialog(); } } }