diff options
| author | MichaelTheShifter <[email protected]> | 2016-06-26 12:31:01 -0400 |
|---|---|---|
| committer | MichaelTheShifter <[email protected]> | 2016-06-26 12:31:01 -0400 |
| commit | 902b89212c22c39348081dfc1e4fa7957a311553 (patch) | |
| tree | f79b131a0b5e01483f8d30367cc6bc9ae69e3c30 | |
| parent | a14470ce12c09a87665521387bee2f982cd5a6d0 (diff) | |
| download | shiftos-c-_theultimatehacker-902b89212c22c39348081dfc1e4fa7957a311553.tar.gz shiftos-c-_theultimatehacker-902b89212c22c39348081dfc1e4fa7957a311553.tar.bz2 shiftos-c-_theultimatehacker-902b89212c22c39348081dfc1e4fa7957a311553.zip | |
More matchmaking fixes
| -rw-r--r-- | source/WindowsFormsApplication1/Apps/NetworkBrowser.cs | 15 | ||||
| -rw-r--r-- | source/WindowsFormsApplication1/Online/Hacking/Matchmaker.cs | 28 |
2 files changed, 30 insertions, 13 deletions
diff --git a/source/WindowsFormsApplication1/Apps/NetworkBrowser.cs b/source/WindowsFormsApplication1/Apps/NetworkBrowser.cs index 1890744..4662cb8 100644 --- a/source/WindowsFormsApplication1/Apps/NetworkBrowser.cs +++ b/source/WindowsFormsApplication1/Apps/NetworkBrowser.cs @@ -395,13 +395,16 @@ Those above values only matter if the leader decides to become a friend. If they t.Tick += (o, a) => { SetupSidePane(Online.Hacking.Matchmaker.Players[sindex]); - if(sindex < Online.Hacking.Matchmaker.Players.Count - 1) + if (Matchmaker.Players.Count > 1) { - sindex = 0; - } - else - { - sindex += 1; + if (sindex < Online.Hacking.Matchmaker.Players.Count - 1) + { + sindex = 0; + } + else + { + sindex += 1; + } } }; t.Start(); diff --git a/source/WindowsFormsApplication1/Online/Hacking/Matchmaker.cs b/source/WindowsFormsApplication1/Online/Hacking/Matchmaker.cs index fca22ac..733d060 100644 --- a/source/WindowsFormsApplication1/Online/Hacking/Matchmaker.cs +++ b/source/WindowsFormsApplication1/Online/Hacking/Matchmaker.cs @@ -65,18 +65,31 @@ namespace ShiftOS.Online.Hacking } }; Package_Grabber.SendMessage(si.IPAddress, "get_matchmaking"); + int index = 0; MakerTimer.Tick += (o, e) => { - int index = rnd.Next(0, Players.Count - 1); - if (Players[index] != API.CurrentSave.MyOnlineNetwork && Players[index].Name != null) + try { - SelectedNetwork = Players[index]; - MakerTimer.Stop(); - SelectedNetworkListener = new NetListener(si, SelectedNetwork); - SelectedNetworkTransmitter = new NetTransmitter(si, SelectedNetwork); - Package_Grabber.SendMessage(SelectedServer.IPAddress, $"leave_lobby", API.CurrentSave.MyOnlineNetwork); + if (Players[index] != API.CurrentSave.MyOnlineNetwork && Players[index].Name != null) + { + SelectedNetwork = Players[index]; + MakerTimer.Stop(); + SelectedNetworkListener = new NetListener(si, SelectedNetwork); + SelectedNetworkTransmitter = new NetTransmitter(si, SelectedNetwork); + Package_Grabber.SendMessage(SelectedServer.IPAddress, $"leave_lobby", API.CurrentSave.MyOnlineNetwork); + } + else + { + index += 1; + } + } + catch (Exception ex) + { + invoke(() => { API.CreateInfoboxSession("Cannot make a match.", "Network Browser had trouble making a match with another network. Error: " + ex.Message, infobox.InfoboxMode.Info); }); } }; + MakerTimer.Interval = 50; + MakerTimer.Start(); } @@ -186,6 +199,7 @@ namespace ShiftOS.Online.Hacking EnemyIdent = enemy.Name + ";" + enemy.Description; serverInfo = si; var h = new HackUI(this, Matchmaker.SelectedNetworkListener); + h.Show(); //HackUI will handle everything else to do with our network. } |
