@@ -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