Remove last component.Name calls (#13593)

This commit is contained in:
metalgearsloth
2023-01-19 13:57:18 +11:00
committed by GitHub
parent c6d3e4f3bd
commit 1b0e50ae19
11 changed files with 19 additions and 14 deletions

View File

@@ -15,6 +15,7 @@ namespace Content.Server.Administration.Commands
var id = args.Length == 0 ? null : string.Join(" ", args);
var entityManager = IoCManager.Resolve<IEntityManager>();
var prototypeManager = IoCManager.Resolve<IPrototypeManager>();
var fac = IoCManager.Resolve<IComponentFactory>();
EntityPrototype? prototype = null;
var checkPrototype = !string.IsNullOrEmpty(id);
@@ -40,7 +41,7 @@ namespace Content.Server.Administration.Commands
foreach (var component in entityManager.GetComponents(entity))
{
if (metaData.EntityPrototype.Components.ContainsKey(component.Name))
if (metaData.EntityPrototype.Components.ContainsKey(fac.GetComponentName(component.GetType())))
continue;
entityManager.RemoveComponent(entity, component);

View File

@@ -37,6 +37,8 @@ namespace Content.Server.Body.Commands
}
var entityManager = IoCManager.Resolve<IEntityManager>();
var fac = IoCManager.Resolve<IComponentFactory>();
if (!entityManager.TryGetComponent(attached, out BodyComponent? body))
{
var random = IoCManager.Resolve<IRobustRandom>();
@@ -51,7 +53,7 @@ namespace Content.Server.Body.Commands
foreach (var organ in bodySystem.GetBodyOrgans(body.Owner, body))
{
if (organ.Component.Name.ToLowerInvariant() == mechanismName)
if (fac.GetComponentName(organ.Component.GetType()).ToLowerInvariant() == mechanismName)
{
bodySystem.DeleteOrgan(organ.Id, organ.Component);
shell.WriteLine($"Mechanism with name {mechanismName} has been destroyed.");

View File

@@ -12,6 +12,7 @@ namespace Content.Server.Cabinet
{
public sealed class ItemCabinetSystem : EntitySystem
{
[Dependency] private readonly IComponentFactory _factory = default!;
[Dependency] private readonly ItemSlotsSystem _itemSlotsSystem = default!;
public override void Initialize()
@@ -33,7 +34,7 @@ namespace Content.Server.Cabinet
private void OnComponentInit(EntityUid uid, ItemCabinetComponent cabinet, ComponentInit args)
{
_itemSlotsSystem.AddItemSlot(uid, cabinet.Name, cabinet.CabinetSlot);
_itemSlotsSystem.AddItemSlot(uid, _factory.GetComponentName(cabinet.GetType()), cabinet.CabinetSlot);
}
private void OnComponentRemove(EntityUid uid, ItemCabinetComponent cabinet, ComponentRemove args)
{

View File

@@ -23,7 +23,7 @@ namespace Content.Server.Construction
{
public sealed partial class ConstructionSystem
{
[Dependency] private readonly IComponentFactory _factory = default!;
[Dependency] private readonly InventorySystem _inventorySystem = default!;
[Dependency] private readonly SharedInteractionSystem _interactionSystem = default!;
[Dependency] private readonly ActionBlockerSystem _actionBlocker = default!;
@@ -192,7 +192,7 @@ namespace Content.Server.Construction
case ArbitraryInsertConstructionGraphStep arbitraryStep:
foreach (var entity in EnumerateNearby(user))
{
if (!arbitraryStep.EntityValid(entity, EntityManager))
if (!arbitraryStep.EntityValid(entity, EntityManager, _factory))
continue;
if (string.IsNullOrEmpty(arbitraryStep.Store))
@@ -455,7 +455,7 @@ namespace Content.Server.Construction
switch (step)
{
case EntityInsertConstructionGraphStep entityInsert:
if (entityInsert.EntityValid(holding, EntityManager))
if (entityInsert.EntityValid(holding, EntityManager, _factory))
valid = true;
break;
case ToolConstructionGraphStep _:

View File

@@ -285,7 +285,7 @@ namespace Content.Server.Construction
// Since many things inherit this step, we delegate the "is this entity valid?" logic to them.
// While this is very OOP and I find it icky, I must admit that it simplifies the code here a lot.
if(!insertStep.EntityValid(insert, EntityManager))
if(!insertStep.EntityValid(insert, EntityManager, _factory))
return HandleResult.False;
// If we're only testing whether this step would be handled by the given event, then we're done.