using Content.Shared.Access;
using Content.Shared.Access.Components;
-using Content.Shared.Access;
using Content.Shared.Access.Systems;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.CrewManifest;
public sealed class JukeboxBoundUserInterface : BoundUserInterface
{
- [Dependency] private readonly IPlayerManager _player = default!;
[Dependency] private readonly IPrototypeManager _protoManager = default!;
[ViewVariables]
{
[Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
- [Dependency] private readonly SharedMapSystem _mapSystem = default!;
- [Dependency] private readonly RCDSystem _rcdSystem = default!;
- [Dependency] private readonly SharedTransformSystem _transformSystem = default!;
+ private readonly SharedMapSystem _mapSystem;
+ private readonly RCDSystem _rcdSystem;
+ private readonly SharedTransformSystem _transformSystem;
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IStateManager _stateManager = default!;
/// </summary>
public AlignRCDConstruction(PlacementManager pMan) : base(pMan)
{
- var dependencies = IoCManager.Instance!;
- _entityManager = dependencies.Resolve<IEntityManager>();
- _mapManager = dependencies.Resolve<IMapManager>();
- _playerManager = dependencies.Resolve<IPlayerManager>();
- _stateManager = dependencies.Resolve<IStateManager>();
-
+ IoCManager.InjectDependencies(this);
_mapSystem = _entityManager.System<SharedMapSystem>();
_rcdSystem = _entityManager.System<RCDSystem>();
_transformSystem = _entityManager.System<SharedTransformSystem>();
{
[Dependency] private readonly IEntityManager _entMan = default!;
[Dependency] private readonly IGameTiming _timing = default!;
- [Dependency] private readonly IPrototypeManager _proto = default!;
private readonly LockSystem _lock;
private readonly SpriteSystem _sprite;
using System.Text;
using Content.Shared.Shuttles.BUIStates;
using Content.Shared.Shuttles.Systems;
+using JetBrains.Annotations;
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.UserInterface.Controls;
[GenerateTypedNameReferences]
public sealed partial class DockObject : PanelContainer
{
+ [PublicAPI]
public event Action? UndockPressed;
+
+ [PublicAPI]
public event Action? ViewPressed;
public BoxContainer ContentsContainer => Contents;
{
private sealed class RoundEndTestSystem : EntitySystem
{
- public int Count;
+ public int RoundCount;
public override void Initialize()
{
private void OnRoundEnd(RoundEndSystemChangedEvent ev)
{
- Interlocked.Increment(ref Count);
+ Interlocked.Increment(ref RoundCount);
}
}
var ticker = sysManager.GetEntitySystem<GameTicker>();
var roundEndSystem = sysManager.GetEntitySystem<RoundEndSystem>();
var sys = server.System<RoundEndTestSystem>();
- sys.Count = 0;
+ sys.RoundCount = 0;
await server.WaitAssertion(() =>
{
async Task WaitForEvent()
{
var timeout = Task.Delay(TimeSpan.FromSeconds(10));
- var currentCount = Thread.VolatileRead(ref sys.Count);
- while (currentCount == Thread.VolatileRead(ref sys.Count) && !timeout.IsCompleted)
+ var currentCount = Thread.VolatileRead(ref sys.RoundCount);
+ while (currentCount == Thread.VolatileRead(ref sys.RoundCount) && !timeout.IsCompleted)
{
await pair.RunTicksSync(5);
}
[Dependency] private readonly PopupSystem _popupSystem = default!;
[Dependency] private readonly SharedAudioSystem _audioSystem = default!;
[Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!;
- [Dependency] private readonly SharedContainerSystem _containerSystem = default!;
public override void Initialize()
{
namespace Content.Server.Administration.Systems
{
[UsedImplicitly]
- public sealed class BwoinkSystem : SharedBwoinkSystem
+ public sealed partial class BwoinkSystem : SharedBwoinkSystem
{
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IAdminManager _adminManager = default!;
[Dependency] private readonly SharedMindSystem _minds = default!;
[Dependency] private readonly IAfkManager _afkManager = default!;
+ [GeneratedRegex(@"^https://discord\.com/api/webhooks/(\d+)/((?!.*/).*)$")]
+ private static partial Regex DiscordRegex();
+
private ISawmill _sawmill = default!;
private readonly HttpClient _httpClient = new();
private string _webhookUrl = string.Empty;
return;
// Basic sanity check and capturing webhook ID and token
- var match = Regex.Match(url, @"^https://discord\.com/api/webhooks/(\d+)/((?!.*/).*)$");
+ var match = DiscordRegex().Match(url);
if (!match.Success)
{
[Dependency] private readonly RadiationSystem _radiation = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly UserInterfaceSystem _ui = default!;
- [Dependency] private readonly IComponentFactory _componentFactory = default!;
- [Dependency] private readonly ISerializationManager _serialization = default!;
- [Dependency] private readonly IEntityManager _entity = default!;
public const float MinParticleVariation = 0.8f;
public const float MaxParticleVariation = 1.2f;
public sealed class AirFilterSystem : EntitySystem
{
[Dependency] private readonly AtmosphereSystem _atmosphere = default!;
- [Dependency] private readonly IMapManager _map = default!;
[Dependency] private readonly SharedTransformSystem _transform = default!;
public override void Initialize()
{
[Dependency] private readonly AudioSystem _audio = default!;
[Dependency] private readonly InteractionSystem _interaction = default!;
- [Dependency] private readonly SolutionContainerSystem _solutionContainerSystem = default!;
public override void Initialize()
{
public sealed class DisposalUnitSystem : SharedDisposalUnitSystem
{
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
- [Dependency] private readonly IRobustRandom _robustRandom = default!;
[Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!;
[Dependency] private readonly AppearanceSystem _appearance = default!;
[Dependency] private readonly AtmosphereSystem _atmosSystem = default!;
public sealed class GerasSystem : SharedGerasSystem
{
[Dependency] private readonly PolymorphSystem _polymorphSystem = default!;
- [Dependency] private readonly MetaDataSystem _metaDataSystem = default!;
[Dependency] private readonly ActionsSystem _actionsSystem = default!;
[Dependency] private readonly PopupSystem _popupSystem = default!;
[Dependency] private readonly TransformSystem _transformSystem = default!;
[Dependency] private readonly VisibilitySystem _visibilitySystem = default!;
[Dependency] private readonly MetaDataSystem _metaData = default!;
- [Dependency] private readonly IMapManager _mapManager = default!;
private EntityQuery<GhostComponent> _ghostQuery;
private EntityQuery<PhysicsComponent> _physicsQuery;
using Robust.Shared.Utility;
using Content.Server.Popups;
using Content.Shared.Verbs;
-using Robust.Shared.Prototypes;
using Robust.Shared.Collections;
namespace Content.Server.Ghost.Roles
{
public sealed class GhostRolesEui : BaseEui
{
- [Dependency] private readonly GhostRoleSystem _ghostRoleSystem;
+ private readonly GhostRoleSystem _ghostRoleSystem;
public GhostRolesEui()
{
[Dependency] private readonly StackSystem _stackSystem = default!;
[Dependency] private readonly VirtualItemSystem _virtualItemSystem = default!;
[Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!;
- [Dependency] private readonly SharedHandsSystem _handsSystem = default!;
[Dependency] private readonly SharedTransformSystem _transformSystem = default!;
[Dependency] private readonly PullingSystem _pullingSystem = default!;
[Dependency] private readonly ThrowingSystem _throwingSystem = default!;
/// <summary>
/// Responsible for updating the identity of an entity on init or clothing equip/unequip.
/// </summary>
-public class IdentitySystem : SharedIdentitySystem
+public sealed class IdentitySystem : SharedIdentitySystem
{
[Dependency] private readonly IdCardSystem _idCard = default!;
[Dependency] private readonly IAdminLogManager _adminLog = default!;
using Content.Server.Nutrition.EntitySystems;
using Content.Shared.Body.Components;
using Content.Shared.Administration.Logs;
-using Content.Shared.Body.Components;
using Content.Shared.Database;
using Content.Shared.Interaction;
using Content.Shared.Nutrition.Components;
-using Content.Server.Nutrition.EntitySystems;
using Content.Shared.Popups;
using Content.Shared.Storage;
using Content.Shared.Verbs;
using Content.Shared.Destructible;
using Content.Shared.DoAfter;
-using Content.Shared.Interaction;
using Content.Shared.Kitchen;
using Content.Shared.Mobs.Components;
using Content.Shared.Mobs.Systems;
-using Content.Shared.Nutrition.Components;
-using Content.Shared.Popups;
-using Content.Shared.Storage;
-using Content.Shared.Verbs;
using Robust.Server.Containers;
using Robust.Shared.Random;
using Robust.Shared.Utility;
[Dependency] private readonly EmagProviderSystem _emagProvider = default!;
[Dependency] private readonly CodeConditionSystem _codeCondition = default!;
[Dependency] private readonly CommsHackerSystem _commsHacker = default!;
- [Dependency] private readonly MindSystem _mind = default!;
[Dependency] private readonly SharedStunProviderSystem _stunProvider = default!;
[Dependency] private readonly SpaceNinjaSystem _ninja = default!;
using Content.Shared.Power;
using Content.Shared.Whitelist;
-using Content.Shared.Power;
-using Content.Shared.Whitelist;
-using Robust.Shared.GameObjects;
-using Robust.Shared.Serialization.Manager.Attributes;
-using Robust.Shared.ViewVariables;
namespace Content.Server.Power.Components
{
[Dependency] private readonly IServerDbManager _db = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IDependencyCollection _dependencies = default!;
- [Dependency] private readonly IPrototypeManager _protos = default!;
// Cache player prefs on the server so we don't need as much async hell related to them.
private readonly Dictionary<NetUserId, PlayerPrefData> _cachedPlayerPrefs =
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using Content.Server.Shuttles.Components;
-using Content.Shared.Coordinates;
-using Content.Shared.Shuttles.Components;
namespace Content.Server.Salvage;
namespace Content.Server.Speech.EntitySystems;
-public sealed class SkeletonAccentSystem : EntitySystem
+public sealed partial class SkeletonAccentSystem : EntitySystem
{
[Dependency] private readonly IRobustRandom _random = default!;
+ [GeneratedRegex(@"(?<!\w)[^aeiou]one", RegexOptions.IgnoreCase, "en-US")]
+ private static partial Regex BoneRegex();
+
private static readonly Dictionary<string, string> DirectReplacements = new()
{
{ "fuck you", "I've got a BONE to pick with you" },
// Character manipulations:
// At the start of words, any non-vowel + "one" becomes "bone", e.g. tone -> bone ; lonely -> bonely; clone -> clone (remains unchanged).
- msg = Regex.Replace(msg, @"(?<!\w)[^aeiou]one", "bone", RegexOptions.IgnoreCase);
+ msg = BoneRegex().Replace(msg, "bone");
// Direct word/phrase replacements:
foreach (var (first, replace) in DirectReplacements)
[PublicAPI]
public sealed class StationSystem : EntitySystem
{
- [Dependency] private readonly IConfigurationManager _configurationManager = default!;
[Dependency] private readonly ILogManager _logManager = default!;
[Dependency] private readonly IPlayerManager _player = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly ChatSystem _chatSystem = default!;
- [Dependency] private readonly GameTicker _gameTicker = default!;
[Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly MetaDataSystem _metaData = default!;
[Dependency] private readonly MapSystem _map = default!;
private ISawmill _sawmill = default!;
- private bool _randomStationOffset;
- private bool _randomStationRotation;
- private float _maxRandomStationOffset;
-
/// <inheritdoc/>
public override void Initialize()
{
[AdminCommand(AdminFlags.Admin)]
public sealed class AddUplinkCommand : IConsoleCommand
{
- [Dependency] private readonly IConfigurationManager _cfgManager = default!;
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!;
}
}
- private class ActiveWireAction
+ private sealed class ActiveWireAction
{
/// <summary>
/// The wire action's ID. This is so that once the action is finished,
public sealed class TraversalDistorterSystem : EntitySystem
{
[Dependency] private readonly IGameTiming _timing = default!;
- [Dependency] private readonly PopupSystem _popup = default!;
/// <inheritdoc/>
public override void Initialize()
namespace Content.Server.Zombies;
[RegisterComponent]
-public partial class InitialInfectedExemptComponent : Component
+public sealed partial class InitialInfectedExemptComponent : Component
{
}
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
-using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
-using Robust.Shared.Prototypes;
namespace Content.Shared.Access.Components;
[Dependency] protected readonly SharedAppearanceSystem AppearanceSystem = default!;
[Dependency] protected readonly SharedHandsSystem Hands = default!;
[Dependency] protected readonly SharedContainerSystem ContainerSystem = default!;
- [Dependency] protected readonly MetaDataSystem MetaData = default!;
+ [Dependency] protected readonly MetaDataSystem MetaDataSys = default!;
[Dependency] protected readonly INetManager NetManager = default!;
public override void Initialize()
Dirty(uid, container);
return solution;
}
-
+
private Entity<SolutionComponent, ContainedSolutionComponent> SpawnSolutionUninitialized(ContainerSlot container, string name, FixedPoint2 maxVol, Solution prototype)
{
var coords = new EntityCoordinates(container.Owner, Vector2.Zero);
var relation = new ContainedSolutionComponent() { Container = container.Owner, ContainerName = name };
AddComp(uid, relation);
- MetaData.SetEntityName(uid, $"solution - {name}");
+ MetaDataSys.SetEntityName(uid, $"solution - {name}");
ContainerSystem.Insert(uid, container, force: true);
return (uid, solution, relation);
/// </summary>
public sealed class SolutionTransferSystem : EntitySystem
{
- [Dependency] private readonly INetManager _net = default!;
[Dependency] private readonly ISharedAdminLogManager _adminLogger = default!;
[Dependency] private readonly SharedPopupSystem _popup = default!;
[Dependency] private readonly SharedSolutionContainerSystem _solution = default!;
[Dependency] private readonly SharedObjectivesSystem _objectives = default!;
[Dependency] private readonly SharedPlayerSystem _player = default!;
[Dependency] private readonly MetaDataSystem _metadata = default!;
- [Dependency] private readonly ISharedPlayerManager _playerMan = default!;
[ViewVariables]
protected readonly Dictionary<NetUserId, EntityUid> UserMinds = new();
public const int FloorMask = AllDirMask << (int) NavMapChunkType.Floor;
[Robust.Shared.IoC.Dependency] private readonly TagSystem _tagSystem = default!;
- [Robust.Shared.IoC.Dependency] private readonly IGameTiming _gameTiming = default!;
private readonly string[] _wallTags = ["Wall", "Window"];
private EntityQuery<NavMapDoorComponent> _doorQuery;
/// </summary>
public sealed class PlungerSystem : EntitySystem
{
- [Dependency] protected readonly IPrototypeManager _proto = default!;
- [Dependency] protected readonly IRobustRandom _random = default!;
+ [Dependency] private readonly IPrototypeManager _proto = default!;
+ [Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly SharedDoAfterSystem _doAfter = default!;
[Dependency] private readonly SharedPopupSystem _popup = default!;