diff --git a/Content.Client/Info/RulesAndInfoWindow.cs b/Content.Client/Info/RulesAndInfoWindow.cs index 3d8f7cebd6..966f60a5f5 100644 --- a/Content.Client/Info/RulesAndInfoWindow.cs +++ b/Content.Client/Info/RulesAndInfoWindow.cs @@ -1,7 +1,9 @@ using Content.Client.EscapeMenu.UI; +using Content.Shared.CCVar; using Robust.Client.ResourceManagement; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.CustomControls; +using Robust.Shared.Configuration; namespace Content.Client.Info { @@ -9,6 +11,7 @@ namespace Content.Client.Info { [Dependency] private readonly RulesManager _rulesManager = default!; [Dependency] private readonly IResourceCache _resourceManager = default!; + [Dependency] private readonly IConfigurationManager _cfgManager = default!; private OptionsMenu optionsMenu; @@ -41,7 +44,7 @@ namespace Content.Client.Info private void PopulateRules(Info rulesList) { - AddSection(rulesList, Loc.GetString("ui-rules-header"), "Rules.txt", true); + AddSection(rulesList, Loc.GetString("ui-rules-header"), _cfgManager.GetCVar(CCVars.RulesFile), true); } private void PopulateTutorial(Info tutorialList) diff --git a/Content.Client/Info/RulesControl.xaml.cs b/Content.Client/Info/RulesControl.xaml.cs index acdbdc4cf4..2c6f6e7831 100644 --- a/Content.Client/Info/RulesControl.xaml.cs +++ b/Content.Client/Info/RulesControl.xaml.cs @@ -1,9 +1,10 @@ -using Robust.Client.AutoGenerated; +using System.IO; +using Content.Shared.CCVar; +using Robust.Client.AutoGenerated; using Robust.Client.ResourceManagement; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.XAML; -using Robust.Shared.IoC; -using Robust.Shared.Localization; +using Robust.Shared.Configuration; namespace Content.Client.Info; @@ -11,13 +12,16 @@ namespace Content.Client.Info; public sealed partial class RulesControl : BoxContainer { [Dependency] private readonly IResourceCache _resourceManager = default!; + [Dependency] private readonly IConfigurationManager _cfgManager = default!; public RulesControl() { RobustXamlLoader.Load(this); IoCManager.InjectDependencies(this); + var path = "Server Info/" + _cfgManager.GetCVar(CCVars.RulesFile); + AddChild(new InfoSection(Loc.GetString("ui-rules-header"), - _resourceManager.ContentFileReadAllText($"/Server Info/Rules.txt"), true)); + _resourceManager.ContentFileReadAllText(path), true)); } } diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index 1baec87524..329a374391 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -17,6 +17,12 @@ namespace Content.Shared.CCVar public static readonly CVarDef ServerId = CVarDef.Create("server.id", "unknown_server_id", CVar.REPLICATED | CVar.SERVER); + /// + /// Name of the rules txt file in the "Resources/Server Info" dir. Include the extension. + /// + public static readonly CVarDef RulesFile = + CVarDef.Create("server.rules_file", "Rules.txt", CVar.REPLICATED | CVar.SERVER); + /* * Ambience */