mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-09 10:21:18 +03:00
* Scope creep my ass * why was this shit not pushed???? * gone... * fix that * review plus buildd * asfsafsafsafsafas * grug * burber * I'll fix this later * shrimply die * also this * it's snerf or snuthin * assaads * round snend * aaaa * fix this shit for real * actually, don't start GameRules until MapInit now that I think aboot it. * forgot u * don't actually need this part nullable * Deffer comp removal * one liner * do that too * chungus * Honestly makes more sense here, plus WHY are we doing all that shit on "GameRuleAdded" rather than GameRuleStarted(?) * deferred removal :V * aaaaaaaaaaaaaaa * whhop * Whoop * better * landmine that I placed for myself then forgot about lmao * cleanup * FUCKING `!` * gotovo * amogus * please don't check by metadata I beg * waawsasfdfsasfa * sfafsasfafsas * fdsaasffsasfa * code * fix * fasasffasfasfsad * chungaas * I may be stupid * gra * graaaaaaaaaaaaaaaaa * comment * gra * clearing is not predicted and would require major refactors, so don't cache on client. * lame shit :P * last holes * nukeopsfsafsasafsfafsa * why was that shit public bruh * bubrbgwahrghfaka * dynamic * revert change that did nothing lmao
73 lines
2.3 KiB
C#
73 lines
2.3 KiB
C#
using Content.Shared.Station.Systems;
|
|
using Content.Shared.StationRecords;
|
|
using Content.Shared.StationRecords.Components;
|
|
using Content.Shared.StationRecords.Systems;
|
|
using Robust.Client.UserInterface;
|
|
|
|
namespace Content.Client.StationRecords;
|
|
|
|
public sealed partial class GeneralStationRecordConsoleBoundUserInterface : BoundUserInterface
|
|
{
|
|
[ViewVariables]
|
|
private GeneralStationRecordConsoleWindow? _window;
|
|
|
|
[Dependency] private StationSystem _stationSys = default!;
|
|
[Dependency] private StationRecordsSystem _recordsSys = default!;
|
|
|
|
public GeneralStationRecordConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
|
|
{
|
|
}
|
|
|
|
protected override void Open()
|
|
{
|
|
base.Open();
|
|
|
|
_window = this.CreateWindow<GeneralStationRecordConsoleWindow>();
|
|
_window.OnKeySelected += SelectStationRecord;
|
|
_window.OnFiltersChanged += SetStationRecordFilter;
|
|
_window.OnDeleted += id => SendPredictedMessage(new DeleteStationRecord(id));
|
|
Update();
|
|
}
|
|
|
|
public override void Update()
|
|
{
|
|
base.Update();
|
|
|
|
if (!EntMan.TryGetComponent(Owner, out GeneralStationRecordConsoleComponent? comp))
|
|
return;
|
|
|
|
var owningStation = _stationSys.GetOwningStation(Owner);
|
|
|
|
if (!EntMan.TryGetComponent(owningStation, out StationRecordsComponent? stationRecords))
|
|
return;
|
|
|
|
var listing = _recordsSys.BuildListing((owningStation.Value, stationRecords), comp.Filter);
|
|
|
|
GeneralStationRecord? record = null;
|
|
if (comp.ActiveKey != null)
|
|
{
|
|
var key = new StationRecordKey(comp.ActiveKey.Value, owningStation.Value);
|
|
_recordsSys.TryGetRecord(key, out record, stationRecords);
|
|
}
|
|
|
|
_window?.UpdateState(comp.ActiveKey, record, listing, comp.Filter, comp.CanDeleteEntries);
|
|
}
|
|
|
|
private void SelectStationRecord(uint? key)
|
|
{
|
|
if (!EntMan.TryGetComponent(Owner, out GeneralStationRecordConsoleComponent? comp))
|
|
return;
|
|
|
|
comp.ActiveKey = key;
|
|
Update();
|
|
}
|
|
|
|
private void SetStationRecordFilter(StationRecordFilterType type, string value)
|
|
{
|
|
if (!EntMan.TryGetComponent(Owner, out GeneralStationRecordConsoleComponent? comp))
|
|
return;
|
|
|
|
comp.Filter = new StationRecordsFilter(type, value);
|
|
Update();
|
|
}
|
|
}
|