Skip to content

Commit 53baf89

Browse files
authored
Add support for steam lobbies, centralize destination server parsing (#78)
1 parent 0f41e39 commit 53baf89

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

HEROsModServices/Login.cs

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,11 @@ public LoginWindow()
127127
loginStorage = new LoginStorage();
128128
if (loginStorage.LoadJSON())
129129
{
130-
var userInfo = loginStorage.GetLogin(Netplay.ServerIP.ToString() + ":" + Netplay.ListenPort.ToString(), Main.player[Main.myPlayer].name);
130+
LoginInfo userInfo;
131+
string destinationServer = RetrieveDestinationServer();
132+
133+
userInfo = loginStorage.GetLogin(destinationServer, Main.player[Main.myPlayer].name);
134+
131135
SetToggle(userInfo.GetSaveType());
132136

133137
if (userInfo.Username != "")
@@ -308,6 +312,26 @@ private void bLogin_onLeftClick(object sender, EventArgs e)
308312
}
309313
}
310314

315+
private string RetrieveDestinationServer()
316+
{
317+
if (Netplay.ServerIP != null && Netplay.ListenPort != 0)
318+
{
319+
return Netplay.ServerIP.ToString() + ":" + Netplay.ListenPort.ToString();
320+
}
321+
else if (Main.LobbyId > 0)
322+
{
323+
return Main.LobbyId.ToString();
324+
}
325+
else if (Main.worldName != null && Main.worldName != "")
326+
{
327+
return Main.worldName;
328+
}
329+
else
330+
{
331+
return "";
332+
}
333+
}
334+
311335
private void SaveLogin()
312336
{
313337
var username = "";
@@ -318,17 +342,19 @@ private void SaveLogin()
318342
if (cbRememberPassword.Selected)
319343
password = tbPassword.Text;
320344

345+
string destinationServer = RetrieveDestinationServer();
346+
321347
if (saveType == LoginSaveType.Default)
322348
{
323-
loginStorage.AddLogin(Netplay.ServerIP.ToString() + ":" + Netplay.ListenPort.ToString(), username, password);
349+
loginStorage.AddLogin(destinationServer, username, password);
324350
}
325351
else if (saveType == LoginSaveType.Player)
326352
{
327-
loginStorage.AddLogin(Netplay.ServerIP.ToString() + ":" + Netplay.ListenPort.ToString(), Main.player[Main.myPlayer].name, username, password);
353+
loginStorage.AddLogin(destinationServer, Main.player[Main.myPlayer].name, username, password);
328354
}
329355
else if (saveType == LoginSaveType.None)
330356
{
331-
loginStorage.RemoveLogin(Netplay.ServerIP.ToString() + ":" + Netplay.ListenPort.ToString(), Main.player[Main.myPlayer].name);
357+
loginStorage.RemoveLogin(destinationServer, Main.player[Main.myPlayer].name);
332358
}
333359

334360
loginStorage.SaveJSON();

0 commit comments

Comments
 (0)