Files
crystall-punk-14/Content.Server/Salvage/SalvageSystem.cs

95 lines
3.8 KiB
C#
Raw Permalink Normal View History

using System.Linq;
using System.Numerics;
using Content.Server.Cargo.Systems;
using Content.Server.Construction;
using Content.Server.GameTicking;
2022-11-15 17:09:27 +13:00
using Content.Server.Radio.EntitySystems;
using Content.Shared.Examine;
using Content.Shared.Interaction;
using Content.Shared.Popups;
2022-11-15 17:09:27 +13:00
using Content.Shared.Radio;
using Content.Shared.Salvage;
2022-11-15 17:09:27 +13:00
using Robust.Server.GameObjects;
using Robust.Shared.Configuration;
using Robust.Shared.Map;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
using Robust.Shared.Utility;
2023-04-20 10:43:13 +10:00
using Content.Server.Chat.Managers;
using Content.Server.Gravity;
2023-03-10 16:41:22 +11:00
using Content.Server.Parallax;
using Content.Server.Procedural;
2023-04-20 10:43:13 +10:00
using Content.Server.Shuttles.Systems;
2023-03-10 16:41:22 +11:00
using Content.Server.Station.Systems;
using Content.Shared.CCVar;
using Content.Shared.Construction.EntitySystems;
using Content.Shared.Random;
using Content.Shared.Random.Helpers;
using Content.Shared.Tools.Components;
using Robust.Server.Maps;
using Robust.Shared.Audio;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Map.Components;
2023-03-10 16:41:22 +11:00
using Robust.Shared.Timing;
using Content.Server.Labels;
namespace Content.Server.Salvage
{
2023-03-10 16:41:22 +11:00
public sealed partial class SalvageSystem : SharedSalvageSystem
{
2023-04-20 10:43:13 +10:00
[Dependency] private readonly IChatManager _chat = default!;
2023-03-10 16:41:22 +11:00
[Dependency] private readonly IConfigurationManager _configurationManager = default!;
[Dependency] private readonly IGameTiming _timing = default!;
2023-09-19 22:52:01 +10:00
[Dependency] private readonly ILogManager _logManager = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly AnchorableSystem _anchorable = default!;
2023-03-10 16:41:22 +11:00
[Dependency] private readonly BiomeSystem _biome = default!;
[Dependency] private readonly DungeonSystem _dungeon = default!;
[Dependency] private readonly GravitySystem _gravity = default!;
[Dependency] private readonly LabelSystem _labelSystem = default!;
2022-11-13 17:47:48 +11:00
[Dependency] private readonly MapLoaderSystem _map = default!;
[Dependency] private readonly MetaDataSystem _metaData = default!;
[Dependency] private readonly RadioSystem _radioSystem = default!;
2023-04-21 15:06:35 +10:00
[Dependency] private readonly SharedAudioSystem _audio = default!;
2023-04-20 10:43:13 +10:00
[Dependency] private readonly SharedTransformSystem _transform = default!;
2024-04-20 17:01:15 -04:00
[Dependency] private readonly SharedMapSystem _mapSystem = default!;
2023-04-20 10:43:13 +10:00
[Dependency] private readonly ShuttleSystem _shuttle = default!;
[Dependency] private readonly ShuttleConsoleSystem _shuttleConsoles = default!;
2023-03-10 16:41:22 +11:00
[Dependency] private readonly StationSystem _station = default!;
[Dependency] private readonly UserInterfaceSystem _ui = default!;
private EntityQuery<MapGridComponent> _gridQuery;
private EntityQuery<TransformComponent> _xformQuery;
public override void Initialize()
{
base.Initialize();
_gridQuery = GetEntityQuery<MapGridComponent>();
_xformQuery = GetEntityQuery<TransformComponent>();
2023-04-20 10:43:13 +10:00
InitializeExpeditions();
InitializeMagnet();
2023-04-20 10:43:13 +10:00
InitializeRunner();
}
private void Report(EntityUid source, string channelName, string messageKey, params (string, object)[] args)
{
var message = args.Length == 0 ? Loc.GetString(messageKey) : Loc.GetString(messageKey, args);
var channel = _prototypeManager.Index<RadioChannelPrototype>(channelName);
2023-03-24 03:02:41 +03:00
_radioSystem.SendRadioMessage(source, message, channel, source);
}
public override void Update(float frameTime)
{
2023-04-20 10:43:13 +10:00
UpdateExpeditions();
UpdateMagnet();
2023-04-20 10:43:13 +10:00
UpdateRunner();
}
}
}