From 6fbb68ae06db8f63d01c338dffcf44df6110f508 Mon Sep 17 00:00:00 2001 From: AirFryerBuyOneGetOneFree Date: Wed, 9 Oct 2024 18:53:24 -0500 Subject: [PATCH] GHOST BAR --- Content.Client/Ghost/GhostSystem.cs | 7 +- .../Systems/Ghost/GhostUIController.cs | 14 + .../Systems/Ghost/Widgets/GhostGui.xaml | 1 + .../Systems/Ghost/Widgets/GhostGui.xaml.cs | 8 + .../Ghost/Controls/GhostBarRulesWindow.xaml | 15 + .../Controls/GhostBarRulesWindow.xaml.cs | 53 + .../Components/GhostBarPlayerComponent.cs | 10 + .../Components/GhostBarSpawnComponent.cs | 10 + .../_Goobstation/Ghostbar/GhostBarSystem.cs | 105 + Content.Shared/Ghost/SharedGhostSystem.cs | 8 + .../_Goobstation/guidebook/ghost-gui.ftl | 5 + .../_Goobstation/Nonstations/ghostbar.yml | 14822 ++++++++++++++++ .../Entities/Markers/Spawners/ghost_roles.yml | 13 + 13 files changed, 15070 insertions(+), 1 deletion(-) create mode 100644 Content.Client/_Goobstation/UserInterface/Systems/Ghost/Controls/GhostBarRulesWindow.xaml create mode 100644 Content.Client/_Goobstation/UserInterface/Systems/Ghost/Controls/GhostBarRulesWindow.xaml.cs create mode 100644 Content.Server/_Goobstation/Ghostbar/Components/GhostBarPlayerComponent.cs create mode 100644 Content.Server/_Goobstation/Ghostbar/Components/GhostBarSpawnComponent.cs create mode 100644 Content.Server/_Goobstation/Ghostbar/GhostBarSystem.cs create mode 100644 Resources/Locale/en-US/_Goobstation/guidebook/ghost-gui.ftl create mode 100644 Resources/Maps/_Goobstation/Nonstations/ghostbar.yml create mode 100644 Resources/Prototypes/_Goobstation/Entities/Markers/Spawners/ghost_roles.yml diff --git a/Content.Client/Ghost/GhostSystem.cs b/Content.Client/Ghost/GhostSystem.cs index f4f7e3459fb9..ed13bb5add06 100644 --- a/Content.Client/Ghost/GhostSystem.cs +++ b/Content.Client/Ghost/GhostSystem.cs @@ -176,7 +176,12 @@ public void OpenGhostRoles() _console.RemoteExecuteCommand(null, "ghostroles"); } - public void ToggleGhostVisibility(bool? visibility = null) + public void GhostBarSpawn() // Goobstation - Ghost Bar + { + RaiseNetworkEvent(new GhostBarSpawnEvent()); + } + + public void ToggleGhostVisibility(bool? visibility = null) { GhostVisibility = visibility ?? !GhostVisibility; } diff --git a/Content.Client/UserInterface/Systems/Ghost/GhostUIController.cs b/Content.Client/UserInterface/Systems/Ghost/GhostUIController.cs index 53779ea41c19..abafdd9c5129 100644 --- a/Content.Client/UserInterface/Systems/Ghost/GhostUIController.cs +++ b/Content.Client/UserInterface/Systems/Ghost/GhostUIController.cs @@ -125,6 +125,8 @@ public void LoadGui() Gui.RequestWarpsPressed += RequestWarps; Gui.ReturnToBodyPressed += ReturnToBody; Gui.GhostRolesPressed += GhostRolesPressed; + Gui.GhostBarPressed += GhostBarPressed; // Goobstation - Ghost Bar + Gui.GhostBarWindow.SpawnButtonPressed += GhostBarSpawnPressed; // Goobstation - Ghost Bar Gui.TargetWindow.WarpClicked += OnWarpClicked; Gui.TargetWindow.OnGhostnadoClicked += OnGhostnadoClicked; @@ -139,6 +141,8 @@ public void UnloadGui() Gui.RequestWarpsPressed -= RequestWarps; Gui.ReturnToBodyPressed -= ReturnToBody; Gui.GhostRolesPressed -= GhostRolesPressed; + Gui.GhostBarPressed -= GhostBarPressed; // Goobstation - Ghost Bar + Gui.GhostBarWindow.SpawnButtonPressed -= GhostBarSpawnPressed; // Goobstation - Ghost Bar Gui.TargetWindow.WarpClicked -= OnWarpClicked; Gui.Hide(); @@ -160,4 +164,14 @@ private void GhostRolesPressed() { _system?.OpenGhostRoles(); } + + private void GhostBarPressed() // Goobstation - Ghost Bar + { + Gui?.GhostBarWindow.OpenCentered(); + } + + private void GhostBarSpawnPressed() // Goobstation - Ghost Bar + { + _system?.GhostBarSpawn(); + } } diff --git a/Content.Client/UserInterface/Systems/Ghost/Widgets/GhostGui.xaml b/Content.Client/UserInterface/Systems/Ghost/Widgets/GhostGui.xaml index 0f65debb4e7b..7102402d8977 100644 --- a/Content.Client/UserInterface/Systems/Ghost/Widgets/GhostGui.xaml +++ b/Content.Client/UserInterface/Systems/Ghost/Widgets/GhostGui.xaml @@ -5,5 +5,6 @@