From bc2938bc085645cd750a47424515b3da9f730dc0 Mon Sep 17 00:00:00 2001 From: RavMorgan <48182970+RavMorgan@users.noreply.github.com> Date: Mon, 22 May 2023 21:16:48 +0300 Subject: [PATCH] [FIX] JukeboxSyncFIX Co-authored-by: Mona Hmiza <> --- .../Jukebox/ServerJukeboxSongsSyncManager.cs | 17 +++++++++++++++-- .../Jukebox/ServerJukeboxSongsSyncSystem.cs | 16 ++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 Content.Server/White/Jukebox/ServerJukeboxSongsSyncSystem.cs diff --git a/Content.Server/White/Jukebox/ServerJukeboxSongsSyncManager.cs b/Content.Server/White/Jukebox/ServerJukeboxSongsSyncManager.cs index 07a8c59de3..fadd1b5498 100644 --- a/Content.Server/White/Jukebox/ServerJukeboxSongsSyncManager.cs +++ b/Content.Server/White/Jukebox/ServerJukeboxSongsSyncManager.cs @@ -1,4 +1,7 @@ -using Content.Shared.White.Jukebox; +using Content.Server.GameTicking; +using Content.Shared.White.Jukebox; +using Robust.Server.Player; +using Robust.Shared.Enums; using Robust.Shared.Network; using Robust.Shared.Utility; @@ -7,6 +10,7 @@ namespace Content.Server.White.Jukebox; public sealed class ServerJukeboxSongsSyncManager : JukeboxSongsSyncManager { [Dependency] private readonly INetManager _netManager = default!; + public override void Initialize() { base.Initialize(); @@ -49,7 +53,6 @@ public sealed class ServerJukeboxSongsSyncManager : JukeboxSongsSyncManager public override void OnSongUploaded(JukeboxSongUploadNetMessage message) { - ContentRoot.AddOrUpdateFile(message.RelativePath, message.Data); foreach (var channel in _netManager.Channels) @@ -57,4 +60,14 @@ public sealed class ServerJukeboxSongsSyncManager : JukeboxSongsSyncManager channel.SendMessage(message); } } + + public void CleanUp() + { + var files = ContentRoot.GetAllFiles(); + + foreach (var file in files) + { + ContentRoot.RemoveFile(file.relPath); + } + } } diff --git a/Content.Server/White/Jukebox/ServerJukeboxSongsSyncSystem.cs b/Content.Server/White/Jukebox/ServerJukeboxSongsSyncSystem.cs new file mode 100644 index 0000000000..f77227af08 --- /dev/null +++ b/Content.Server/White/Jukebox/ServerJukeboxSongsSyncSystem.cs @@ -0,0 +1,16 @@ +using Content.Shared.GameTicking; + +namespace Content.Server.White.Jukebox; + +public sealed class ServerJukeboxSongsSyncSystem : EntitySystem +{ + [Dependency] private readonly ServerJukeboxSongsSyncManager _jukeboxManager = default!; + + public event Action? PostRoundCleanUp; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(_ => _jukeboxManager?.CleanUp()); + } +}