Add a GUI slider for setting the auto ban duration. Define the max auto ban length in the server settings. (Issue #128)
This commit is contained in:
@@ -350,6 +350,23 @@ namespace Barotrauma.Networking
|
|||||||
};
|
};
|
||||||
kickVoteSlider.OnMoved(kickVoteSlider, kickVoteSlider.BarScroll);
|
kickVoteSlider.OnMoved(kickVoteSlider, kickVoteSlider.BarScroll);
|
||||||
|
|
||||||
|
y += 20;
|
||||||
|
|
||||||
|
var autobanTimeText = new GUITextBlock(new Rectangle(20, y + 20, 20, 20), $"Auto ban time: " + ToolBox.SecondsToReadableTime(AutoBanTime), "", settingsTabs[1], GUI.SmallFont);
|
||||||
|
|
||||||
|
var autobanTimeSlider = new GUIScrollBar(new Rectangle(150, y + 22, 100, 15), "", 0.1f, settingsTabs[1]);
|
||||||
|
autobanTimeSlider.UserData = autobanTimeText;
|
||||||
|
autobanTimeSlider.Step = 0.05f;
|
||||||
|
autobanTimeSlider.BarScroll = AutoBanTime / MaxAutoBanTime;
|
||||||
|
autobanTimeSlider.OnMoved = (GUIScrollBar scrollBar, float barScroll) =>
|
||||||
|
{
|
||||||
|
GUITextBlock voteText = scrollBar.UserData as GUITextBlock;
|
||||||
|
AutoBanTime = Math.Max(barScroll * MaxAutoBanTime, 0);
|
||||||
|
voteText.Text = "Auto ban time: " + ToolBox.SecondsToReadableTime(AutoBanTime);
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
autobanTimeSlider.OnMoved(autobanTimeSlider, autobanTimeSlider.BarScroll);
|
||||||
|
|
||||||
y += 45;
|
y += 45;
|
||||||
|
|
||||||
var shareSubsBox = new GUITickBox(new Rectangle(0, y, 20, 20), "Share submarine files with players", Alignment.Left, settingsTabs[1]);
|
var shareSubsBox = new GUITickBox(new Rectangle(0, y, 20, 20), "Share submarine files with players", Alignment.Left, settingsTabs[1]);
|
||||||
|
|||||||
@@ -260,6 +260,14 @@ namespace Barotrauma.Networking
|
|||||||
get;
|
get;
|
||||||
private set;
|
private set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Serialize(360f, true)]
|
||||||
|
public float MaxAutoBanTime
|
||||||
|
{
|
||||||
|
get;
|
||||||
|
private set;
|
||||||
|
}
|
||||||
|
|
||||||
private void SaveSettings()
|
private void SaveSettings()
|
||||||
{
|
{
|
||||||
XDocument doc = new XDocument(new XElement("serversettings"));
|
XDocument doc = new XDocument(new XElement("serversettings"));
|
||||||
@@ -369,6 +377,7 @@ namespace Barotrauma.Networking
|
|||||||
extraCargo = new Dictionary<ItemPrefab, int>();
|
extraCargo = new Dictionary<ItemPrefab, int>();
|
||||||
|
|
||||||
AutoBanTime = doc.Root.GetAttributeFloat("autobantime", 60);
|
AutoBanTime = doc.Root.GetAttributeFloat("autobantime", 60);
|
||||||
|
MaxAutoBanTime = doc.Root.GetAttributeFloat("maxautobantime", 360);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadClientPermissions()
|
public void LoadClientPermissions()
|
||||||
|
|||||||
@@ -30,4 +30,5 @@
|
|||||||
MissionType="Random"
|
MissionType="Random"
|
||||||
TraitorsEnabled="No"
|
TraitorsEnabled="No"
|
||||||
autobantime="60"
|
autobantime="60"
|
||||||
|
maxautobantime="360"
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user