using Content.Shared.Station.Systems; using Content.Shared.StationRecords.Components; using Content.Shared.StationRecords.Events; namespace Content.Shared.StationRecords.Systems; public abstract partial class SharedGeneralStationRecordConsoleSystem : EntitySystem { [Dependency] protected StationSystem StationSys = default!; [Dependency] protected StationRecordsSystem StationRecordsSys = default!; [Dependency] protected EntityQuery RecordsQuery = default!; [SubscribeLocalEvent] private void OnRecordModified(Entity ent, ref RecordModifiedEvent args) { UpdateUserInterface(ent); } [SubscribeLocalEvent] private void OnGeneralRecordCreated(Entity ent, ref GeneralRecordCreatedEvent args) { UpdateUserInterface(ent); } [SubscribeLocalEvent] private void OnRecordRemoved(Entity ent, ref RecordRemovedEvent args) { UpdateUserInterface(ent); } [SubscribeLocalEvent] private void OnRecordDelete(Entity ent, ref DeleteStationRecord args) { if (!ent.Comp.CanDeleteEntries) return; var owning = StationSys.GetOwningStation(ent.Owner); if (owning != null) StationRecordsSys.RemoveRecord(new StationRecordKey(args.Id, owning.Value)); UpdateUserInterface(ent); } protected virtual void UpdateUserInterface(Entity ent) { } }