private void btnLogin_Click(object sender, EventArgs e) { this.Enabled = false; try { Steam3.UserName = txtUser.Text; Steam3.Password = txtPass.Text; Steam3.Initialize(useUdp); Steam3.Connect(); } catch (Steam3Exception ex) { Util.MsgBox(this, "Unable to login to Steam3: " + ex.Message); this.Enabled = true; return; } DialogResult = DialogResult.OK; }
public void HandleCallback(CallbackMsg msg) { if (msg.IsType <SteamFriends.PersonaStateCallback>()) { var perState = (SteamFriends.PersonaStateCallback)msg; if (perState.FriendID == selfControl.Friend.SteamID) { selfControl.UpdateFriend(selfControl.Friend); suppressStateMsg = true; stateComboBox.SelectedIndex = GetIndexFromState(perState.State); suppressStateMsg = false; return; } nextSort = DateTime.Now + TimeSpan.FromSeconds(0.1); sortTimer.Start(); } if (msg.IsType <SteamUser.LoggedOffCallback>()) { var callback = (SteamUser.LoggedOffCallback)msg; Util.MsgBox(this, string.Format("Logged off from Steam3: {0}", callback.Result)); this.Relog = true; this.Close(); return; } if (msg.IsType <SteamFriends.FriendsListCallback>()) { selfControl.UpdateFriend(new Friend(Steam3.SteamUser.SteamID)); this.UpdateFriends(); } if (msg.IsType <SteamUser.LoginKeyCallback>()) { Steam3.SteamFriends.SetPersonaState(EPersonaState.Online); this.Enabled = true; } if (msg.IsType <SteamUser.LoggedOnCallback>()) { var logOnResp = (SteamUser.LoggedOnCallback)msg; if (logOnResp.Result == EResult.AccountLogonDenied) { expectDisconnect = true; SteamGuardDialog sgDialog = new SteamGuardDialog(); if (sgDialog.ShowDialog(this) != DialogResult.OK) { this.Relog = true; this.Close(); return; } Steam3.AuthCode = sgDialog.AuthCode; // if we got this logon response, we got disconnected, so lets reconnect try { Steam3.Connect(); } catch (Steam3Exception ex) { Util.MsgBox(this, string.Format("Unable to connect to Steam3: {0}", ex.Message)); this.Relog = true; this.Close(); return; } } else if (logOnResp.Result != EResult.OK) { Util.MsgBox(this, string.Format("Unable to login to Steam3. Result code: {0}", logOnResp.Result)); this.Relog = true; this.Close(); return; } } if (msg.IsType <SteamFriends.FriendAddedCallback>()) { var friendAdded = (SteamFriends.FriendAddedCallback)msg; if (friendAdded.Result != EResult.OK) { Util.MsgBox(this, "Unable to add friend! Result: " + friendAdded.Result); } } msg.Handle <SteamClient.DisconnectedCallback>((callback) => { // if we expected this disconnection (cause of steamguard), we do nothing if (expectDisconnect) { expectDisconnect = false; return; } Util.MsgBox(this, "Disconnected from Steam3!"); this.Relog = true; this.Close(); return; }); }