From bb21a092440c0a18601f93d5422181b64ce4b725 Mon Sep 17 00:00:00 2001 From: Evil Factory <36804725+evilfactory@users.noreply.github.com> Date: Sat, 18 Apr 2026 16:36:36 -0300 Subject: [PATCH] New icon for settings and make the top left text more user friendly --- .../_SettingsMenu/SettingsMenuSystem.cs | 5 +++-- .../LocalMods/LuaCsForBarotrauma/filelist.xml | 1 + .../SharedSource/LuaCs/LuaCsSetup.cs | 4 +++- .../LuaCs/_Services/MainMenuPatch.cs | 22 ++++++++++++++++++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Barotrauma/BarotraumaClient/ClientSource/LuaCs/_Services/_SettingsMenu/SettingsMenuSystem.cs b/Barotrauma/BarotraumaClient/ClientSource/LuaCs/_Services/_SettingsMenu/SettingsMenuSystem.cs index 2032ec512..1d5cb2d4d 100644 --- a/Barotrauma/BarotraumaClient/ClientSource/LuaCs/_Services/_SettingsMenu/SettingsMenuSystem.cs +++ b/Barotrauma/BarotraumaClient/ClientSource/LuaCs/_Services/_SettingsMenu/SettingsMenuSystem.cs @@ -45,8 +45,9 @@ public class SettingsMenuSystem : ISettingsMenuSystem var tabGameplayIndex = (SettingsMenu.Tab)tabCount; var tabControlsIndex = (SettingsMenu.Tab)tabCount+1; - _gameplayContentFrame = CreateNewContentTab(tabGameplayIndex, __instance, - "SettingsMenuTab.Mods", "LuaCsForBarotrauma.SettingsMenu.ModGameplayButton"); + _gameplayContentFrame = CreateNewContentTab(tabGameplayIndex, __instance, + GUIStyle.ComponentStyles.ContainsKey("SettingsMenuTab.LuaCsSettings") ? "SettingsMenuTab.LuaCsSettings" : "SettingsMenuTab.Mods", + "LuaCsForBarotrauma.SettingsMenu.ModGameplayButton"); /*_controlsContentFrame = CreateNewContentTab(tabControlsIndex, __instance, "SettingsMenuTab.Controls", "LuaCsForBarotrauma.SettingsMenu.ModControlsButton"); */ diff --git a/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/filelist.xml b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/filelist.xml index 445a2ad00..679f8d4c8 100644 --- a/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/filelist.xml +++ b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/filelist.xml @@ -1,5 +1,6 @@  + diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs index 78123b1e3..03c2501b9 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs @@ -125,7 +125,9 @@ namespace Barotrauma } private ISettingList _csRunPolicy; - + + public string CsRunPolicyValue => _csRunPolicy?.Value ?? "Prompt"; + /// /// Whether usernames are anonymized or show in logs. /// diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/MainMenuPatch.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/MainMenuPatch.cs index 5dfdc794b..5d56ad006 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/MainMenuPatch.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/MainMenuPatch.cs @@ -43,11 +43,31 @@ internal class MainMenuPatch : ISystem, IEventScreenSelected { if (mainMenuUIAdded) { return; } - new GUITextBlock(new RectTransform(new Point(300, 30), screen.Frame.RectTransform, Anchor.TopLeft) { AbsoluteOffset = new Point(10, 10) }, $"Using LuaCsForBarotrauma revision {AssemblyInfo.GitRevision}", Color.Red) + var textBlock = new GUITextBlock(new RectTransform(new Point(300, 30), screen.Frame.RectTransform, Anchor.TopLeft) { AbsoluteOffset = new Point(10, 10) }, "", Color.Red) { IgnoreLayoutGroups = false }; + textBlock.OnAddedToGUIUpdateList = (GUIComponent component) => + { + string mode = LuaCsSetup.Instance.CsRunPolicyValue; + + if (mode is "Prompt") + { + mode = "Enabled (prompt mode)"; + } + else if (mode is "Enabled") + { + mode = "Always enabled"; + } + else + { + mode = "Disabled"; + } + + textBlock.Text = $"LuaCsForBarotrauma active (revision {AssemblyInfo.GitRevision}), csharp is currently {mode}\nNew settings available in the game settings menu."; + }; + mainMenuUIAdded = true; } #endif