Seal/abstract/virtual everything (#6739)

This commit is contained in:
mirrorcult
2022-02-16 00:23:23 -07:00
committed by GitHub
parent 4dfcacb86a
commit ec4d4688c7
1771 changed files with 2216 additions and 2164 deletions

View File

@@ -12,7 +12,7 @@ using Robust.Shared.IoC;
namespace Content.Server.Construction
{
public class AnchorableSystem : EntitySystem
public sealed class AnchorableSystem : EntitySystem
{
[Dependency] private readonly ToolSystem _toolSystem = default!;
[Dependency] private readonly PullingSystem _pullingSystem = default!;

View File

@@ -13,7 +13,7 @@ using Robust.Shared.Maths;
namespace Content.Server.Construction.Commands
{
[AdminCommand(AdminFlags.Mapping)]
class FixRotationsCommand : IConsoleCommand
sealed class FixRotationsCommand : IConsoleCommand
{
// ReSharper disable once StringLiteralTypo
public string Command => "fixrotations";

View File

@@ -11,7 +11,7 @@ using Robust.Shared.Prototypes;
namespace Content.Server.Construction.Commands
{
[AdminCommand(AdminFlags.Mapping)]
class TileWallsCommand : IConsoleCommand
sealed class TileWallsCommand : IConsoleCommand
{
// ReSharper disable once StringLiteralTypo
public string Command => "tilewalls";

View File

@@ -9,7 +9,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class AddContainer : IGraphAction
public sealed class AddContainer : IGraphAction
{
[DataField("container")] public string? Container { get; private set; } = null;

View File

@@ -6,7 +6,7 @@ using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Server.Construction.Completions
{
[DataDefinition]
public class AttemptElectrocute : IGraphAction
public sealed class AttemptElectrocute : IGraphAction
{
public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager)
{

View File

@@ -13,7 +13,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class BuildComputer : IGraphAction
public sealed class BuildComputer : IGraphAction
{
[DataField("container")] public string Container { get; private set; } = string.Empty;

View File

@@ -11,7 +11,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class BuildMachine : IGraphAction
public sealed class BuildMachine : IGraphAction
{
public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager)
{

View File

@@ -8,7 +8,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class ConditionalAction : IGraphAction
public sealed class ConditionalAction : IGraphAction
{
[DataField("passUser")] public bool PassUser { get; } = false;

View File

@@ -8,7 +8,7 @@ using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Server.Construction.Completions
{
[DataDefinition]
public class DeleteEntitiesInContainer : IGraphAction
public sealed class DeleteEntitiesInContainer : IGraphAction
{
[DataField("container")] public string Container { get; } = string.Empty;

View File

@@ -8,7 +8,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class DeleteEntity : IGraphAction
public sealed class DeleteEntity : IGraphAction
{
public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager)
{

View File

@@ -10,7 +10,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class DestroyEntity : IGraphAction
public sealed class DestroyEntity : IGraphAction
{
public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager)
{

View File

@@ -9,7 +9,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class EmptyAllContainers : IGraphAction
public sealed class EmptyAllContainers : IGraphAction
{
public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager)
{

View File

@@ -11,7 +11,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class EmptyContainer : IGraphAction
public sealed class EmptyContainer : IGraphAction
{
[DataField("container")] public string Container { get; private set; } = string.Empty;

View File

@@ -9,7 +9,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class MachineFrameRegenerateProgress : IGraphAction
public sealed class MachineFrameRegenerateProgress : IGraphAction
{
public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager)
{

View File

@@ -11,7 +11,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class MoveContainer : IGraphAction
public sealed class MoveContainer : IGraphAction
{
[DataField("from")] public string? FromContainer { get; } = null;
[DataField("to")] public string? ToContainer { get; } = null;

View File

@@ -12,7 +12,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class PlaySound : IGraphAction
public sealed class PlaySound : IGraphAction
{
[DataField("sound", required: true)] public SoundSpecifier Sound { get; private set; } = default!;

View File

@@ -9,7 +9,7 @@ using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Server.Construction.Completions
{
[DataDefinition]
public class PopupEveryone : IGraphAction
public sealed class PopupEveryone : IGraphAction
{
[DataField("text")] public string Text { get; } = string.Empty;

View File

@@ -12,7 +12,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class PopupUser : IGraphAction
public sealed class PopupUser : IGraphAction
{
[DataField("cursor")] public bool Cursor { get; } = false;
[DataField("text")] public string Text { get; } = string.Empty;

View File

@@ -6,7 +6,7 @@ using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
public class RaiseEvent : IGraphAction
public sealed class RaiseEvent : IGraphAction
{
[DataField("event", required:true)]
public EntityEventArgs? Event { get; } = null;

View File

@@ -10,7 +10,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class SetAnchor : IGraphAction
public sealed class SetAnchor : IGraphAction
{
[DataField("value")] public bool Value { get; private set; } = true;

View File

@@ -9,7 +9,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class SetStackCount : IGraphAction
public sealed class SetStackCount : IGraphAction
{
[DataField("amount")] public int Amount { get; } = 1;

View File

@@ -10,7 +10,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class SnapToGrid : IGraphAction
public sealed class SnapToGrid : IGraphAction
{
[DataField("southRotation")] public bool SouthRotation { get; private set; } = false;

View File

@@ -13,7 +13,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class SpawnPrototype : IGraphAction
public sealed class SpawnPrototype : IGraphAction
{
[DataField("prototype", customTypeSerializer:typeof(PrototypeIdSerializer<EntityPrototype>))]
public string Prototype { get; private set; } = string.Empty;

View File

@@ -10,7 +10,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class SpawnPrototypeAtContainer : IGraphAction
public sealed class SpawnPrototypeAtContainer : IGraphAction
{
[DataField("prototype")] public string Prototype { get; } = string.Empty;
[DataField("container")] public string Container { get; } = string.Empty;

View File

@@ -10,7 +10,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class SpriteChange : IGraphAction
public sealed class SpriteChange : IGraphAction
{
[DataField("layer")] public int Layer { get; private set; } = 0;
[DataField("specifier")] public SpriteSpecifier? SpriteSpecifier { get; private set; } = SpriteSpecifier.Invalid;

View File

@@ -9,7 +9,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class SpriteStateChange : IGraphAction
public sealed class SpriteStateChange : IGraphAction
{
[DataField("layer")] public int Layer { get; private set; } = 0;
[DataField("state")] public string? State { get; private set; } = string.Empty;

View File

@@ -11,7 +11,7 @@ namespace Content.Server.Construction.Completions
{
[UsedImplicitly]
[DataDefinition]
public class VisualizerDataInt : IGraphAction, ISerializationHooks
public sealed class VisualizerDataInt : IGraphAction, ISerializationHooks
{
[DataField("key")] public string Key { get; private set; } = string.Empty;
[DataField("data")] public int Data { get; private set; } = 0;

View File

@@ -8,7 +8,7 @@ using Robust.Shared.ViewVariables;
namespace Content.Server.Construction.Components
{
[RegisterComponent, Friend(typeof(AnchorableSystem))]
public class AnchorableComponent : Component
public sealed class AnchorableComponent : Component
{
[DataField("tool", customTypeSerializer:typeof(PrototypeIdSerializer<ToolQualityPrototype>))]
public string Tool { get; private set; } = "Anchoring";
@@ -44,12 +44,12 @@ namespace Content.Server.Construction.Components
}
}
public class AnchorAttemptEvent : BaseAnchoredAttemptEvent
public sealed class AnchorAttemptEvent : BaseAnchoredAttemptEvent
{
public AnchorAttemptEvent(EntityUid user, EntityUid tool) : base(user, tool) { }
}
public class UnanchorAttemptEvent : BaseAnchoredAttemptEvent
public sealed class UnanchorAttemptEvent : BaseAnchoredAttemptEvent
{
public UnanchorAttemptEvent(EntityUid user, EntityUid tool) : base(user, tool) { }
}
@@ -69,7 +69,7 @@ namespace Content.Server.Construction.Components
/// <summary>
/// Raised just before the entity's body type is changed.
/// </summary>
public class BeforeAnchoredEvent : BaseAnchoredEvent
public sealed class BeforeAnchoredEvent : BaseAnchoredEvent
{
public BeforeAnchoredEvent(EntityUid user, EntityUid tool) : base(user, tool) { }
}
@@ -79,7 +79,7 @@ namespace Content.Server.Construction.Components
/// general <see cref="AnchorStateChangedEvent"/>. This event has the benefit of having user & tool information,
/// as a result of interactions mediated by the <see cref="AnchorableSystem"/>.
/// </summary>
public class UserAnchoredEvent : BaseAnchoredEvent
public sealed class UserAnchoredEvent : BaseAnchoredEvent
{
public UserAnchoredEvent(EntityUid user, EntityUid tool) : base(user, tool) { }
}
@@ -87,7 +87,7 @@ namespace Content.Server.Construction.Components
/// <summary>
/// Raised just before the entity's body type is changed.
/// </summary>
public class BeforeUnanchoredEvent : BaseAnchoredEvent
public sealed class BeforeUnanchoredEvent : BaseAnchoredEvent
{
public BeforeUnanchoredEvent(EntityUid user, EntityUid tool) : base(user, tool) { }
}
@@ -98,7 +98,7 @@ namespace Content.Server.Construction.Components
/// event has the benefit of having user & tool information, whereas the more general event may be due to
/// explosions or grid-destruction or other interactions not mediated by the <see cref="AnchorableSystem"/>.
/// </summary>
public class UserUnanchoredEvent : BaseAnchoredEvent
public sealed class UserUnanchoredEvent : BaseAnchoredEvent
{
public UserUnanchoredEvent(EntityUid user, EntityUid tool) : base(user, tool) { }
}

View File

@@ -5,7 +5,7 @@ using Robust.Shared.ViewVariables;
namespace Content.Server.Construction.Components
{
[RegisterComponent]
public class ComputerBoardComponent : Component
public sealed class ComputerBoardComponent : Component
{
[ViewVariables]
[DataField("prototype")]

View File

@@ -9,7 +9,7 @@ using Robust.Shared.ViewVariables;
namespace Content.Server.Construction.Components
{
[RegisterComponent, Friend(typeof(ConstructionSystem))]
public class ConstructionComponent : Component
public sealed class ConstructionComponent : Component
{
[DataField("graph", required:true, customTypeSerializer:typeof(PrototypeIdSerializer<ConstructionGraphPrototype>))]
public string Graph { get; set; } = string.Empty;

View File

@@ -14,7 +14,7 @@ namespace Content.Server.Construction.Components
{
[RegisterComponent]
#pragma warning disable 618
public class MachineBoardComponent : Component, IExamine
public sealed class MachineBoardComponent : Component, IExamine
#pragma warning restore 618
{
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;

View File

@@ -8,7 +8,7 @@ using Robust.Shared.Containers;
namespace Content.Server.Construction.Components
{
[RegisterComponent]
public class MachineFrameComponent : Component, IInteractUsing
public sealed class MachineFrameComponent : Component, IInteractUsing
{
[Dependency] private readonly IEntityManager _entMan = default!;
[Dependency] private readonly IComponentFactory _componentFactory = default!;
@@ -357,7 +357,7 @@ namespace Content.Server.Construction.Components
}
[DataDefinition]
public class MachineDeconstructedEvent : EntityEventArgs
public sealed class MachineDeconstructedEvent : EntityEventArgs
{
}
}

View File

@@ -10,7 +10,7 @@ namespace Content.Server.Construction.Components
{
[RegisterComponent]
#pragma warning disable 618
public class MachinePartComponent : Component, IExamine
public sealed class MachinePartComponent : Component, IExamine
#pragma warning restore 618
{
// I'm so sorry for hard-coding this. But trust me, it should make things less painful.

View File

@@ -17,7 +17,7 @@ namespace Content.Server.Construction.Components
/// For example, glass shard can be refined to glass sheet.
/// </summary>
[RegisterComponent]
public class WelderRefinableComponent : Component, IInteractUsing
public sealed class WelderRefinableComponent : Component, IInteractUsing
{
[Dependency] private readonly IEntityManager _entMan = default!;

View File

@@ -14,7 +14,7 @@ namespace Content.Server.Construction.Conditions
{
[UsedImplicitly]
[DataDefinition]
public class AirlockBolted : IGraphCondition
public sealed class AirlockBolted : IGraphCondition
{
[DataField("value")]
public bool Value { get; private set; } = true;

View File

@@ -11,7 +11,7 @@ namespace Content.Server.Construction.Conditions
{
[UsedImplicitly]
[DataDefinition]
public class AllConditions : IGraphCondition
public sealed class AllConditions : IGraphCondition
{
[DataField("conditions")]
public IGraphCondition[] Conditions { get; } = Array.Empty<IGraphCondition>();

View File

@@ -15,7 +15,7 @@ namespace Content.Server.Construction.Conditions
/// </summary>
[UsedImplicitly]
[DataDefinition]
public class AllWiresCut : IGraphCondition
public sealed class AllWiresCut : IGraphCondition
{
[DataField("value")] public bool Value { get; private set; } = true;

View File

@@ -11,7 +11,7 @@ namespace Content.Server.Construction.Conditions
{
[UsedImplicitly]
[DataDefinition]
public class AnyConditions : IGraphCondition
public sealed class AnyConditions : IGraphCondition
{
[DataField("conditions")]
public IGraphCondition[] Conditions { get; } = Array.Empty<IGraphCondition>();

View File

@@ -20,7 +20,7 @@ namespace Content.Server.Construction.Conditions
/// </summary>
[UsedImplicitly]
[DataDefinition]
public class ComponentInTile : IGraphCondition
public sealed class ComponentInTile : IGraphCondition
{
/// <summary>
/// If true, any entity on the tile must have the component.

View File

@@ -15,7 +15,7 @@ namespace Content.Server.Construction.Conditions
{
[UsedImplicitly]
[DataDefinition]
public class ContainerEmpty : IGraphCondition
public sealed class ContainerEmpty : IGraphCondition
{
[DataField("container")]
public string Container { get; } = string.Empty;

View File

@@ -15,7 +15,7 @@ namespace Content.Server.Construction.Conditions
{
[UsedImplicitly]
[DataDefinition]
public class ContainerNotEmpty : IGraphCondition
public sealed class ContainerNotEmpty : IGraphCondition
{
[DataField("container")] public string Container { get; private set; } = string.Empty;
[DataField("examineText")] public string? ExamineText { get; }

View File

@@ -12,7 +12,7 @@ namespace Content.Server.Construction.Conditions
{
[UsedImplicitly]
[DataDefinition]
public class DoorWelded : IGraphCondition
public sealed class DoorWelded : IGraphCondition
{
[DataField("welded")]
public bool Welded { get; private set; } = true;

View File

@@ -14,7 +14,7 @@ namespace Content.Server.Construction.Conditions
{
[UsedImplicitly]
[DataDefinition]
public class EntityAnchored : IGraphCondition
public sealed class EntityAnchored : IGraphCondition
{
[DataField("anchored")] public bool Anchored { get; private set; } = true;

View File

@@ -14,7 +14,7 @@ namespace Content.Server.Construction.Conditions
{
[UsedImplicitly]
[DataDefinition]
public class Locked : IGraphCondition
public sealed class Locked : IGraphCondition
{
[DataField("locked")]
public bool IsLocked { get; private set; } = true;

View File

@@ -17,7 +17,7 @@ namespace Content.Server.Construction.Conditions
/// </summary>
[UsedImplicitly]
[DataDefinition]
public class MachineFrameComplete : IGraphCondition
public sealed class MachineFrameComplete : IGraphCondition
{
[DataField("guideIconBoard")]
public SpriteSpecifier? GuideIconBoard { get; }

View File

@@ -12,7 +12,7 @@ namespace Content.Server.Construction.Conditions
{
[UsedImplicitly]
[DataDefinition]
public class StorageWelded : IGraphCondition
public sealed class StorageWelded : IGraphCondition
{
[DataField("welded")]
public bool Welded { get; private set; } = true;

View File

@@ -12,7 +12,7 @@ namespace Content.Server.Construction.Conditions
{
[UsedImplicitly]
[DataDefinition]
public class ToiletLidClosed : IGraphCondition
public sealed class ToiletLidClosed : IGraphCondition
{
public bool Condition(EntityUid uid, IEntityManager entityManager)
{

View File

@@ -14,7 +14,7 @@ namespace Content.Server.Construction.Conditions
{
[UsedImplicitly]
[DataDefinition]
public class WirePanel : IGraphCondition
public sealed class WirePanel : IGraphCondition
{
[DataField("open")] public bool Open { get; private set; } = true;

View File

@@ -10,7 +10,7 @@ using Robust.Shared.Prototypes;
namespace Content.Server.Construction
{
public partial class ConstructionSystem
public sealed partial class ConstructionSystem
{
[Dependency] private readonly ContainerSystem _containerSystem = default!;

View File

@@ -11,7 +11,7 @@ using Robust.Shared.Localization;
namespace Content.Server.Construction
{
public partial class ConstructionSystem
public sealed partial class ConstructionSystem
{
private readonly Dictionary<ConstructionPrototype, ConstructionGuide> _guideCache = new();

View File

@@ -25,7 +25,7 @@ using Robust.Shared.Timing;
namespace Content.Server.Construction
{
public partial class ConstructionSystem
public sealed partial class ConstructionSystem
{
[Dependency] private readonly InventorySystem _inventorySystem = default!;

View File

@@ -10,7 +10,7 @@ using Robust.Shared.GameObjects;
namespace Content.Server.Construction
{
public partial class ConstructionSystem
public sealed partial class ConstructionSystem
{
private readonly HashSet<EntityUid> _constructionUpdateQueue = new();
@@ -498,7 +498,7 @@ namespace Content.Server.Construction
/// This event signals that a construction interaction's DoAfter has completed successfully.
/// This wraps the original event and also keeps some custom data that event handlers might need.
/// </summary>
private class ConstructionDoAfterComplete : EntityEventArgs
private sealed class ConstructionDoAfterComplete : EntityEventArgs
{
public readonly EntityUid TargetUid;
public readonly object WrappedEvent;
@@ -516,7 +516,7 @@ namespace Content.Server.Construction
/// This event signals that a construction interaction's DoAfter has failed or has been cancelled.
/// This wraps the original event and also keeps some custom data that event handlers might need.
/// </summary>
private class ConstructionDoAfterCancelled : EntityEventArgs
private sealed class ConstructionDoAfterCancelled : EntityEventArgs
{
public readonly EntityUid TargetUid;
public readonly object WrappedEvent;

View File

@@ -6,7 +6,7 @@ using Robust.Shared.GameObjects;
namespace Content.Server.Construction
{
public partial class ConstructionSystem
public sealed partial class ConstructionSystem
{
public bool SetPathfindingTarget(EntityUid uid, string? targetNodeId, ConstructionComponent? construction = null)
{

View File

@@ -21,7 +21,7 @@ namespace Content.Server.Construction
/// The server-side implementation of the construction system, which is used for constructing entities in game.
/// </summary>
[UsedImplicitly]
public partial class ConstructionSystem : SharedConstructionSystem
public sealed partial class ConstructionSystem : SharedConstructionSystem
{
[Dependency] private readonly ILogManager _logManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;