public void HandleChat( SteamID sender, EChatEntryType type, string msg ) { string friendName = Steam3.SteamFriends.GetFriendPersonaName( sender ); string time = DateTime.Now.ToString( "h:mm tt" ); var friend = new Friend( sender ); var status = new StatusColor(settings); var statusColor = status.GetStatusColor(friend); switch ( type ) { case EChatEntryType.ChatMsg: this.AppendText( statusColor, string.Format( "{0} - {1}", time, friendName ) ); this.AppendText( Color.Black, ": " + msg ); if ( sender != Steam3.SteamClient.SteamID ) FlashWindow(); break; case EChatEntryType.Emote: this.AppendText( statusColor, string.Format( "{0} - {1}", time, friendName ) ); this.AppendText( statusColor, " " + msg ); if ( sender != Steam3.SteamClient.SteamID ) FlashWindow(); break; case EChatEntryType.InviteGame: this.AppendText( statusColor, string.Format( "{0} - {1}", time, friendName ) ); this.AppendText( statusColor, " has invited you to play a game." ); if ( sender != Steam3.SteamClient.SteamID ) FlashWindow(); break; default: return; } this.AppendText( Environment.NewLine ); this.ScrollLog(); }
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; } var status = new StatusColor(settings); var statusColor = status.GetStatusColor(steamid); nameLbl.ForeColor = statusLbl.ForeColor = gameLbl.ForeColor = statusColor; 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 ); } }