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

@@ -109,11 +109,12 @@ namespace Content.Client.Body.UI
_bodyPartsList.Clear();
var bodySystem = IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<SharedBodySystem>();
var factory = IoCManager.Resolve<IComponentFactory>();
var i = 0;
foreach (var part in bodySystem.GetBodyChildren(_currentEntity))
{
_bodyPartsList[i++] = part.Component.ParentSlot!;
BodyPartList.AddItem(Loc.GetString(part.Component.Name));
BodyPartList.AddItem(Loc.GetString(factory.GetComponentName(part.Component.GetType())));
}
}

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.

View File

@@ -7,11 +7,11 @@ namespace Content.Shared.Construction.Steps
{
[DataField("component")] public string Component { get; } = string.Empty;
public override bool EntityValid(EntityUid uid, IEntityManager entityManager)
public override bool EntityValid(EntityUid uid, IEntityManager entityManager, IComponentFactory compFactory)
{
foreach (var component in entityManager.GetComponents(uid))
{
if (component.Name == Component)
if (compFactory.GetComponentName(component.GetType()) == Component)
return true;
}

View File

@@ -5,6 +5,6 @@
{
[DataField("store")] public string Store { get; } = string.Empty;
public abstract bool EntityValid(EntityUid uid, IEntityManager entityManager);
public abstract bool EntityValid(EntityUid uid, IEntityManager entityManager, IComponentFactory compFactory);
}
}

View File

@@ -23,7 +23,7 @@ namespace Content.Shared.Construction.Steps
examinedEvent.Message.AddMarkup(Loc.GetString("construction-insert-material-entity", ("amount", Amount), ("materialName", material.Name)));
}
public override bool EntityValid(EntityUid uid, IEntityManager entityManager)
public override bool EntityValid(EntityUid uid, IEntityManager entityManager, IComponentFactory compFactory)
{
return entityManager.TryGetComponent(uid, out StackComponent? stack) && stack.StackTypeId == MaterialPrototypeId && stack.Count >= Amount;
}

View File

@@ -15,7 +15,7 @@ namespace Content.Shared.Construction.Steps
return list == null || list.Count == 0;
}
public override bool EntityValid(EntityUid uid, IEntityManager entityManager)
public override bool EntityValid(EntityUid uid, IEntityManager entityManager, IComponentFactory compFactory)
{
// This step can only happen if either list has tags.
if (IsNullOrEmpty(_allTags) && IsNullOrEmpty(_anyTags))

View File

@@ -8,7 +8,7 @@ namespace Content.Shared.Construction.Steps
[DataField("tag")]
private string? _tag;
public override bool EntityValid(EntityUid uid, IEntityManager entityManager)
public override bool EntityValid(EntityUid uid, IEntityManager entityManager, IComponentFactory compFactory)
{
var tagSystem = entityManager.EntitySysManager.GetEntitySystem<TagSystem>();
return !string.IsNullOrEmpty(_tag) && tagSystem.HasTag(uid, _tag);