diff --git a/Robust.Client/GameController/GameController.Redialler.cs b/Robust.Client/GameController/GameController.Redialler.cs
index 5fc6a02a0..10bb43ae2 100644
--- a/Robust.Client/GameController/GameController.Redialler.cs
+++ b/Robust.Client/GameController/GameController.Redialler.cs
@@ -55,10 +55,10 @@ internal partial class GameController
{
_loaderArgs!.RedialApi!.Redial(new Uri(address), text ?? "");
}
- catch (Exception ex)
+ catch (Exception)
{
Interlocked.Decrement(ref _hasRedialled);
- throw ex;
+ throw;
}
Shutdown("Redial");
diff --git a/Robust.Client/GameObjects/ClientEntityManager.cs b/Robust.Client/GameObjects/ClientEntityManager.cs
index 2176a6c85..e9d9e82b5 100644
--- a/Robust.Client/GameObjects/ClientEntityManager.cs
+++ b/Robust.Client/GameObjects/ClientEntityManager.cs
@@ -37,7 +37,7 @@ namespace Robust.Client.GameObjects
return base.CreateEntity(prototypeName, uid);
}
- void IClientEntityManagerInternal.InitializeEntity(EntityUid entity, MetaDataComponent? meta = null)
+ void IClientEntityManagerInternal.InitializeEntity(EntityUid entity, MetaDataComponent? meta)
{
base.InitializeEntity(entity, meta);
}
diff --git a/Robust.Client/UserInterface/FileDialogManager.cs b/Robust.Client/UserInterface/FileDialogManager.cs
index 5b7ae9af2..a826dbf33 100644
--- a/Robust.Client/UserInterface/FileDialogManager.cs
+++ b/Robust.Client/UserInterface/FileDialogManager.cs
@@ -26,7 +26,6 @@ namespace Robust.Client.UserInterface
// On Linux, if the kdialog command is found, it will be used instead.
// TODO: Should we maybe try to avoid running kdialog if the DE isn't KDE?
[Dependency] private readonly IClydeInternal _clyde = default!;
- [Dependency] private readonly ITaskManager _taskManager = default!;
private bool _kDialogAvailable;
private bool _checkedKDialogAvailable;
diff --git a/Robust.Server/GameObjects/ServerEntityManager.cs b/Robust.Server/GameObjects/ServerEntityManager.cs
index be8d43270..78899b8bb 100644
--- a/Robust.Server/GameObjects/ServerEntityManager.cs
+++ b/Robust.Server/GameObjects/ServerEntityManager.cs
@@ -52,7 +52,7 @@ namespace Robust.Server.GameObjects
LoadEntity(entity, context);
}
- void IServerEntityManagerInternal.FinishEntityInitialization(EntityUid entity, MetaDataComponent? meta = null)
+ void IServerEntityManagerInternal.FinishEntityInitialization(EntityUid entity, MetaDataComponent? meta)
{
InitializeEntity(entity, meta);
}
@@ -79,7 +79,9 @@ namespace Robust.Server.GameObjects
// Make sure to ONLY get components that are defined in the prototype.
// Others could be instantiated directly by AddComponent (e.g. ContainerManager).
// And those aren't guaranteed to exist on the client, so don't clear them.
- if (prototype.Components.ContainsKey(component.Name)) ((Component) component).ClearTicks();
+ var compName = ComponentFactory.GetComponentName(component.GetType());
+ if (prototype.Components.ContainsKey(compName))
+ component.ClearTicks();
}
}
diff --git a/Robust.Server/GameStates/PVSSystem.cs b/Robust.Server/GameStates/PVSSystem.cs
index dd7430477..5f6109ca8 100644
--- a/Robust.Server/GameStates/PVSSystem.cs
+++ b/Robust.Server/GameStates/PVSSystem.cs
@@ -501,7 +501,8 @@ internal sealed partial class PVSSystem : EntitySystem
MapChunkLocation mapChunkLocation => _entityPvsCollection.TryGetChunk(mapChunkLocation.MapId,
mapChunkLocation.ChunkIndices, out var mapChunk)
? mapChunk
- : null
+ : null,
+ _ => null
};
if (chunk == null)
{
diff --git a/Robust.Shared/GameObjects/ComponentFactory.cs b/Robust.Shared/GameObjects/ComponentFactory.cs
index b8ec874b5..026b590a5 100644
--- a/Robust.Shared/GameObjects/ComponentFactory.cs
+++ b/Robust.Shared/GameObjects/ComponentFactory.cs
@@ -165,7 +165,9 @@ namespace Robust.Shared.GameObjects
static string CalculateComponentName(Type type)
{
// Backward compatible fallback
+#pragma warning disable CS0618
if (type.GetProperty(nameof(Component.Name))!.DeclaringType != typeof(Component))
+#pragma warning restore CS0618
{
var instance = (IComponent) Activator.CreateInstance(type)!;
return instance.Name;
diff --git a/Robust.Shared/Map/IMapManager.cs b/Robust.Shared/Map/IMapManager.cs
index cdb79e5e3..ffb84b5c2 100644
--- a/Robust.Shared/Map/IMapManager.cs
+++ b/Robust.Shared/Map/IMapManager.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
+using JetBrains.Annotations;
using Robust.Shared.GameObjects;
using Robust.Shared.Maths;
using Robust.Shared.Timing;
@@ -10,7 +11,7 @@ namespace Robust.Shared.Map
///
/// This manages all of the grids in the world.
///
- public interface IMapManager : IPauseManager
+ public interface IMapManager
{
///
/// A faster version of
@@ -183,5 +184,30 @@ namespace Robust.Shared.Map
IMapGridComponent GetGridComp(EntityUid euid);
bool TryGetGrid(EntityUid euid, [NotNullWhen(true)] out IMapGrid? grid);
bool GridExists(EntityUid euid);
+
+ //
+ // Pausing functions
+ //
+
+ void SetMapPaused(MapId mapId, bool paused);
+
+ void DoMapInitialize(MapId mapId);
+
+ void AddUninitializedMap(MapId mapId);
+
+ [Pure]
+ bool IsMapPaused(MapId mapId);
+
+ [Pure]
+ bool IsGridPaused(IMapGrid grid);
+
+ [Pure]
+ bool IsGridPaused(GridId gridId);
+
+ [Pure]
+ bool IsGridPaused(EntityUid gridId);
+
+ [Pure]
+ bool IsMapInitialized(MapId mapId);
}
}
diff --git a/Robust.Shared/Serialization/Manager/Definition/DataDefinition.Emitters.cs b/Robust.Shared/Serialization/Manager/Definition/DataDefinition.Emitters.cs
index 76cd491f6..4138f46ca 100644
--- a/Robust.Shared/Serialization/Manager/Definition/DataDefinition.Emitters.cs
+++ b/Robust.Shared/Serialization/Manager/Definition/DataDefinition.Emitters.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Linq.Expressions;
using System.Reflection;
using System.Reflection.Emit;
@@ -52,7 +52,8 @@ namespace Robust.Shared.Serialization.Manager.Definition
{
ValueDataNode => FieldInterfaceInfos[i].Reader.Value,
SequenceDataNode => FieldInterfaceInfos[i].Reader.Sequence,
- MappingDataNode => FieldInterfaceInfos[i].Reader.Mapping
+ MappingDataNode => FieldInterfaceInfos[i].Reader.Mapping,
+ _ => throw new InvalidOperationException()
})
{
result = serializationManager.ReadWithTypeSerializer(type,
diff --git a/Robust.Shared/SharedIoC.cs b/Robust.Shared/SharedIoC.cs
index ee7c8ba02..ba1cd300d 100644
--- a/Robust.Shared/SharedIoC.cs
+++ b/Robust.Shared/SharedIoC.cs
@@ -34,7 +34,6 @@ namespace Robust.Shared
IoCManager.Register();
IoCManager.Register();
IoCManager.Register();
- IoCManager.Register();
IoCManager.Register();
IoCManager.Register();
IoCManager.Register();
diff --git a/Robust.Shared/Timing/IPauseManager.cs b/Robust.Shared/Timing/IPauseManager.cs
deleted file mode 100644
index d4de1d949..000000000
--- a/Robust.Shared/Timing/IPauseManager.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System;
-using JetBrains.Annotations;
-using Robust.Shared.GameObjects;
-using Robust.Shared.Map;
-
-namespace Robust.Shared.Timing
-{
- [Obsolete("Use the same functions on IMapManager.")]
- public interface IPauseManager
- {
- void SetMapPaused(MapId mapId, bool paused);
-
- void DoMapInitialize(MapId mapId);
-
- [Obsolete("This function does nothing, per-grid pausing isn't a thing anymore.")]
- void DoGridMapInitialize(GridId gridId);
-
- [Obsolete("This function does nothing, per-grid pausing isn't a thing anymore.")]
- void DoGridMapInitialize(IMapGrid grid);
-
- void AddUninitializedMap(MapId mapId);
-
- [Pure]
- bool IsMapPaused(MapId mapId);
-
- [Pure]
- bool IsGridPaused(IMapGrid grid);
-
- [Pure]
- bool IsGridPaused(GridId gridId);
-
- [Pure]
- bool IsGridPaused(EntityUid gridId);
-
- [Pure]
- bool IsMapInitialized(MapId mapId);
- }
-}
diff --git a/Robust.UnitTesting/Server/GameObjects/Components/Container_Test.cs b/Robust.UnitTesting/Server/GameObjects/Components/Container_Test.cs
index c56c5ae16..4fd16f244 100644
--- a/Robust.UnitTesting/Server/GameObjects/Components/Container_Test.cs
+++ b/Robust.UnitTesting/Server/GameObjects/Components/Container_Test.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
+using Robust.Server.Containers;
using Robust.Shared.Containers;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
@@ -36,10 +37,11 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
public void TestCreation()
{
var sim = SimulationFactory();
+ var containerSys = sim.Resolve().GetEntitySystem();
var entity = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
- var container = entity.CreateContainer("dummy");
+ var container = containerSys.MakeContainer(entity, "dummy");
Assert.That(container.ID, Is.EqualTo("dummy"));
Assert.That(container.Owner, Is.EqualTo(entity));
@@ -47,10 +49,10 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
var manager = IoCManager.Resolve().GetComponent(entity);
Assert.That(container.Manager, Is.EqualTo(manager));
- Assert.That(() => entity.CreateContainer("dummy"), Throws.ArgumentException);
+ Assert.That(() => containerSys.MakeContainer(entity, "dummy"), Throws.ArgumentException);
Assert.That(manager.HasContainer("dummy2"), Is.False);
- var container2 = entity.CreateContainer("dummy2");
+ var container2 = containerSys.MakeContainer(entity, "dummy2");
Assert.That(container2.Manager, Is.EqualTo(manager));
Assert.That(container2.Owner, Is.EqualTo(entity));
@@ -75,16 +77,17 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
public void TestInsertion()
{
var sim = SimulationFactory();
+ var containerSys = sim.Resolve().GetEntitySystem();
var owner = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
var inserted = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
var transform = IoCManager.Resolve().GetComponent(inserted);
- var container = owner.CreateContainer("dummy");
+ var container = containerSys.MakeContainer(owner, "dummy");
Assert.That(container.Insert(inserted), Is.True);
Assert.That(transform.Parent!.Owner, Is.EqualTo(owner));
- var container2 = inserted.CreateContainer("dummy");
+ var container2 = containerSys.MakeContainer(inserted, "dummy");
Assert.That(container2.Insert(owner), Is.False);
var success = container.Remove(inserted);
@@ -103,17 +106,18 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
public void TestNestedRemoval()
{
var sim = SimulationFactory();
+ var containerSys = sim.Resolve().GetEntitySystem();
var owner = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
var inserted = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
var transform = IoCManager.Resolve().GetComponent(inserted);
var entity = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
- var container = owner.CreateContainer("dummy");
+ var container = containerSys.MakeContainer(owner, "dummy");
Assert.That(container.Insert(inserted), Is.True);
Assert.That(transform.Parent!.Owner, Is.EqualTo(owner));
- var container2 = inserted.CreateContainer("dummy");
+ var container2 = containerSys.MakeContainer(inserted, "dummy");
Assert.That(container2.Insert(entity), Is.True);
Assert.That(IoCManager.Resolve().GetComponent(entity).Parent!.Owner, Is.EqualTo(inserted));
@@ -129,6 +133,7 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
public void TestNestedRemovalWithDenial()
{
var sim = SimulationFactory();
+ var containerSys = sim.Resolve().GetEntitySystem();
var coordinates = new EntityCoordinates(new EntityUid(1), (0, 0));
var entityOne = sim.SpawnEntity("dummy", coordinates);
@@ -136,9 +141,9 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
var entityThree = sim.SpawnEntity("dummy", coordinates);
var entityItem = sim.SpawnEntity("dummy", coordinates);
- var container = entityOne.CreateContainer("dummy");
- var container2 = entityTwo.CreateContainer("dummy");
- var container3 = entityThree.CreateContainer("dummy");
+ var container = containerSys.MakeContainer(entityOne, "dummy");
+ var container2 = containerSys.MakeContainer(entityTwo, "dummy");
+ var container3 = containerSys.MakeContainer(entityThree, "dummy");
var entMan = IoCManager.Resolve();
@@ -163,9 +168,10 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
public void BaseContainer_SelfInsert_False()
{
var sim = SimulationFactory();
+ var containerSys = sim.Resolve().GetEntitySystem();
var entity = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
- var container = entity.CreateContainer("dummy");
+ var container = containerSys.MakeContainer(entity, "dummy");
Assert.That(container.Insert(entity), Is.False);
Assert.That(container.CanInsert(entity), Is.False);
@@ -175,10 +181,11 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
public void BaseContainer_InsertMap_False()
{
var sim = SimulationFactory();
+ var containerSys = sim.Resolve().GetEntitySystem();
var mapEnt = new EntityUid(1);
var entity = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
- var container = entity.CreateContainer("dummy");
+ var container = containerSys.MakeContainer(entity, "dummy");
Assert.That(container.Insert(mapEnt), Is.False);
Assert.That(container.CanInsert(mapEnt), Is.False);
@@ -188,10 +195,11 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
public void BaseContainer_InsertGrid_False()
{
var sim = SimulationFactory();
+ var containerSys = sim.Resolve().GetEntitySystem();
var grid = sim.Resolve().CreateGrid(new MapId(1)).GridEntityId;
var entity = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
- var container = entity.CreateContainer("dummy");
+ var container = containerSys.MakeContainer(entity, "dummy");
Assert.That(container.Insert(grid), Is.False);
Assert.That(container.CanInsert(grid), Is.False);
@@ -201,9 +209,10 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
public void BaseContainer_Insert_True()
{
var sim = SimulationFactory();
+ var containerSys = sim.Resolve().GetEntitySystem();
var containerEntity = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
- var container = containerEntity.CreateContainer("dummy");
+ var container = containerSys.MakeContainer(containerEntity, "dummy");
var insertEntity = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
var result = container.Insert(insertEntity);
@@ -223,9 +232,10 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
public void BaseContainer_RemoveNotAdded_False()
{
var sim = SimulationFactory();
+ var containerSys = sim.Resolve().GetEntitySystem();
var containerEntity = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
- var container = containerEntity.CreateContainer("dummy");
+ var container = containerSys.MakeContainer(containerEntity, "dummy");
var insertEntity = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
var result = container.Remove(insertEntity);
@@ -237,11 +247,12 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
public void BaseContainer_Transfer_True()
{
var sim = SimulationFactory();
+ var containerSys = sim.Resolve().GetEntitySystem();
var entity1 = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
- var container1 = entity1.CreateContainer("dummy");
+ var container1 = containerSys.MakeContainer(entity1, "dummy");
var entity2 = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
- var container2 = entity2.CreateContainer("dummy");
+ var container2 = containerSys.MakeContainer(entity2, "dummy");
var transferEntity = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
container1.Insert(transferEntity);
@@ -256,9 +267,10 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
public void Container_Serialize()
{
var sim = SimulationFactory();
+ var containerSys = sim.Resolve().GetEntitySystem();
var entity = sim.SpawnEntity("dummy", new EntityCoordinates(new EntityUid(1), (0, 0)));
- var container = entity.CreateContainer("dummy");
+ var container = containerSys.MakeContainer(entity, "dummy");
var childEnt = sim.SpawnEntity(null, new EntityCoordinates(new EntityUid(1), (0, 0)));
container.OccludesLight = true;
diff --git a/Robust.UnitTesting/Server/RobustServerSimulation.cs b/Robust.UnitTesting/Server/RobustServerSimulation.cs
index 981122aac..378525f4c 100644
--- a/Robust.UnitTesting/Server/RobustServerSimulation.cs
+++ b/Robust.UnitTesting/Server/RobustServerSimulation.cs
@@ -209,7 +209,6 @@ namespace Robust.UnitTesting.Server
container.Register();
container.Register();
container.Register();
- container.Register();
container.Register();
container.Register();
container.Register();
diff --git a/Robust.UnitTesting/Shared/GameObjects/ContainerTests.cs b/Robust.UnitTesting/Shared/GameObjects/ContainerTests.cs
index 309159374..7201c8cf7 100644
--- a/Robust.UnitTesting/Shared/GameObjects/ContainerTests.cs
+++ b/Robust.UnitTesting/Shared/GameObjects/ContainerTests.cs
@@ -47,13 +47,14 @@ namespace Robust.UnitTesting.Shared.GameObjects
var mapMan = IoCManager.Resolve();
var entMan = IoCManager.Resolve();
var playerMan = IoCManager.Resolve();
+ var containerSys = EntitySystem.Get();
mapId = mapMan.CreateMap();
mapPos = new MapCoordinates((0, 0), mapId);
entityUid = entMan.SpawnEntity(null, mapPos);
entMan.GetComponent(entityUid).EntityName = "Container";
- entityUid.EnsureContainer("dummy");
+ containerSys.EnsureContainer(entityUid, "dummy");
// Setup PVS
entMan.AddComponent(entityUid);
@@ -71,10 +72,11 @@ namespace Robust.UnitTesting.Shared.GameObjects
await server.WaitAssertion(() =>
{
var entMan = IoCManager.Resolve();
+ var containerSys = EntitySystem.Get();
itemUid = entMan.SpawnEntity(null, mapPos);
entMan.GetComponent(itemUid).EntityName = "Item";
- var container = entityUid.EnsureContainer("dummy");
+ var container = containerSys.EnsureContainer(entityUid, "dummy");
Assert.That(container.Insert(itemUid));
// Move item out of PVS so that it doesn't get sent to the client
@@ -167,13 +169,14 @@ namespace Robust.UnitTesting.Shared.GameObjects
var mapMan = IoCManager.Resolve();
var entMan = IoCManager.Resolve();
var playerMan = IoCManager.Resolve();
+ var containerSys = EntitySystem.Get();
mapId = mapMan.CreateMap();
mapPos = new MapCoordinates((0, 0), mapId);
entityUid = entMan.SpawnEntity(null, mapPos);
entMan.GetComponent(entityUid).EntityName = "Container";
- entityUid.EnsureContainer("dummy");
+ containerSys.EnsureContainer(entityUid, "dummy");
// Setup PVS
entMan.AddComponent(entityUid);
@@ -191,10 +194,11 @@ namespace Robust.UnitTesting.Shared.GameObjects
await server.WaitAssertion(() =>
{
var entMan = IoCManager.Resolve();
+ var containerSys = EntitySystem.Get();
itemUid = entMan.SpawnEntity(null, mapPos);
entMan.GetComponent(itemUid).EntityName = "Item";
- var container = entityUid.EnsureContainer("dummy");
+ var container = containerSys.EnsureContainer(entityUid, "dummy");
container.Insert(itemUid);
// Move item out of PVS so that it doesn't get sent to the client
diff --git a/Robust.UnitTesting/Shared/Physics/GridMovement_Test.cs b/Robust.UnitTesting/Shared/Physics/GridMovement_Test.cs
index 9ccd0787a..1de7147cc 100644
--- a/Robust.UnitTesting/Shared/Physics/GridMovement_Test.cs
+++ b/Robust.UnitTesting/Shared/Physics/GridMovement_Test.cs
@@ -10,7 +10,7 @@ using Robust.Shared.Physics.Dynamics;
namespace Robust.UnitTesting.Shared.Physics;
[TestFixture, TestOf(typeof(SharedBroadphaseSystem))]
-public class GridMovement_Test : RobustIntegrationTest
+public sealed class GridMovement_Test : RobustIntegrationTest
{
[Test]
public async Task TestFindGridContacts()