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