Files
crystall-punk-14/Content.Server/Cargo/Systems/CargoSystem.cs

97 lines
3.8 KiB
C#
Raw Permalink Normal View History

2022-06-23 14:36:47 +10:00
using Content.Server.Cargo.Components;
using Content.Server.DeviceLinking.Systems;
using Content.Server.Popups;
using Content.Server.Shuttles.Systems;
using Content.Server.Stack;
2022-06-23 14:36:47 +10:00
using Content.Server.Station.Systems;
using Content.Shared.Access.Systems;
using Content.Shared.Administration.Logs;
using Content.Server.Radio.EntitySystems;
using Content.Shared.Cargo;
2024-01-19 22:47:08 -05:00
using Content.Shared.Cargo.Components;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.Mobs.Components;
using Content.Shared.Paper;
2023-03-10 16:41:22 +11:00
using JetBrains.Annotations;
using Robust.Server.GameObjects;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
using Robust.Shared.Random;
namespace Content.Server.Cargo.Systems;
public sealed partial class CargoSystem : SharedCargoSystem
{
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly IPrototypeManager _protoMan = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly ISharedAdminLogManager _adminLogger = default!;
[Dependency] private readonly AccessReaderSystem _accessReaderSystem = default!;
[Dependency] private readonly DeviceLinkSystem _linker = default!;
[Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly ItemSlotsSystem _slots = default!;
[Dependency] private readonly PaperSystem _paperSystem = default!;
[Dependency] private readonly PopupSystem _popup = default!;
[Dependency] private readonly PricingSystem _pricing = default!;
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
2023-01-10 04:55:59 -05:00
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly ShuttleConsoleSystem _console = default!;
[Dependency] private readonly StackSystem _stack = default!;
[Dependency] private readonly StationSystem _station = default!;
[Dependency] private readonly UserInterfaceSystem _uiSystem = default!;
2023-07-08 09:02:17 -07:00
[Dependency] private readonly MetaDataSystem _metaSystem = default!;
[Dependency] private readonly RadioSystem _radio = default!;
private EntityQuery<TransformComponent> _xformQuery;
private EntityQuery<CargoSellBlacklistComponent> _blacklistQuery;
private EntityQuery<MobStateComponent> _mobQuery;
private EntityQuery<TradeStationComponent> _tradeQuery;
private HashSet<EntityUid> _setEnts = new();
private List<EntityUid> _listEnts = new();
private List<(EntityUid, CargoPalletComponent, TransformComponent)> _pads = new();
2022-06-23 14:36:47 +10:00
public override void Initialize()
{
base.Initialize();
_xformQuery = GetEntityQuery<TransformComponent>();
_blacklistQuery = GetEntityQuery<CargoSellBlacklistComponent>();
_mobQuery = GetEntityQuery<MobStateComponent>();
_tradeQuery = GetEntityQuery<TradeStationComponent>();
InitializeConsole();
2022-06-23 14:36:47 +10:00
InitializeShuttle();
InitializeTelepad();
InitializeBounty();
2022-06-23 14:36:47 +10:00
}
public override void Update(float frameTime)
{
base.Update(frameTime);
UpdateConsole(frameTime);
UpdateTelepad(frameTime);
UpdateBounty();
}
2023-03-10 16:41:22 +11:00
[PublicAPI]
2023-05-31 11:13:02 +10:00
public void UpdateBankAccount(EntityUid uid, StationBankAccountComponent component, int balanceAdded)
{
2023-01-10 04:55:59 -05:00
component.Balance += balanceAdded;
var query = EntityQueryEnumerator<BankClientComponent, TransformComponent>();
2023-05-31 11:13:02 +10:00
var ev = new BankBalanceUpdatedEvent(uid, component.Balance);
while (query.MoveNext(out var client, out var comp, out var xform))
2023-03-10 16:41:22 +11:00
{
var station = _station.GetOwningStation(client, xform);
2023-05-31 11:13:02 +10:00
if (station != uid)
2023-03-10 16:41:22 +11:00
continue;
comp.Balance = component.Balance;
Dirty(client, comp);
RaiseLocalEvent(client, ref ev);
2023-03-10 16:41:22 +11:00
}
}
}