From d09e5fe39cefc309742289d24208038a48873f8c Mon Sep 17 00:00:00 2001 From: Milon Date: Fri, 27 Dec 2024 20:53:44 +0100 Subject: [PATCH 1/2] sort of works --- .../Systems/SpaceElevatorConsoleSystem.cs | 5 + .../Planetside/Systems/SpaceElevatorSystem.cs | 5 + .../UI/SpaceElevatorBoundUserInterface.cs | 37 + .../UI/SpaceElevatorConsoleWindow.xaml | 68 + .../UI/SpaceElevatorConsoleWindow.xaml.cs | 125 + .../Shuttles/Systems/ArrivalsSystem.cs | 6 +- .../PlanetsideTerrainSpawnerComponent.cs | 31 + .../Systems/PlanetsideTerrainSpawnerSystem.cs | 40 + .../Systems/PlanetsideTerrainSystem.cs | 87 + .../Systems/SpaceElevatorConsoleSystem.cs | 180 + .../Planetside/Systems/SpaceElevatorSystem.cs | 78 + .../Components/SpaceElevatorComponent.cs | 44 + .../SpaceElevatorConsoleComponent.cs | 45 + .../SpaceElevatorPlatformComponent.cs | 6 + .../Planetside/SpaceElevatorConsoleState.cs | 26 + .../SharedSpaceElevatorConsoleSystem.cs | 3 + .../Systems/SharedSpaceElevatorSystem.cs | 3 + .../Planetside/TerrainTemplatePrototype.cs | 58 + .../_emberfall/planetside/space-elevator.ftl | 13 + .../en-US/_emberfall/planetside/terrain.ftl | 1 + Resources/Maps/Nonstations/mining_outpost.yml | 7839 ++++++++++++++++ .../_Emberfall/Nonstations/mining_outpost.yml | 8150 +++++++++++++++++ .../_Emberfall/Shuttles/space_elevator.yml | 1015 ++ .../Entities/Stations/nanotrasen.yml | 1 + .../_Emberfall/Entities/Stations/base.yml | 7 + .../Structures/Doors/Airlocks/access.yml | 22 + .../Structures/Machines/computers.yml | 44 + Resources/Prototypes/_Emberfall/tags.yml | 2 + .../_Emberfall/terrain_templates.yml | 15 + 29 files changed, 17953 insertions(+), 3 deletions(-) create mode 100644 Content.Client/_Emberfall/Planetside/Systems/SpaceElevatorConsoleSystem.cs create mode 100644 Content.Client/_Emberfall/Planetside/Systems/SpaceElevatorSystem.cs create mode 100644 Content.Client/_Emberfall/Planetside/UI/SpaceElevatorBoundUserInterface.cs create mode 100644 Content.Client/_Emberfall/Planetside/UI/SpaceElevatorConsoleWindow.xaml create mode 100644 Content.Client/_Emberfall/Planetside/UI/SpaceElevatorConsoleWindow.xaml.cs create mode 100644 Content.Server/_Emberfall/Planetside/Components/PlanetsideTerrainSpawnerComponent.cs create mode 100644 Content.Server/_Emberfall/Planetside/Systems/PlanetsideTerrainSpawnerSystem.cs create mode 100644 Content.Server/_Emberfall/Planetside/Systems/PlanetsideTerrainSystem.cs create mode 100644 Content.Server/_Emberfall/Planetside/Systems/SpaceElevatorConsoleSystem.cs create mode 100644 Content.Server/_Emberfall/Planetside/Systems/SpaceElevatorSystem.cs create mode 100644 Content.Shared/_Emberfall/Planetside/Components/SpaceElevatorComponent.cs create mode 100644 Content.Shared/_Emberfall/Planetside/Components/SpaceElevatorConsoleComponent.cs create mode 100644 Content.Shared/_Emberfall/Planetside/Components/SpaceElevatorPlatformComponent.cs create mode 100644 Content.Shared/_Emberfall/Planetside/SpaceElevatorConsoleState.cs create mode 100644 Content.Shared/_Emberfall/Planetside/Systems/SharedSpaceElevatorConsoleSystem.cs create mode 100644 Content.Shared/_Emberfall/Planetside/Systems/SharedSpaceElevatorSystem.cs create mode 100644 Content.Shared/_Emberfall/Planetside/TerrainTemplatePrototype.cs create mode 100644 Resources/Locale/en-US/_emberfall/planetside/space-elevator.ftl create mode 100644 Resources/Locale/en-US/_emberfall/planetside/terrain.ftl create mode 100644 Resources/Maps/Nonstations/mining_outpost.yml create mode 100644 Resources/Maps/_Emberfall/Nonstations/mining_outpost.yml create mode 100644 Resources/Maps/_Emberfall/Shuttles/space_elevator.yml create mode 100644 Resources/Prototypes/_Emberfall/Entities/Stations/base.yml create mode 100644 Resources/Prototypes/_Emberfall/Entities/Structures/Doors/Airlocks/access.yml create mode 100644 Resources/Prototypes/_Emberfall/Entities/Structures/Machines/computers.yml create mode 100644 Resources/Prototypes/_Emberfall/tags.yml create mode 100644 Resources/Prototypes/_Emberfall/terrain_templates.yml diff --git a/Content.Client/_Emberfall/Planetside/Systems/SpaceElevatorConsoleSystem.cs b/Content.Client/_Emberfall/Planetside/Systems/SpaceElevatorConsoleSystem.cs new file mode 100644 index 00000000000..c46ad580c5a --- /dev/null +++ b/Content.Client/_Emberfall/Planetside/Systems/SpaceElevatorConsoleSystem.cs @@ -0,0 +1,5 @@ +using Content.Shared._Emberfall.Planetside.Systems; + +namespace Content.Client._Emberfall.Planetside.Systems; + +public sealed class SpaceElevatorConsoleSystem : SharedSpaceElevatorConsoleSystem; diff --git a/Content.Client/_Emberfall/Planetside/Systems/SpaceElevatorSystem.cs b/Content.Client/_Emberfall/Planetside/Systems/SpaceElevatorSystem.cs new file mode 100644 index 00000000000..f00a2ca2ba2 --- /dev/null +++ b/Content.Client/_Emberfall/Planetside/Systems/SpaceElevatorSystem.cs @@ -0,0 +1,5 @@ +using Content.Shared._Emberfall.Planetside.Systems; + +namespace Content.Client._Emberfall.Planetside.Systems; + +public sealed class SpaceElevatorSystem : SharedSpaceElevatorSystem; diff --git a/Content.Client/_Emberfall/Planetside/UI/SpaceElevatorBoundUserInterface.cs b/Content.Client/_Emberfall/Planetside/UI/SpaceElevatorBoundUserInterface.cs new file mode 100644 index 00000000000..d76b60bb6e7 --- /dev/null +++ b/Content.Client/_Emberfall/Planetside/UI/SpaceElevatorBoundUserInterface.cs @@ -0,0 +1,37 @@ +using Content.Shared._Emberfall.Planetside; + +namespace Content.Client._Emberfall.Planetside.UI; + +public sealed class SpaceElevatorBoundUserInterface(EntityUid owner, Enum uiKey) : BoundUserInterface(owner, uiKey) +{ + [ViewVariables] + private SpaceElevatorConsoleWindow? _window; + + protected override void Open() + { + base.Open(); + + _window = new SpaceElevatorConsoleWindow(Owner); + _window.OpenCentered(); + _window.OnClose += Close; + _window.OnFTL += index => SendMessage(new DockingConsoleFTLMessage(index)); + } + + protected override void UpdateState(BoundUserInterfaceState state) + { + base.UpdateState(state); + + if (state is not SpaceElevatorConsoleState cast) + return; + + _window?.UpdateState(cast); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + + if (disposing) + _window?.Orphan(); + } +} diff --git a/Content.Client/_Emberfall/Planetside/UI/SpaceElevatorConsoleWindow.xaml b/Content.Client/_Emberfall/Planetside/UI/SpaceElevatorConsoleWindow.xaml new file mode 100644 index 00000000000..da707e47240 --- /dev/null +++ b/Content.Client/_Emberfall/Planetside/UI/SpaceElevatorConsoleWindow.xaml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +