diff --git a/Content.Benchmarks/EntityManagerGetAllComponents.cs b/Content.Benchmarks/EntityManagerGetAllComponents.cs index cf0434daa8..e0ff948e0d 100644 --- a/Content.Benchmarks/EntityManagerGetAllComponents.cs +++ b/Content.Benchmarks/EntityManagerGetAllComponents.cs @@ -38,16 +38,15 @@ namespace Content.Benchmarks IoCManager.Register(); IoCManager.RegisterInstance(new Mock().Object); - var dummyReg = new Mock(); - dummyReg.SetupGet(p => p.Name).Returns("Dummy"); - dummyReg.SetupGet(p => p.Type).Returns(typeof(DummyComponent)); - dummyReg.SetupGet(p => p.NetID).Returns((ushort?) null); - dummyReg.SetupGet(p => p.References).Returns(new [] {typeof(DummyComponent)}); + var dummyReg = new ComponentRegistration( + "Dummy", + typeof(DummyComponent), + CompIdx.Index()); var componentFactory = new Mock(); componentFactory.Setup(p => p.GetComponent()).Returns(new DummyComponent()); - componentFactory.Setup(p => p.GetRegistration(It.IsAny())).Returns(dummyReg.Object); - componentFactory.Setup(p => p.GetAllRefTypes()).Returns(new[] {typeof(DummyComponent)}); + componentFactory.Setup(p => p.GetRegistration(It.IsAny())).Returns(dummyReg); + componentFactory.Setup(p => p.GetAllRefTypes()).Returns(new[] {CompIdx.Index()}); IoCManager.RegisterInstance(componentFactory.Object); diff --git a/Content.Client/Access/Components/IdCardConsoleComponent.cs b/Content.Client/Access/Components/IdCardConsoleComponent.cs index 54cb56d79d..f01c003539 100644 --- a/Content.Client/Access/Components/IdCardConsoleComponent.cs +++ b/Content.Client/Access/Components/IdCardConsoleComponent.cs @@ -3,4 +3,5 @@ using Content.Shared.Access.Components; namespace Content.Client.Access.Components; [RegisterComponent] +[ComponentReference(typeof(SharedIdCardConsoleComponent))] public sealed class IdCardConsoleComponent : SharedIdCardConsoleComponent {} diff --git a/Content.Client/Nutrition/Components/HungerComponent.cs b/Content.Client/Nutrition/Components/HungerComponent.cs index 9b43b1095d..989c07d93a 100644 --- a/Content.Client/Nutrition/Components/HungerComponent.cs +++ b/Content.Client/Nutrition/Components/HungerComponent.cs @@ -6,6 +6,7 @@ using Robust.Shared.GameObjects; namespace Content.Client.Nutrition.Components { [RegisterComponent] + [ComponentReference(typeof(SharedHungerComponent))] public sealed class HungerComponent : SharedHungerComponent { private HungerThreshold _currentHungerThreshold; diff --git a/Content.IntegrationTests/Tests/Destructible/TestDestructibleListenerSystem.cs b/Content.IntegrationTests/Tests/Destructible/TestDestructibleListenerSystem.cs index a4c6302f2f..276cedea0d 100644 --- a/Content.IntegrationTests/Tests/Destructible/TestDestructibleListenerSystem.cs +++ b/Content.IntegrationTests/Tests/Destructible/TestDestructibleListenerSystem.cs @@ -1,7 +1,9 @@ using System.Collections.Generic; using Content.Server.Destructible; using Content.Shared.GameTicking; +using Content.Shared.Module; using Robust.Shared.GameObjects; +using Robust.Shared.IoC; namespace Content.IntegrationTests.Tests.Destructible { @@ -11,11 +13,17 @@ namespace Content.IntegrationTests.Tests.Destructible /// public sealed class TestDestructibleListenerSystem : EntitySystem { + [Dependency] private readonly IModuleManager _modManager; + public readonly List ThresholdsReached = new(); public override void Initialize() { base.Initialize(); + + if (_modManager.IsClientModule) + return; + SubscribeLocalEvent(AddThresholdsToList); SubscribeLocalEvent(OnRoundRestart); } diff --git a/Content.IntegrationTests/Tests/EntityTest.cs b/Content.IntegrationTests/Tests/EntityTest.cs index 5798d39c22..0a94412cfb 100644 --- a/Content.IntegrationTests/Tests/EntityTest.cs +++ b/Content.IntegrationTests/Tests/EntityTest.cs @@ -253,9 +253,9 @@ namespace Content.IntegrationTests.Tests mapManager.DoMapInitialize(mapId); }); - var distinctComponents = new List<(List components, List references)> + var distinctComponents = new List<(List components, List references)> { - (new List(), new List()) + (new List(), new List()) }; // Split components into groups, ensuring that their references don't conflict @@ -272,14 +272,14 @@ namespace Content.IntegrationTests.Tests // Ensure the next list if this one has conflicting references if (i + 1 >= distinctComponents.Count) { - distinctComponents.Add((new List(), new List())); + distinctComponents.Add((new List(), new List())); } continue; } // Add the component and its references if no conflicting references were found - distinct.components.Add(type); + distinct.components.Add(registration.Idx); distinct.references.AddRange(registration.References); } } diff --git a/Content.Server/Climbing/Components/ClimbableComponent.cs b/Content.Server/Climbing/Components/ClimbableComponent.cs index f87334e5cc..67efd88c86 100644 --- a/Content.Server/Climbing/Components/ClimbableComponent.cs +++ b/Content.Server/Climbing/Components/ClimbableComponent.cs @@ -3,6 +3,7 @@ using Content.Shared.Climbing; namespace Content.Server.Climbing.Components; [RegisterComponent] +[ComponentReference(typeof(SharedClimbableComponent))] public sealed class ClimbableComponent : SharedClimbableComponent { /// diff --git a/Content.Server/Disposal/Tube/Components/DisposalBendComponent.cs b/Content.Server/Disposal/Tube/Components/DisposalBendComponent.cs index 4c60bb4b3c..fae43d82a2 100644 --- a/Content.Server/Disposal/Tube/Components/DisposalBendComponent.cs +++ b/Content.Server/Disposal/Tube/Components/DisposalBendComponent.cs @@ -4,6 +4,7 @@ namespace Content.Server.Disposal.Tube.Components { [RegisterComponent] [ComponentReference(typeof(IDisposalTubeComponent))] + [ComponentReference(typeof(DisposalTubeComponent))] public sealed class DisposalBendComponent : DisposalTubeComponent { [DataField("sideDegrees")] diff --git a/Content.Server/Disposal/Tube/Components/DisposalEntryComponent.cs b/Content.Server/Disposal/Tube/Components/DisposalEntryComponent.cs index 0b3eb79a19..9b6c0d1845 100644 --- a/Content.Server/Disposal/Tube/Components/DisposalEntryComponent.cs +++ b/Content.Server/Disposal/Tube/Components/DisposalEntryComponent.cs @@ -7,6 +7,7 @@ namespace Content.Server.Disposal.Tube.Components { [RegisterComponent] [ComponentReference(typeof(IDisposalTubeComponent))] + [ComponentReference(typeof(DisposalTubeComponent))] public sealed class DisposalEntryComponent : DisposalTubeComponent { [Dependency] private readonly IEntityManager _entMan = default!; diff --git a/Content.Server/Disposal/Tube/Components/DisposalJunctionComponent.cs b/Content.Server/Disposal/Tube/Components/DisposalJunctionComponent.cs index bceec88253..93c5d965fe 100644 --- a/Content.Server/Disposal/Tube/Components/DisposalJunctionComponent.cs +++ b/Content.Server/Disposal/Tube/Components/DisposalJunctionComponent.cs @@ -7,6 +7,7 @@ namespace Content.Server.Disposal.Tube.Components [Virtual] [RegisterComponent] [ComponentReference(typeof(IDisposalTubeComponent))] + [ComponentReference(typeof(DisposalTubeComponent))] public class DisposalJunctionComponent : DisposalTubeComponent { [Dependency] private readonly IEntityManager _entMan = default!; diff --git a/Content.Server/Disposal/Tube/Components/DisposalRouterComponent.cs b/Content.Server/Disposal/Tube/Components/DisposalRouterComponent.cs index 3eb0eca1fc..5503f8af2c 100644 --- a/Content.Server/Disposal/Tube/Components/DisposalRouterComponent.cs +++ b/Content.Server/Disposal/Tube/Components/DisposalRouterComponent.cs @@ -12,6 +12,7 @@ namespace Content.Server.Disposal.Tube.Components { [RegisterComponent] [ComponentReference(typeof(IDisposalTubeComponent))] + [ComponentReference(typeof(DisposalTubeComponent))] public sealed class DisposalRouterComponent : DisposalJunctionComponent { [Dependency] private readonly IEntityManager _entMan = default!; diff --git a/Content.Server/Disposal/Tube/Components/DisposalTaggerComponent.cs b/Content.Server/Disposal/Tube/Components/DisposalTaggerComponent.cs index e1823c74a9..f097c8e48e 100644 --- a/Content.Server/Disposal/Tube/Components/DisposalTaggerComponent.cs +++ b/Content.Server/Disposal/Tube/Components/DisposalTaggerComponent.cs @@ -11,6 +11,7 @@ namespace Content.Server.Disposal.Tube.Components { [RegisterComponent] [ComponentReference(typeof(IDisposalTubeComponent))] + [ComponentReference(typeof(DisposalTubeComponent))] public sealed class DisposalTaggerComponent : DisposalTransitComponent { [Dependency] private readonly IEntityManager _entMan = default!; diff --git a/Content.Server/Disposal/Tube/Components/DisposalTransitComponent.cs b/Content.Server/Disposal/Tube/Components/DisposalTransitComponent.cs index f4f569ee60..e0d2908929 100644 --- a/Content.Server/Disposal/Tube/Components/DisposalTransitComponent.cs +++ b/Content.Server/Disposal/Tube/Components/DisposalTransitComponent.cs @@ -6,6 +6,7 @@ namespace Content.Server.Disposal.Tube.Components [RegisterComponent] [ComponentReference(typeof(IDisposalTubeComponent))] [Virtual] + [ComponentReference(typeof(DisposalTubeComponent))] public class DisposalTransitComponent : DisposalTubeComponent { protected override Direction[] ConnectableDirections() diff --git a/Content.Server/Nutrition/Components/HungerComponent.cs b/Content.Server/Nutrition/Components/HungerComponent.cs index 4d8f8fbd46..237ebed578 100644 --- a/Content.Server/Nutrition/Components/HungerComponent.cs +++ b/Content.Server/Nutrition/Components/HungerComponent.cs @@ -11,6 +11,7 @@ using Robust.Shared.Random; namespace Content.Server.Nutrition.Components { [RegisterComponent] + [ComponentReference(typeof(SharedHungerComponent))] public sealed class HungerComponent : SharedHungerComponent { [Dependency] private readonly IEntityManager _entMan = default!; diff --git a/Content.Shared/Whitelist/EntityWhitelist.cs b/Content.Shared/Whitelist/EntityWhitelist.cs index 3ac08679c7..c32694b115 100644 --- a/Content.Shared/Whitelist/EntityWhitelist.cs +++ b/Content.Shared/Whitelist/EntityWhitelist.cs @@ -28,7 +28,7 @@ namespace Content.Shared.Whitelist [DataField("components")] public string[]? Components = null; [NonSerialized] - private List? _registrations = null; + private List? _registrations = null; /// /// Tags that are allowed in the whitelist. @@ -48,7 +48,7 @@ namespace Content.Shared.Whitelist if (Components == null) return; var compfact = IoCManager.Resolve(); - _registrations = new List(); + _registrations = new List(); foreach (var name in Components) { var availability = compfact.GetComponentAvailability(name); diff --git a/RobustToolbox b/RobustToolbox index 284e08ffd9..6c4dc7fc72 160000 --- a/RobustToolbox +++ b/RobustToolbox @@ -1 +1 @@ -Subproject commit 284e08ffd977b41c84167858c66dcc5718ee6d2d +Subproject commit 6c4dc7fc720b07f8af60b36117d3fa42d7f67c51