Adds a cvar for server rules (#8365)

Co-authored-by: Veritius <veritiusgaming@gmail.com>
Co-authored-by: ike709 <ike709@github.com>
This commit is contained in:
ike709
2022-05-23 14:43:09 -05:00
committed by GitHub
parent f9bdb66ec8
commit 0b15db1120
3 changed files with 18 additions and 5 deletions

View File

@@ -1,7 +1,9 @@
using Content.Client.EscapeMenu.UI; using Content.Client.EscapeMenu.UI;
using Content.Shared.CCVar;
using Robust.Client.ResourceManagement; using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls; using Robust.Client.UserInterface.CustomControls;
using Robust.Shared.Configuration;
namespace Content.Client.Info namespace Content.Client.Info
{ {
@@ -9,6 +11,7 @@ namespace Content.Client.Info
{ {
[Dependency] private readonly RulesManager _rulesManager = default!; [Dependency] private readonly RulesManager _rulesManager = default!;
[Dependency] private readonly IResourceCache _resourceManager = default!; [Dependency] private readonly IResourceCache _resourceManager = default!;
[Dependency] private readonly IConfigurationManager _cfgManager = default!;
private OptionsMenu optionsMenu; private OptionsMenu optionsMenu;
@@ -41,7 +44,7 @@ namespace Content.Client.Info
private void PopulateRules(Info rulesList) 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) private void PopulateTutorial(Info tutorialList)

View File

@@ -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.ResourceManagement;
using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML; using Robust.Client.UserInterface.XAML;
using Robust.Shared.IoC; using Robust.Shared.Configuration;
using Robust.Shared.Localization;
namespace Content.Client.Info; namespace Content.Client.Info;
@@ -11,13 +12,16 @@ namespace Content.Client.Info;
public sealed partial class RulesControl : BoxContainer public sealed partial class RulesControl : BoxContainer
{ {
[Dependency] private readonly IResourceCache _resourceManager = default!; [Dependency] private readonly IResourceCache _resourceManager = default!;
[Dependency] private readonly IConfigurationManager _cfgManager = default!;
public RulesControl() public RulesControl()
{ {
RobustXamlLoader.Load(this); RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this); IoCManager.InjectDependencies(this);
var path = "Server Info/" + _cfgManager.GetCVar(CCVars.RulesFile);
AddChild(new InfoSection(Loc.GetString("ui-rules-header"), AddChild(new InfoSection(Loc.GetString("ui-rules-header"),
_resourceManager.ContentFileReadAllText($"/Server Info/Rules.txt"), true)); _resourceManager.ContentFileReadAllText(path), true));
} }
} }

View File

@@ -17,6 +17,12 @@ namespace Content.Shared.CCVar
public static readonly CVarDef<string> ServerId = public static readonly CVarDef<string> ServerId =
CVarDef.Create("server.id", "unknown_server_id", CVar.REPLICATED | CVar.SERVER); CVarDef.Create("server.id", "unknown_server_id", CVar.REPLICATED | CVar.SERVER);
/// <summary>
/// Name of the rules txt file in the "Resources/Server Info" dir. Include the extension.
/// </summary>
public static readonly CVarDef<string> RulesFile =
CVarDef.Create("server.rules_file", "Rules.txt", CVar.REPLICATED | CVar.SERVER);
/* /*
* Ambience * Ambience
*/ */