Files
tbd-station-14/Content.Shared/Construction/Steps/ComponentConstructionGraphStep.cs
Ertanic 81507b9d52 Localizable craftmenu (#32339)
* Now the name of the target craft items is taken directly from the prototypes

* Deleting unnecessary fields

* Deleting unnecessary fields

* Added suffix field

* Added override via localization keys

* My favorite ItemList and TextureRect have been replaced with ListContainer and EntityPrototypeView

* Fix suffix

* Fix construction ghosts... maybe

* Remove suffix from UI

* Suffixes have been removed from prototypes

* Added a description for the secret door

* Fix search..?

* The Icon field of ConstructionPrototype has been removed

* StackPrototypes used in the construction menu have been localized

* TagConstructionGraphStep used in the construction menu have been localized

* The search bar has been localized

* Fix localization and prototypes

* Recipes are now only loaded when the crafting window is opened.

* Fix crooked merge grid of the crafting menu.

* Localization update

* Fix cyborg graph

* Revert "Recipes are now only loaded when the crafting window is opened."

This reverts commit 97749483542c2d6272bda16edf49612c69a0761a.

* Fix loc

* fix merge

* Fix upstream

* Some of the logic has been moved to Shared

* fix

* Small adjustments

* Very small change

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-05-01 10:21:16 -04:00

33 lines
1.1 KiB
C#

using Content.Shared.Examine;
namespace Content.Shared.Construction.Steps
{
[DataDefinition]
public sealed partial class ComponentConstructionGraphStep : ArbitraryInsertConstructionGraphStep
{
[DataField("component")] public string Component { get; private set; } = string.Empty;
public override bool EntityValid(EntityUid uid, IEntityManager entityManager, IComponentFactory compFactory)
{
foreach (var component in entityManager.GetComponents(uid))
{
if (compFactory.GetComponentName(component.GetType()) == Component)
return true;
}
return false;
}
public override void DoExamine(ExaminedEvent examinedEvent)
{
examinedEvent.PushMarkup(string.IsNullOrEmpty(Name)
? Loc.GetString(
"construction-insert-entity-with-component",
("componentName", Component))// Terrible.
: Loc.GetString(
"construction-insert-exact-entity",
("entityName", Loc.GetString(Name))));
}
}
}