- fixed submarine selection resetting when switching to netlobbyscreen

- fixed EntityGrid IndexOutOfRangeException
- fixed AssignJobs() ignoring the highest job preference
This commit is contained in:
Regalis
2016-06-07 16:57:58 +03:00
parent 9689ef070d
commit 8f8f1ed7dc
3 changed files with 11 additions and 6 deletions

View File

@@ -40,9 +40,9 @@ namespace Barotrauma
return;
}
for (int x = Math.Max(indices.X, 0); x <= Math.Min(indices.Width, entities.GetLength(0)); x++)
for (int x = Math.Max(indices.X, 0); x <= Math.Min(indices.Width, entities.GetLength(0)-1); x++)
{
for (int y = Math.Max(indices.Y,0); y <= Math.Min(indices.Height, entities.GetLength(1)); y++)
for (int y = Math.Max(indices.Y,0); y <= Math.Min(indices.Height, entities.GetLength(1)-1); y++)
{
entities[x, y].Add(entity);
}

View File

@@ -1725,8 +1725,9 @@ namespace Barotrauma.Networking
Client preferredClient = null;
foreach (Client c in clients)
{
int index = c.jobPreferences.FindIndex(jp => jp == job);
if (index == 0) index = 1000;
int index = c.jobPreferences.IndexOf(job);
if (index == -1) index = 1000;
if (preferredClient == null || index < bestPreference)
{
bestPreference = index;

View File

@@ -354,6 +354,7 @@ namespace Barotrauma
if (IsServer && GameMain.Server != null)
{
int prevSelected = subList.SelectedIndex;
UpdateSubList(Submarine.SavedSubmarines);
modeList.OnSelected = VotableClicked;
@@ -377,8 +378,11 @@ namespace Barotrauma
var banListButton = new GUIButton(new Rectangle(0, 30, 100, 20), "Banned IPs", Alignment.BottomRight, GUI.Style, playerList.Parent);
banListButton.OnClicked = GameMain.Server.BanList.ToggleBanFrame;
banListButton.UserData = "banListButton";
if (subList.CountChildren > 0 && subList.Selected == null) subList.Select(0);
if (subList.CountChildren > 0 && subList.Selected == null)
{
subList.Select(Math.Max(0, prevSelected));
}
if (GameModePreset.list.Count > 0 && modeList.Selected == null) modeList.Select(0);
if (myPlayerFrame.children.Find(c => c.UserData as string == "playyourself") == null)