aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichaelTheShifter <[email protected]>2016-06-26 12:31:01 -0400
committerMichaelTheShifter <[email protected]>2016-06-26 12:31:01 -0400
commit902b89212c22c39348081dfc1e4fa7957a311553 (patch)
treef79b131a0b5e01483f8d30367cc6bc9ae69e3c30
parenta14470ce12c09a87665521387bee2f982cd5a6d0 (diff)
downloadshiftos-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.cs15
-rw-r--r--source/WindowsFormsApplication1/Online/Hacking/Matchmaker.cs28
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.
}