Research console auto syncing (#17540)

This commit is contained in:
Nemanja
2023-06-21 20:59:57 -04:00
committed by GitHub
parent 6e829066a7
commit a23a7fee89

View File

@@ -1,5 +1,6 @@
using Content.Server.Power.EntitySystems;
using Content.Server.Research.Components;
using Content.Server.UserInterface;
using Content.Shared.Research.Components;
namespace Content.Server.Research.Systems;
@@ -9,6 +10,7 @@ public sealed partial class ResearchSystem
private void InitializeConsole()
{
SubscribeLocalEvent<ResearchConsoleComponent, ConsoleUnlockTechnologyMessage>(OnConsoleUnlock);
SubscribeLocalEvent<ResearchConsoleComponent, BeforeActivatableUIOpenEvent>(OnConsoleBeforeUiOpened);
SubscribeLocalEvent<ResearchConsoleComponent, ResearchServerPointsChangedEvent>(OnPointsChanged);
SubscribeLocalEvent<ResearchConsoleComponent, ResearchRegistrationChangedEvent>(OnConsoleRegistrationChanged);
SubscribeLocalEvent<ResearchConsoleComponent, TechnologyDatabaseModifiedEvent>(OnConsoleDatabaseModified);
@@ -26,6 +28,11 @@ public sealed partial class ResearchSystem
UpdateConsoleInterface(uid, component);
}
private void OnConsoleBeforeUiOpened(EntityUid uid, ResearchConsoleComponent component, BeforeActivatableUIOpenEvent args)
{
SyncClientWithServer(uid);
}
private void UpdateConsoleInterface(EntityUid uid, ResearchConsoleComponent? component = null, ResearchClientComponent? clientComponent = null)
{
if (!Resolve(uid, ref component, ref clientComponent, false))