diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs index 79feedd6e..10e1ba9d8 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs @@ -132,7 +132,7 @@ namespace Barotrauma protected Rectangle ClampRect(Rectangle r) { - if (parent == null) return r; + if (parent == null || !ClampMouseRectToParent) return r; Rectangle parentRect = parent.ClampRect(parent.rect); if (parentRect.Width <= 0 || parentRect.Height <= 0) return Rectangle.Empty; if (parentRect.X > r.X) @@ -190,10 +190,15 @@ namespace Barotrauma } } } - + + public bool ClampMouseRectToParent = true; public virtual Rectangle MouseRect { - get { return CanBeFocused ? ClampRect(rect) : Rectangle.Empty; } + get + { + if (!CanBeFocused) return Rectangle.Empty; + return ClampMouseRectToParent ? ClampRect(rect) : rect; + } } public Dictionary> sprites; diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIListBox.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIListBox.cs index 772fdc661..5798c1b59 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIListBox.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIListBox.cs @@ -296,7 +296,7 @@ namespace Barotrauma { get { - return ClampRect(rect); + return ClampMouseRectToParent ? ClampRect(rect) : rect; } } diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUITickBox.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUITickBox.cs index 363e4904b..148b1224f 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUITickBox.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUITickBox.cs @@ -63,7 +63,7 @@ namespace Barotrauma public override Rectangle MouseRect { - get { return ClampRect(box.Rect); } + get { return ClampMouseRectToParent ? ClampRect(box.Rect) : box.Rect; } } public override ScalableFont Font diff --git a/Barotrauma/BarotraumaClient/Source/Networking/GameServerSettings.cs b/Barotrauma/BarotraumaClient/Source/Networking/GameServerSettings.cs index 62410b7bf..0f1bca9ea 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/GameServerSettings.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/GameServerSettings.cs @@ -187,6 +187,7 @@ namespace Barotrauma.Networking monsterButton.Enabled = !GameStarted; var monsterFrame = new GUIListBox(new Rectangle(-290, 60, 280, 250), "", settingsTabs[0]); monsterFrame.Visible = false; + monsterFrame.ClampMouseRectToParent = false; monsterButton.UserData = monsterFrame; monsterButton.OnClicked = (button, obj) => { @@ -231,6 +232,7 @@ namespace Barotrauma.Networking var cargoFrame = new GUIListBox(new Rectangle(300, 60, 280, 250), "", settingsTabs[0]); cargoFrame.Visible = false; + cargoFrame.ClampMouseRectToParent = false; cargoButton.UserData = cargoFrame; cargoButton.OnClicked = (button, obj) => {