Skip to content

Commit

Permalink
Lobby chat width and custom lobby titles (#33783)
Browse files Browse the repository at this point in the history
* lobby name cvar

* panel width

* skrek

* server name localization fix

* comment format fix

Co-authored-by: Thomas <[email protected]>

* remove redundant newline

Co-authored-by: Thomas <[email protected]>

* string.empty

Co-authored-by: Thomas <[email protected]>

* use SetWidth

* Update Resources/Locale/en-US/lobby/lobby-gui.ftl

---------

Co-authored-by: Thomas <[email protected]>
Co-authored-by: slarticodefast <[email protected]>
  • Loading branch information
3 people authored Jan 5, 2025
1 parent 6f16291 commit a55dc4d
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 6 deletions.
16 changes: 14 additions & 2 deletions Content.Client/Lobby/LobbyState.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,21 @@
using Content.Client.Message;
using Content.Client.UserInterface.Systems.Chat;
using Content.Client.Voting;
using Content.Shared.CCVar;
using Robust.Client;
using Robust.Client.Console;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Shared.Configuration;
using Robust.Shared.Timing;


namespace Content.Client.Lobby
{
public sealed class LobbyState : Robust.Client.State.State
{
[Dependency] private readonly IBaseClient _baseClient = default!;
[Dependency] private readonly IConfigurationManager _cfg = default!;
[Dependency] private readonly IClientConsoleHost _consoleHost = default!;
[Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IResourceCache _resourceCache = default!;
Expand Down Expand Up @@ -49,7 +51,17 @@ protected override void Startup()

_voteManager.SetPopupContainer(Lobby.VoteContainer);
LayoutContainer.SetAnchorPreset(Lobby, LayoutContainer.LayoutPreset.Wide);
Lobby.ServerName.Text = _baseClient.GameInfo?.ServerName; //The eye of refactor gazes upon you...

var lobbyNameCvar = _cfg.GetCVar(CCVars.ServerLobbyName);
var serverName = _baseClient.GameInfo?.ServerName ?? string.Empty;

Lobby.ServerName.Text = string.IsNullOrEmpty(lobbyNameCvar)
? Loc.GetString("ui-lobby-title", ("serverName", serverName))
: lobbyNameCvar;

var width = _cfg.GetCVar(CCVars.ServerLobbyRightPanelWidth);
Lobby.RightSide.SetWidth = width;

UpdateLobbyUi();

Lobby.CharacterPreview.CharacterSetupButton.OnPressed += OnSetupPressed;
Expand Down
4 changes: 1 addition & 3 deletions Content.Client/Lobby/UI/LobbyGui.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,12 @@
<Control Access="Public" Visible="False" Name="CharacterSetupState" VerticalExpand="True" />
</BoxContainer>
<!-- Right Panel -->
<PanelContainer Name="RightSide" StyleClasses="AngleRect" HorizontalAlignment="Right" VerticalExpand="True"
<PanelContainer Name="RightSide" Access="Public" StyleClasses="AngleRect" HorizontalAlignment="Right" VerticalExpand="True"
VerticalAlignment="Stretch">
<BoxContainer Orientation="Vertical" HorizontalExpand="True">
<!-- Top row -->
<BoxContainer Orientation="Horizontal" MinSize="0 40" Name="HeaderContainer" Access="Public"
SeparationOverride="4">
<Label Margin="8 0 0 0" StyleClasses="LabelHeadingBigger" VAlign="Center"
Text="{Loc 'ui-lobby-title'}" />
<Label Name="ServerName" Access="Public" StyleClasses="LabelHeadingBigger" VAlign="Center"
HorizontalExpand="True" HorizontalAlignment="Center" />
</BoxContainer>
Expand Down
13 changes: 13 additions & 0 deletions Content.Shared/CCVar/CCVars.Server.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,17 @@ public sealed partial class CCVars
/// </remarks>
public static readonly CVarDef<int> ServerUptimeRestartMinutes =
CVarDef.Create("server.uptime_restart_minutes", 0, CVar.SERVERONLY);

/// <summary>
/// This will be the title shown in the lobby
/// If empty, the title will be {ui-lobby-title} + the server's full name from the hub
/// </summary>
public static readonly CVarDef<string> ServerLobbyName =
CVarDef.Create("server.lobby_name", "", CVar.REPLICATED | CVar.SERVER);

/// <summary>
/// The width of the right side (chat) panel in the lobby
/// </summary>
public static readonly CVarDef<int> ServerLobbyRightPanelWidth =
CVarDef.Create("server.lobby_right_panel_width", 650, CVar.REPLICATED | CVar.SERVER);
}
2 changes: 1 addition & 1 deletion Resources/Locale/en-US/lobby/lobby-gui.ftl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ui-lobby-title = Lobby
ui-lobby-title = Lobby: {$serverName}
ui-lobby-ahelp-button = AHelp
ui-lobby-options-button = Options
ui-lobby-leave-button = Leave
Expand Down

0 comments on commit a55dc4d

Please sign in to comment.