]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Remove mech component references (#15246)
authorDrSmugleaf <DrSmugleaf@users.noreply.github.com>
Sun, 9 Apr 2023 22:20:55 +0000 (15:20 -0700)
committerGitHub <noreply@github.com>
Sun, 9 Apr 2023 22:20:55 +0000 (15:20 -0700)
15 files changed:
Content.Client/Mech/MechComponent.cs [deleted file]
Content.Client/Mech/MechSystem.cs
Content.Client/Mech/Ui/MechBoundUserInterface.cs
Content.Client/Mech/Ui/MechMenu.xaml.cs
Content.Server/Construction/Completions/BuildMech.cs
Content.Server/Mech/Components/MechAirComponent.cs [new file with mode: 0644]
Content.Server/Mech/Components/MechComponent.cs [deleted file]
Content.Server/Mech/Equipment/EntitySystems/MechGrabberSystem.cs
Content.Server/Mech/Systems/MechEquipmentSystem.cs
Content.Server/Mech/Systems/MechSystem.cs
Content.Shared/Mech/Components/MechComponent.cs [moved from Content.Shared/Mech/Components/SharedMechComponent.cs with 70% similarity]
Content.Shared/Mech/Components/MechPilotComponent.cs
Content.Shared/Mech/EntitySystems/SharedMechSystem.cs
Content.Shared/Mech/Equipment/Components/MechEquipmentComponent.cs
Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml

diff --git a/Content.Client/Mech/MechComponent.cs b/Content.Client/Mech/MechComponent.cs
deleted file mode 100644 (file)
index 7f67f9b..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-using Content.Shared.Mech.Components;
-using Robust.Shared.GameStates;
-
-namespace Content.Client.Mech;
-
-/// <inheritdoc/>
-[RegisterComponent, NetworkedComponent]
-[ComponentReference(typeof(SharedMechComponent))]
-public sealed class MechComponent : SharedMechComponent
-{
-
-}
index 57bdbf87f1168e382daffaa209e5bde51affd42f..ba4e29951d140d8913ce62846b49d5a3bf01c2e9 100644 (file)
@@ -1,4 +1,5 @@
 using Content.Shared.Mech;
+using Content.Shared.Mech.Components;
 using Content.Shared.Mech.EntitySystems;
 using Robust.Client.GameObjects;
 using DrawDepth = Content.Shared.DrawDepth.DrawDepth;
index a6331554a5ec7c8408e49c52e97e54a18d8b8332..0fae4e993ca9bc2c44b6b791399eb01c170aa11e 100644 (file)
@@ -1,5 +1,6 @@
 using Content.Client.UserInterface.Fragments;
 using Content.Shared.Mech;
+using Content.Shared.Mech.Components;
 using JetBrains.Annotations;
 using Robust.Client.GameObjects;
 
index 7c757c57f3434795e2c29fe14f6b6845bcf74153..1bb59e07e95525d4df25a1f8d0f9f0868a5b0060 100644 (file)
@@ -31,7 +31,7 @@ public sealed partial class MechMenu : FancyWindow
 
     public void UpdateMechStats()
     {
-        if (!_ent.TryGetComponent<SharedMechComponent>(_mech, out var mechComp))
+        if (!_ent.TryGetComponent<MechComponent>(_mech, out var mechComp))
             return;
 
         var integrityPercent = mechComp.Integrity / mechComp.MaxIntegrity;
index ff100538aabf10b3799cd83a3fdd07a0e3a9e546..0a7c4a68f621b540931b75fb9218356eaa4fe1f1 100644 (file)
@@ -1,7 +1,7 @@
-using Content.Server.Mech.Components;
 using Content.Server.Mech.Systems;
 using Content.Server.Power.Components;
 using Content.Shared.Construction;
+using Content.Shared.Mech.Components;
 using JetBrains.Annotations;
 using Robust.Server.Containers;
 using Robust.Shared.Containers;
diff --git a/Content.Server/Mech/Components/MechAirComponent.cs b/Content.Server/Mech/Components/MechAirComponent.cs
new file mode 100644 (file)
index 0000000..e30a5af
--- /dev/null
@@ -0,0 +1,12 @@
+using Content.Server.Atmos;
+
+namespace Content.Server.Mech.Components;
+
+[RegisterComponent]
+public sealed class MechAirComponent : Component
+{
+    //TODO: this doesn't support a tank implant for mechs or anything like that
+    [ViewVariables(VVAccess.ReadWrite)]
+    public GasMixture Air = new (GasMixVolume);
+    public const float GasMixVolume = 70f;
+}
diff --git a/Content.Server/Mech/Components/MechComponent.cs b/Content.Server/Mech/Components/MechComponent.cs
deleted file mode 100644 (file)
index b233d03..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-using Content.Server.Atmos;
-using Content.Shared.Mech.Components;
-using Robust.Shared.GameStates;
-using Robust.Shared.Prototypes;
-using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
-using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
-
-namespace Content.Server.Mech.Components;
-
-/// <inheritdoc/>
-[RegisterComponent, NetworkedComponent]
-[ComponentReference(typeof(SharedMechComponent))]
-public sealed class MechComponent : SharedMechComponent
-{
-    /// <summary>
-    /// How long it takes to enter the mech.
-    /// </summary>
-    [DataField("entryDelay")]
-    public float EntryDelay = 3;
-
-    /// <summary>
-    /// How long it takes to pull *another person*
-    /// outside of the mech. You can exit instantly yourself.
-    /// </summary>
-    [DataField("exitDelay")]
-    public float ExitDelay = 3;
-
-    /// <summary>
-    /// How long it takes to pull out the battery.
-    /// </summary>
-    [DataField("batteryRemovalDelay")]
-    public float BatteryRemovalDelay = 2;
-
-    /// <summary>
-    /// Whether or not the mech is airtight.
-    /// </summary>
-    /// <remarks>
-    /// This needs to be redone
-    /// when mech internals are added
-    /// </remarks>
-    [DataField("airtight"), ViewVariables(VVAccess.ReadWrite)]
-    public bool Airtight;
-
-    /// <summary>
-    /// The equipment that the mech initially has when it spawns.
-    /// Good for things like nukie mechs that start with guns.
-    /// </summary>
-    [DataField("startingEquipment", customTypeSerializer: typeof(PrototypeIdListSerializer<EntityPrototype>))]
-    public List<string> StartingEquipment = new();
-
-    /// <summary>
-    /// The battery the mech initially has when it spawns
-    /// Good for admemes and nukie mechs.
-    /// </summary>
-    [DataField("startingBattery", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
-    public string? StartingBattery;
-
-    //TODO: this doesn't support a tank implant for mechs or anything like that
-    [ViewVariables(VVAccess.ReadWrite)]
-    public GasMixture Air = new (GasMixVolume);
-    public const float GasMixVolume = 70f;
-}
-
-/// <summary>
-/// Event raised when a person successfully enters a mech
-/// </summary>
-public sealed class MechEntryFinishedEvent : EntityEventArgs
-{
-    public EntityUid User;
-
-    public MechEntryFinishedEvent(EntityUid user)
-    {
-        User = user;
-    }
-}
-
-/// <summary>
-/// Event raised when a person fails to enter a mech
-/// </summary>
-public sealed class MechEntryCanclledEvent : EntityEventArgs
-{
-
-}
-
-/// <summary>
-/// Event raised when a person successfully removes someone from a mech
-/// </summary>
-public sealed class MechExitFinishedEvent : EntityEventArgs
-{
-
-}
-
-/// <summary>
-/// Event raised when a person fails to remove someone from a mech
-/// </summary>
-public sealed class MechExitCanclledEvent : EntityEventArgs
-{
-
-}
-
-/// <summary>
-/// Event raised when the battery is successfully removed from the mech
-/// </summary>
-public sealed class MechRemoveBatteryFinishedEvent : EntityEventArgs
-{
-
-}
-
-/// <summary>
-/// Event raised when the battery fails to be removed from the mech
-/// </summary>
-public sealed class MechRemoveBatteryCancelledEvent : EntityEventArgs
-{
-
-}
index 310c5a50c8d2092c4e6099b961dbf52cc47a50d6..84f60573b1720fedd4474f08b048a3bbde58b34e 100644 (file)
@@ -1,11 +1,11 @@
 using System.Linq;
 using Content.Server.Interaction;
-using Content.Server.Mech.Components;
 using Content.Server.Mech.Equipment.Components;
 using Content.Server.Mech.Systems;
 using Content.Shared.DoAfter;
 using Content.Shared.Interaction;
 using Content.Shared.Mech;
+using Content.Shared.Mech.Components;
 using Content.Shared.Mech.Equipment.Components;
 using Content.Shared.Mobs.Components;
 using Content.Shared.Wall;
index 9ffa1030e114fceb97d864c1c98e07e650cdfb80..d81c57dfc19f8a88449b2701ac16e4bf1b1b9b7d 100644 (file)
@@ -1,7 +1,7 @@
-using Content.Server.Mech.Components;
-using Content.Server.Popups;
+using Content.Server.Popups;
 using Content.Shared.DoAfter;
 using Content.Shared.Interaction;
+using Content.Shared.Mech.Components;
 using Content.Shared.Mech.Equipment.Components;
 
 namespace Content.Server.Mech.Systems;
index d264eb59b43350d2d8eed2e5ec1e2316f897f580..7e1422ba1060566ee6a641e4339fa6ce5608688b 100644 (file)
@@ -125,7 +125,7 @@ public sealed class MechSystem : SharedMechSystem
         Dirty(component);
     }
 
-    private void OnRemoveEquipmentMessage(EntityUid uid, SharedMechComponent component, MechEquipmentRemoveMessage args)
+    private void OnRemoveEquipmentMessage(EntityUid uid, MechComponent component, MechEquipmentRemoveMessage args)
     {
         if (!Exists(args.Equipment) || Deleted(args.Equipment))
             return;
@@ -224,7 +224,7 @@ public sealed class MechSystem : SharedMechSystem
         args.Handled = true;
     }
 
-    private void OnDamageChanged(EntityUid uid, SharedMechComponent component, DamageChangedEvent args)
+    private void OnDamageChanged(EntityUid uid, MechComponent component, DamageChangedEvent args)
     {
         var integrity = component.MaxIntegrity - args.Damageable.TotalDamage;
         SetIntegrity(uid, integrity, component);
@@ -264,7 +264,7 @@ public sealed class MechSystem : SharedMechSystem
         }
     }
 
-    public override void UpdateUserInterface(EntityUid uid, SharedMechComponent? component = null)
+    public override void UpdateUserInterface(EntityUid uid, MechComponent? component = null)
     {
         if (!Resolve(uid, ref component))
             return;
@@ -285,7 +285,7 @@ public sealed class MechSystem : SharedMechSystem
         _ui.SetUiState(ui, state);
     }
 
-    public override bool TryInsert(EntityUid uid, EntityUid? toInsert, SharedMechComponent? component = null)
+    public override bool TryInsert(EntityUid uid, EntityUid? toInsert, MechComponent? component = null)
     {
         if (!Resolve(uid, ref component))
             return false;
@@ -293,9 +293,7 @@ public sealed class MechSystem : SharedMechSystem
         if (!base.TryInsert(uid, toInsert, component))
             return false;
 
-        var mech = (MechComponent) component;
-
-        if (mech.Airtight)
+        if (component.Airtight && TryComp(uid, out MechAirComponent? mechAir))
         {
             var coordinates = Transform(uid).MapPosition;
             if (_map.TryFindGridAt(coordinates, out var grid))
@@ -304,14 +302,14 @@ public sealed class MechSystem : SharedMechSystem
 
                 if (_atmosphere.GetTileMixture(tile.GridUid, null, tile.GridIndices, true) is {} environment)
                 {
-                    _atmosphere.Merge(mech.Air, environment.RemoveVolume(MechComponent.GasMixVolume));
+                    _atmosphere.Merge(mechAir.Air, environment.RemoveVolume(MechAirComponent.GasMixVolume));
                 }
             }
         }
         return true;
     }
 
-    public override bool TryEject(EntityUid uid, SharedMechComponent? component = null)
+    public override bool TryEject(EntityUid uid, MechComponent? component = null)
     {
         if (!Resolve(uid, ref component))
             return false;
@@ -319,9 +317,7 @@ public sealed class MechSystem : SharedMechSystem
         if (!base.TryEject(uid, component))
             return false;
 
-        var mech = (MechComponent) component;
-
-        if (mech.Airtight)
+        if (component.Airtight && TryComp(uid, out MechAirComponent? mechAir))
         {
             var coordinates = Transform(uid).MapPosition;
             if (_map.TryFindGridAt(coordinates, out var grid))
@@ -330,8 +326,8 @@ public sealed class MechSystem : SharedMechSystem
 
                 if (_atmosphere.GetTileMixture(tile.GridUid, null, tile.GridIndices, true) is {} environment)
                 {
-                    _atmosphere.Merge(environment, mech.Air);
-                    mech.Air.Clear();
+                    _atmosphere.Merge(environment, mechAir.Air);
+                    mechAir.Air.Clear();
                 }
             }
         }
@@ -339,7 +335,7 @@ public sealed class MechSystem : SharedMechSystem
         return true;
     }
 
-    public override void BreakMech(EntityUid uid, SharedMechComponent? component = null)
+    public override void BreakMech(EntityUid uid, MechComponent? component = null)
     {
         base.BreakMech(uid, component);
 
@@ -347,7 +343,7 @@ public sealed class MechSystem : SharedMechSystem
         _actionBlocker.UpdateCanMove(uid);
     }
 
-    public override bool TryChangeEnergy(EntityUid uid, FixedPoint2 delta, SharedMechComponent? component = null)
+    public override bool TryChangeEnergy(EntityUid uid, FixedPoint2 delta, MechComponent? component = null)
     {
         if (!Resolve(uid, ref component))
             return false;
@@ -409,20 +405,26 @@ public sealed class MechSystem : SharedMechSystem
     #region Atmos Handling
     private void OnInhale(EntityUid uid, MechPilotComponent component, InhaleLocationEvent args)
     {
-        if (!TryComp<MechComponent>(component.Mech, out var mech))
+        if (!TryComp<MechComponent>(component.Mech, out var mech) ||
+            !TryComp<MechAirComponent>(component.Mech, out var mechAir))
+        {
             return;
+        }
 
         if (mech.Airtight)
-            args.Gas = mech.Air;
+            args.Gas = mechAir.Air;
     }
 
     private void OnExhale(EntityUid uid, MechPilotComponent component, ExhaleLocationEvent args)
     {
-        if (!TryComp<MechComponent>(component.Mech, out var mech))
+        if (!TryComp<MechComponent>(component.Mech, out var mech) ||
+            !TryComp<MechAirComponent>(component.Mech, out var mechAir))
+        {
             return;
+        }
 
         if (mech.Airtight)
-            args.Gas = mech.Air;
+            args.Gas = mechAir.Air;
     }
 
     private void OnExpose(EntityUid uid, MechPilotComponent component, ref AtmosExposedGetAirEvent args)
@@ -430,10 +432,13 @@ public sealed class MechSystem : SharedMechSystem
         if (args.Handled)
             return;
 
-        if (!TryComp<MechComponent>(component.Mech, out var mech))
+        if (!TryComp<MechComponent>(component.Mech, out var mech) ||
+            !TryComp<MechAirComponent>(component.Mech, out var mechAir))
+        {
             return;
+        }
 
-        args.Gas = mech.Airtight ? mech.Air : _atmosphere.GetContainingMixture(component.Mech);
+        args.Gas = mech.Airtight ? mechAir.Air : _atmosphere.GetContainingMixture(component.Mech);
 
         args.Handled = true;
     }
similarity index 70%
rename from Content.Shared/Mech/Components/SharedMechComponent.cs
rename to Content.Shared/Mech/Components/MechComponent.cs
index 09196a1ff3b11377aaba1b86da594c3f2f209812..b128e65019b2d11855a49fdb29709e662f9626c4 100644 (file)
@@ -2,8 +2,11 @@
 using Content.Shared.FixedPoint;
 using Content.Shared.Whitelist;
 using Robust.Shared.Containers;
+using Robust.Shared.GameStates;
+using Robust.Shared.Prototypes;
 using Robust.Shared.Serialization;
 using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
+using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
 
 namespace Content.Shared.Mech.Components;
 
@@ -11,7 +14,8 @@ namespace Content.Shared.Mech.Components;
 /// A large, pilotable machine that has equipment that is
 /// powered via an internal battery.
 /// </summary>
-public abstract class SharedMechComponent : Component
+[RegisterComponent, NetworkedComponent]
+public sealed class MechComponent : Component
 {
     /// <summary>
     /// How much "health" the mech has left.
@@ -98,6 +102,49 @@ public abstract class SharedMechComponent : Component
     [ViewVariables]
     public readonly string EquipmentContainerId = "mech-equipment-container";
 
+    /// <summary>
+    /// How long it takes to enter the mech.
+    /// </summary>
+    [DataField("entryDelay")]
+    public float EntryDelay = 3;
+
+    /// <summary>
+    /// How long it takes to pull *another person*
+    /// outside of the mech. You can exit instantly yourself.
+    /// </summary>
+    [DataField("exitDelay")]
+    public float ExitDelay = 3;
+
+    /// <summary>
+    /// How long it takes to pull out the battery.
+    /// </summary>
+    [DataField("batteryRemovalDelay")]
+    public float BatteryRemovalDelay = 2;
+
+    /// <summary>
+    /// Whether or not the mech is airtight.
+    /// </summary>
+    /// <remarks>
+    /// This needs to be redone
+    /// when mech internals are added
+    /// </remarks>
+    [DataField("airtight"), ViewVariables(VVAccess.ReadWrite)]
+    public bool Airtight;
+
+    /// <summary>
+    /// The equipment that the mech initially has when it spawns.
+    /// Good for things like nukie mechs that start with guns.
+    /// </summary>
+    [DataField("startingEquipment", customTypeSerializer: typeof(PrototypeIdListSerializer<EntityPrototype>))]
+    public List<string> StartingEquipment = new();
+
+    /// <summary>
+    /// The battery the mech initially has when it spawns
+    /// Good for admemes and nukie mechs.
+    /// </summary>
+    [DataField("startingBattery", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
+    public string? StartingBattery;
+
     #region Action Prototypes
     [DataField("mechCycleAction", customTypeSerializer: typeof(PrototypeIdSerializer<InstantActionPrototype>))]
     public string MechCycleAction = "MechCycleEquipment";
@@ -118,7 +165,7 @@ public abstract class SharedMechComponent : Component
 }
 
 /// <summary>
-/// Contains network state for <see cref="SharedMechComponent"/>.
+/// Contains network state for <see cref="MechComponent"/>.
 /// </summary>
 [Serializable, NetSerializable]
 public sealed class MechComponentState : ComponentState
index 6095b53f5f4d6b7c11863545420c54f7ff60f947..11e443820edbaca0e45ebeea9213dfd8d07809fb 100644 (file)
@@ -4,7 +4,7 @@ using Robust.Shared.Serialization;
 namespace Content.Shared.Mech.Components;
 
 /// <summary>
-/// Attached to entities piloting a <see cref="SharedMechComponent"/>
+/// Attached to entities piloting a <see cref="MechComponent"/>
 /// </summary>
 /// <remarks>
 /// Get in the robot, Shinji
index 6f506b77c58ef0bdef12d7ce95e01ef4fb32b36a..afed3e4fd85e0f4c43f5bc8fb1278879e13519f5 100644 (file)
@@ -26,7 +26,7 @@ using Robust.Shared.Timing;
 namespace Content.Shared.Mech.EntitySystems;
 
 /// <summary>
-/// Handles all of the interactions, UI handling, and items shennanigans for <see cref="SharedMechComponent"/>
+/// Handles all of the interactions, UI handling, and items shennanigans for <see cref="MechComponent"/>
 /// </summary>
 public abstract class SharedMechSystem : EntitySystem
 {
@@ -44,17 +44,17 @@ public abstract class SharedMechSystem : EntitySystem
     /// <inheritdoc/>
     public override void Initialize()
     {
-        SubscribeLocalEvent<SharedMechComponent, ComponentGetState>(OnGetState);
-        SubscribeLocalEvent<SharedMechComponent, ComponentHandleState>(OnHandleState);
+        SubscribeLocalEvent<MechComponent, ComponentGetState>(OnGetState);
+        SubscribeLocalEvent<MechComponent, ComponentHandleState>(OnHandleState);
         SubscribeLocalEvent<MechPilotComponent, ComponentGetState>(OnPilotGetState);
         SubscribeLocalEvent<MechPilotComponent, ComponentHandleState>(OnPilotHandleState);
 
-        SubscribeLocalEvent<SharedMechComponent, MechToggleEquipmentEvent>(OnToggleEquipmentAction);
-        SubscribeLocalEvent<SharedMechComponent, MechEjectPilotEvent>(OnEjectPilotEvent);
-        SubscribeLocalEvent<SharedMechComponent, InteractNoHandEvent>(RelayInteractionEvent);
-        SubscribeLocalEvent<SharedMechComponent, ComponentStartup>(OnStartup);
-        SubscribeLocalEvent<SharedMechComponent, DestructionEventArgs>(OnDestruction);
-        SubscribeLocalEvent<SharedMechComponent, GetAdditionalAccessEvent>(OnGetAdditionalAccess);
+        SubscribeLocalEvent<MechComponent, MechToggleEquipmentEvent>(OnToggleEquipmentAction);
+        SubscribeLocalEvent<MechComponent, MechEjectPilotEvent>(OnEjectPilotEvent);
+        SubscribeLocalEvent<MechComponent, InteractNoHandEvent>(RelayInteractionEvent);
+        SubscribeLocalEvent<MechComponent, ComponentStartup>(OnStartup);
+        SubscribeLocalEvent<MechComponent, DestructionEventArgs>(OnDestruction);
+        SubscribeLocalEvent<MechComponent, GetAdditionalAccessEvent>(OnGetAdditionalAccess);
 
         SubscribeLocalEvent<MechPilotComponent, GetMeleeWeaponEvent>(OnGetMeleeWeapon);
         SubscribeLocalEvent<MechPilotComponent, CanAttackFromContainerEvent>(OnCanAttackFromContainer);
@@ -63,7 +63,7 @@ public abstract class SharedMechSystem : EntitySystem
 
     #region State Handling
 
-    private void OnGetState(EntityUid uid, SharedMechComponent component, ref ComponentGetState args)
+    private void OnGetState(EntityUid uid, MechComponent component, ref ComponentGetState args)
     {
         args.State = new MechComponentState
         {
@@ -76,7 +76,7 @@ public abstract class SharedMechSystem : EntitySystem
         };
     }
 
-    private void OnHandleState(EntityUid uid, SharedMechComponent component, ref ComponentHandleState args)
+    private void OnHandleState(EntityUid uid, MechComponent component, ref ComponentHandleState args)
     {
         if (args.Current is not MechComponentState state)
             return;
@@ -107,7 +107,7 @@ public abstract class SharedMechSystem : EntitySystem
 
     #endregion
 
-    private void OnToggleEquipmentAction(EntityUid uid, SharedMechComponent component, MechToggleEquipmentEvent args)
+    private void OnToggleEquipmentAction(EntityUid uid, MechComponent component, MechToggleEquipmentEvent args)
     {
         if (args.Handled)
             return;
@@ -115,7 +115,7 @@ public abstract class SharedMechSystem : EntitySystem
         CycleEquipment(uid);
     }
 
-    private void OnEjectPilotEvent(EntityUid uid, SharedMechComponent component, MechEjectPilotEvent args)
+    private void OnEjectPilotEvent(EntityUid uid, MechComponent component, MechEjectPilotEvent args)
     {
         if (args.Handled)
             return;
@@ -123,7 +123,7 @@ public abstract class SharedMechSystem : EntitySystem
         TryEject(uid, component);
     }
 
-    private void RelayInteractionEvent(EntityUid uid, SharedMechComponent component, InteractNoHandEvent args)
+    private void RelayInteractionEvent(EntityUid uid, MechComponent component, InteractNoHandEvent args)
     {
         var pilot = component.PilotSlot.ContainedEntity;
         if (pilot == null)
@@ -139,7 +139,7 @@ public abstract class SharedMechSystem : EntitySystem
         }
     }
 
-    private void OnStartup(EntityUid uid, SharedMechComponent component, ComponentStartup args)
+    private void OnStartup(EntityUid uid, MechComponent component, ComponentStartup args)
     {
         component.PilotSlot = _container.EnsureContainer<ContainerSlot>(uid, component.PilotSlotId);
         component.EquipmentContainer = _container.EnsureContainer<Container>(uid, component.EquipmentContainerId);
@@ -147,12 +147,12 @@ public abstract class SharedMechSystem : EntitySystem
         UpdateAppearance(uid, component);
     }
 
-    private void OnDestruction(EntityUid uid, SharedMechComponent component, DestructionEventArgs args)
+    private void OnDestruction(EntityUid uid, MechComponent component, DestructionEventArgs args)
     {
         BreakMech(uid, component);
     }
 
-    private void OnGetAdditionalAccess(EntityUid uid, SharedMechComponent component, ref GetAdditionalAccessEvent args)
+    private void OnGetAdditionalAccess(EntityUid uid, MechComponent component, ref GetAdditionalAccessEvent args)
     {
         var pilot = component.PilotSlot.ContainedEntity;
         if (pilot == null)
@@ -163,7 +163,7 @@ public abstract class SharedMechSystem : EntitySystem
         args.Entities.UnionWith(items);
     }
 
-    private void SetupUser(EntityUid mech, EntityUid pilot, SharedMechComponent? component = null)
+    private void SetupUser(EntityUid mech, EntityUid pilot, MechComponent? component = null)
     {
         if (!Resolve(mech, ref component))
             return;
@@ -202,7 +202,7 @@ public abstract class SharedMechSystem : EntitySystem
     /// </summary>
     /// <param name="uid"></param>
     /// <param name="component"></param>
-    public virtual void BreakMech(EntityUid uid, SharedMechComponent? component = null)
+    public virtual void BreakMech(EntityUid uid, MechComponent? component = null)
     {
         if (!Resolve(uid, ref component))
             return;
@@ -223,7 +223,7 @@ public abstract class SharedMechSystem : EntitySystem
     /// </summary>
     /// <param name="uid"></param>
     /// <param name="component"></param>
-    public void CycleEquipment(EntityUid uid, SharedMechComponent? component = null)
+    public void CycleEquipment(EntityUid uid, MechComponent? component = null)
     {
         if (!Resolve(uid, ref component))
             return;
@@ -259,7 +259,7 @@ public abstract class SharedMechSystem : EntitySystem
     /// <param name="toInsert"></param>
     /// <param name="component"></param>
     /// <param name="equipmentComponent"></param>
-    public void InsertEquipment(EntityUid uid, EntityUid toInsert, SharedMechComponent? component = null,
+    public void InsertEquipment(EntityUid uid, EntityUid toInsert, MechComponent? component = null,
         MechEquipmentComponent? equipmentComponent = null)
     {
         if (!Resolve(uid, ref component))
@@ -289,7 +289,7 @@ public abstract class SharedMechSystem : EntitySystem
     /// <param name="component"></param>
     /// <param name="equipmentComponent"></param>
     /// <param name="forced">Whether or not the removal can be cancelled</param>
-    public void RemoveEquipment(EntityUid uid, EntityUid toRemove, SharedMechComponent? component = null,
+    public void RemoveEquipment(EntityUid uid, EntityUid toRemove, MechComponent? component = null,
         MechEquipmentComponent? equipmentComponent = null, bool forced = false)
     {
         if (!Resolve(uid, ref component))
@@ -324,7 +324,7 @@ public abstract class SharedMechSystem : EntitySystem
     /// <param name="delta">The change in energy</param>
     /// <param name="component"></param>
     /// <returns>If the energy was successfully changed.</returns>
-    public virtual bool TryChangeEnergy(EntityUid uid, FixedPoint2 delta, SharedMechComponent? component = null)
+    public virtual bool TryChangeEnergy(EntityUid uid, FixedPoint2 delta, MechComponent? component = null)
     {
         if (!Resolve(uid, ref component))
             return false;
@@ -344,7 +344,7 @@ public abstract class SharedMechSystem : EntitySystem
     /// <param name="uid">The mech itself</param>
     /// <param name="value">The value the integrity will be set at</param>
     /// <param name="component"></param>
-    public void SetIntegrity(EntityUid uid, FixedPoint2 value, SharedMechComponent? component = null)
+    public void SetIntegrity(EntityUid uid, FixedPoint2 value, MechComponent? component = null)
     {
         if (!Resolve(uid, ref component))
             return;
@@ -370,7 +370,7 @@ public abstract class SharedMechSystem : EntitySystem
     /// </summary>
     /// <param name="component"></param>
     /// <returns>Whether or not the pilot is present</returns>
-    public bool IsEmpty(SharedMechComponent component)
+    public bool IsEmpty(MechComponent component)
     {
         return component.PilotSlot.ContainedEntity == null;
     }
@@ -382,7 +382,7 @@ public abstract class SharedMechSystem : EntitySystem
     /// <param name="toInsert"></param>
     /// <param name="component"></param>
     /// <returns></returns>
-    public bool CanInsert(EntityUid uid, EntityUid toInsert, SharedMechComponent? component = null)
+    public bool CanInsert(EntityUid uid, EntityUid toInsert, MechComponent? component = null)
     {
         if (!Resolve(uid, ref component))
             return false;
@@ -396,7 +396,7 @@ public abstract class SharedMechSystem : EntitySystem
     /// <remarks>
     /// This is defined here so that UI updates can be accessed from shared.
     /// </remarks>
-    public virtual void UpdateUserInterface(EntityUid uid, SharedMechComponent? component = null)
+    public virtual void UpdateUserInterface(EntityUid uid, MechComponent? component = null)
     {
     }
 
@@ -407,7 +407,7 @@ public abstract class SharedMechSystem : EntitySystem
     /// <param name="toInsert"></param>
     /// <param name="component"></param>
     /// <returns>Whether or not the entity was inserted</returns>
-    public virtual bool TryInsert(EntityUid uid, EntityUid? toInsert, SharedMechComponent? component = null)
+    public virtual bool TryInsert(EntityUid uid, EntityUid? toInsert, MechComponent? component = null)
     {
         if (!Resolve(uid, ref component))
             return false;
@@ -430,7 +430,7 @@ public abstract class SharedMechSystem : EntitySystem
     /// <param name="uid"></param>
     /// <param name="component"></param>
     /// <returns>Whether or not the pilot was ejected.</returns>
-    public virtual bool TryEject(EntityUid uid, SharedMechComponent? component = null)
+    public virtual bool TryEject(EntityUid uid, MechComponent? component = null)
     {
         if (!Resolve(uid, ref component))
             return false;
@@ -451,7 +451,7 @@ public abstract class SharedMechSystem : EntitySystem
         if (args.Handled)
             return;
 
-        if (!TryComp<SharedMechComponent>(component.Mech, out var mech))
+        if (!TryComp<MechComponent>(component.Mech, out var mech))
             return;
 
         var weapon = mech.CurrentSelectedEquipment ?? component.Mech;
@@ -470,7 +470,7 @@ public abstract class SharedMechSystem : EntitySystem
             args.Cancel();
     }
 
-    private void UpdateAppearance(EntityUid uid, SharedMechComponent? component = null,
+    private void UpdateAppearance(EntityUid uid, MechComponent? component = null,
         AppearanceComponent? appearance = null)
     {
         if (!Resolve(uid, ref component, ref appearance, false))
index c35e8bd31c16732dcf1e9340af7c579909281783..42c3543d56f184cf214368c9f9084b5c147a5eb9 100644 (file)
@@ -1,12 +1,11 @@
-using System.Threading;
-using Content.Shared.DoAfter;
+using Content.Shared.DoAfter;
 using Content.Shared.Mech.Components;
 using Robust.Shared.Serialization;
 
 namespace Content.Shared.Mech.Equipment.Components;
 
 /// <summary>
-/// A piece of equipment that can be installed into <see cref="SharedMechComponent"/>
+/// A piece of equipment that can be installed into <see cref="MechComponent"/>
 /// </summary>
 [RegisterComponent]
 public sealed class MechEquipmentComponent : Component
index 370216e66d234fdf1b881c6f9b1731d89557b2fc..22ab9594ad914e92c7a60c79708c712a164a4e72 100644 (file)
@@ -16,6 +16,7 @@
     baseState: ripley
     openState: ripley-open
     brokenState: ripley-broken
+  - type: MechAir
   - type: DoAfter
   - type: Repairable
     fuelCost: 25