SalvageSystem.cs 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using Content.Server.Radio.EntitySystems;
  2. using Content.Shared.Radio;
  3. using Content.Shared.Salvage;
  4. using Robust.Server.GameObjects;
  5. using Robust.Shared.Configuration;
  6. using Robust.Shared.Map;
  7. using Robust.Shared.Prototypes;
  8. using Robust.Shared.Random;
  9. using Content.Server.Chat.Managers;
  10. using Content.Server.Gravity;
  11. using Content.Server.Parallax;
  12. using Content.Server.Procedural;
  13. using Content.Server.Shuttles.Systems;
  14. using Content.Server.Station.Systems;
  15. using Content.Shared.Construction.EntitySystems;
  16. using Robust.Shared.Audio.Systems;
  17. using Robust.Shared.Map.Components;
  18. using Robust.Shared.Timing;
  19. using Content.Server.Labels;
  20. using Robust.Shared.EntitySerialization.Systems;
  21. namespace Content.Server.Salvage
  22. {
  23. public sealed partial class SalvageSystem : SharedSalvageSystem
  24. {
  25. [Dependency] private readonly IChatManager _chat = default!;
  26. [Dependency] private readonly IConfigurationManager _configurationManager = default!;
  27. [Dependency] private readonly IGameTiming _timing = default!;
  28. [Dependency] private readonly ILogManager _logManager = default!;
  29. [Dependency] private readonly IMapManager _mapManager = default!;
  30. [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
  31. [Dependency] private readonly IRobustRandom _random = default!;
  32. [Dependency] private readonly AnchorableSystem _anchorable = default!;
  33. [Dependency] private readonly BiomeSystem _biome = default!;
  34. [Dependency] private readonly DungeonSystem _dungeon = default!;
  35. [Dependency] private readonly GravitySystem _gravity = default!;
  36. [Dependency] private readonly LabelSystem _labelSystem = default!;
  37. [Dependency] private readonly MapLoaderSystem _loader = default!;
  38. [Dependency] private readonly MetaDataSystem _metaData = default!;
  39. [Dependency] private readonly RadioSystem _radioSystem = default!;
  40. [Dependency] private readonly SharedAudioSystem _audio = default!;
  41. [Dependency] private readonly SharedTransformSystem _transform = default!;
  42. [Dependency] private readonly SharedMapSystem _mapSystem = default!;
  43. [Dependency] private readonly ShuttleSystem _shuttle = default!;
  44. [Dependency] private readonly ShuttleConsoleSystem _shuttleConsoles = default!;
  45. [Dependency] private readonly StationSystem _station = default!;
  46. [Dependency] private readonly UserInterfaceSystem _ui = default!;
  47. private EntityQuery<MapGridComponent> _gridQuery;
  48. private EntityQuery<TransformComponent> _xformQuery;
  49. public override void Initialize()
  50. {
  51. base.Initialize();
  52. _gridQuery = GetEntityQuery<MapGridComponent>();
  53. _xformQuery = GetEntityQuery<TransformComponent>();
  54. InitializeExpeditions();
  55. InitializeMagnet();
  56. InitializeRunner();
  57. }
  58. private void Report(EntityUid source, string channelName, string messageKey, params (string, object)[] args)
  59. {
  60. var message = args.Length == 0 ? Loc.GetString(messageKey) : Loc.GetString(messageKey, args);
  61. var channel = _prototypeManager.Index<RadioChannelPrototype>(channelName);
  62. _radioSystem.SendRadioMessage(source, message, channel, source);
  63. }
  64. public override void Update(float frameTime)
  65. {
  66. UpdateExpeditions();
  67. UpdateMagnet();
  68. UpdateRunner();
  69. }
  70. }
  71. }