From 68ffe42dbb98437732c1d5a67d3c47b8610e3115 Mon Sep 17 00:00:00 2001 From: rhailrake <49613070+rhailrake@users.noreply.github.com> Date: Thu, 4 May 2023 13:43:03 +0600 Subject: [PATCH] [feat]jukebox (#9) --- Content.Client/Entry/EntryPoint.cs | 3 + Content.Client/IoC/ClientContentIoC.cs | 2 + Content.Client/Options/UI/Tabs/AudioTab.xaml | 13 + .../Options/UI/Tabs/AudioTab.xaml.cs | 16 + Content.Client/White/CheZaHuetaSystem.cs | 10 + .../Jukebox/ClientJukeboxSongsSyncManager.cs | 11 + Content.Client/White/Jukebox/JukeboxBUI.cs | 70 +++++ Content.Client/White/Jukebox/JukeboxMenu.xaml | 29 ++ .../White/Jukebox/JukeboxMenu.xaml.cs | 100 +++++++ .../White/Jukebox/JukeboxSongEntry.xaml | 13 + .../White/Jukebox/JukeboxSongEntry.xaml.cs | 25 ++ Content.Client/White/Jukebox/JukeboxSystem.cs | 277 ++++++++++++++++++ .../White/Jukebox/TapeCreatorBUI.cs | 51 ++++ .../White/Jukebox/TapeCreatorMenu.xaml | 16 + .../White/Jukebox/TapeCreatorMenu.xaml.cs | 125 ++++++++ .../White/Jukebox/TapeCreatorSystem.cs | 41 +++ Content.Server/Entry/EntryPoint.cs | 2 + Content.Server/IoC/ServerContentIoC.cs | 2 + Content.Server/White/Jukebox/JukeboxSystem.cs | 207 +++++++++++++ .../Jukebox/ServerJukeboxSongsSyncManager.cs | 60 ++++ .../White/Jukebox/TapeCreatorSystem.cs | 181 ++++++++++++ .../White/Jukebox/JukeboxBUIMessagess.cs | 20 ++ .../Jukebox/JukeboxComponentsAndStuff.cs | 133 +++++++++ .../White/Jukebox/JukeboxSharedSystem.cs | 37 +++ .../White/Jukebox/JukeboxSongsSyncManager.cs | 29 ++ Content.Shared/White/Jukebox/TapeComponent.cs | 17 ++ .../White/Jukebox/TapeCreatorComponent.cs | 29 ++ Content.Shared/White/WhiteCVars.cs | 13 + .../Audio/White/Jukebox/Tapes/tape_fall.ogg | Bin 0 -> 11549 bytes .../White/JukeboxAndStuff/jukebox_stuff.yml | 52 ++++ .../White/JukeboxAndStuff/tapes.yml | 27 ++ Resources/Prototypes/tags.yml | 3 + .../Interface/VerbIcons/remove_tape.png | Bin 0 -> 973 bytes .../Devices/jukeboxStuff/tape.rsi/meta.json | 12 + .../Devices/jukeboxStuff/tape.rsi/tape.png | Bin 0 -> 656 bytes 35 files changed, 1626 insertions(+) create mode 100644 Content.Client/White/CheZaHuetaSystem.cs create mode 100644 Content.Client/White/Jukebox/ClientJukeboxSongsSyncManager.cs create mode 100644 Content.Client/White/Jukebox/JukeboxBUI.cs create mode 100644 Content.Client/White/Jukebox/JukeboxMenu.xaml create mode 100644 Content.Client/White/Jukebox/JukeboxMenu.xaml.cs create mode 100644 Content.Client/White/Jukebox/JukeboxSongEntry.xaml create mode 100644 Content.Client/White/Jukebox/JukeboxSongEntry.xaml.cs create mode 100644 Content.Client/White/Jukebox/JukeboxSystem.cs create mode 100644 Content.Client/White/Jukebox/TapeCreatorBUI.cs create mode 100644 Content.Client/White/Jukebox/TapeCreatorMenu.xaml create mode 100644 Content.Client/White/Jukebox/TapeCreatorMenu.xaml.cs create mode 100644 Content.Client/White/Jukebox/TapeCreatorSystem.cs create mode 100644 Content.Server/White/Jukebox/JukeboxSystem.cs create mode 100644 Content.Server/White/Jukebox/ServerJukeboxSongsSyncManager.cs create mode 100644 Content.Server/White/Jukebox/TapeCreatorSystem.cs create mode 100644 Content.Shared/White/Jukebox/JukeboxBUIMessagess.cs create mode 100644 Content.Shared/White/Jukebox/JukeboxComponentsAndStuff.cs create mode 100644 Content.Shared/White/Jukebox/JukeboxSharedSystem.cs create mode 100644 Content.Shared/White/Jukebox/JukeboxSongsSyncManager.cs create mode 100644 Content.Shared/White/Jukebox/TapeComponent.cs create mode 100644 Content.Shared/White/Jukebox/TapeCreatorComponent.cs create mode 100644 Resources/Audio/White/Jukebox/Tapes/tape_fall.ogg create mode 100644 Resources/Prototypes/White/JukeboxAndStuff/jukebox_stuff.yml create mode 100644 Resources/Prototypes/White/JukeboxAndStuff/tapes.yml create mode 100644 Resources/Textures/Interface/VerbIcons/remove_tape.png create mode 100644 Resources/Textures/Objects/Devices/jukeboxStuff/tape.rsi/meta.json create mode 100644 Resources/Textures/Objects/Devices/jukeboxStuff/tape.rsi/tape.png diff --git a/Content.Client/Entry/EntryPoint.cs b/Content.Client/Entry/EntryPoint.cs index c45ca75acd..cbbcf93041 100644 --- a/Content.Client/Entry/EntryPoint.cs +++ b/Content.Client/Entry/EntryPoint.cs @@ -22,6 +22,7 @@ using Content.Client.Stylesheets; using Content.Client.Viewport; using Content.Client.Voting; using Content.Client.White.JoinQueue; +using Content.Client.White.Jukebox; using Content.Client.White.Sponsors; using Content.Shared.Ame; using Content.Client.White.Stalin; @@ -78,6 +79,7 @@ namespace Content.Client.Entry [Dependency] private readonly SponsorsManager _sponsorsManager = default!; [Dependency] private readonly JoinQueueManager _queueManager = default!; [Dependency] private readonly StalinManager _stalinManager = default!; + [Dependency] private readonly ClientJukeboxSongsSyncManager _jukeboxSyncManager = default!; //WD-EDIT public override void Init() @@ -183,6 +185,7 @@ namespace Content.Client.Entry //WD-EDIT _sponsorsManager.Initialize(); _queueManager.Initialize(); + _jukeboxSyncManager.Initialize(); //WD-EDIT _baseClient.RunLevelChanged += (_, args) => diff --git a/Content.Client/IoC/ClientContentIoC.cs b/Content.Client/IoC/ClientContentIoC.cs index 1b87016c3f..c0e3529064 100644 --- a/Content.Client/IoC/ClientContentIoC.cs +++ b/Content.Client/IoC/ClientContentIoC.cs @@ -18,6 +18,7 @@ using Content.Shared.Administration.Logs; using Content.Client.Guidebook; using Content.Client.Replay; using Content.Client.White.JoinQueue; +using Content.Client.White.Jukebox; using Content.Client.White.Sponsors; using Content.Client.White.Stalin; using Content.Shared.Administration.Managers; @@ -53,6 +54,7 @@ namespace Content.Client.IoC IoCManager.Register(); IoCManager.Register(); IoCManager.Register(); + IoCManager.Register(); //WD-EDIT } } diff --git a/Content.Client/Options/UI/Tabs/AudioTab.xaml b/Content.Client/Options/UI/Tabs/AudioTab.xaml index 638c2d0e1b..f9766e3e3c 100644 --- a/Content.Client/Options/UI/Tabs/AudioTab.xaml +++ b/Content.Client/Options/UI/Tabs/AudioTab.xaml @@ -74,6 +74,19 @@