Examine prediction (#23565)
* Initial prediction * new group handling * groups for all examines that use multiple rn * compile * why was it doing this?? * handle newlines with sorting properly
This commit is contained in:
@@ -28,33 +28,37 @@ namespace Content.Shared.Construction
|
||||
{
|
||||
if (!args.IsInDetailsRange)
|
||||
return;
|
||||
args.PushMarkup(Loc.GetString("machine-board-component-on-examine-label"));
|
||||
foreach (var (part, amount) in component.Requirements)
|
||||
{
|
||||
args.PushMarkup(Loc.GetString("machine-board-component-required-element-entry-text",
|
||||
("amount", amount),
|
||||
("requiredElement", Loc.GetString(_prototype.Index<MachinePartPrototype>(part).Name))));
|
||||
}
|
||||
|
||||
foreach (var (material, amount) in component.MaterialRequirements)
|
||||
using (args.PushGroup(nameof(MachineBoardComponent)))
|
||||
{
|
||||
args.PushMarkup(Loc.GetString("machine-board-component-required-element-entry-text",
|
||||
("amount", amount),
|
||||
("requiredElement", Loc.GetString(material.Name))));
|
||||
}
|
||||
args.PushMarkup(Loc.GetString("machine-board-component-on-examine-label"));
|
||||
foreach (var (part, amount) in component.Requirements)
|
||||
{
|
||||
args.PushMarkup(Loc.GetString("machine-board-component-required-element-entry-text",
|
||||
("amount", amount),
|
||||
("requiredElement", Loc.GetString(_prototype.Index<MachinePartPrototype>(part).Name))));
|
||||
}
|
||||
|
||||
foreach (var (_, info) in component.ComponentRequirements)
|
||||
{
|
||||
args.PushMarkup(Loc.GetString("machine-board-component-required-element-entry-text",
|
||||
("amount", info.Amount),
|
||||
("requiredElement", Loc.GetString(info.ExamineName))));
|
||||
}
|
||||
foreach (var (material, amount) in component.MaterialRequirements)
|
||||
{
|
||||
args.PushMarkup(Loc.GetString("machine-board-component-required-element-entry-text",
|
||||
("amount", amount),
|
||||
("requiredElement", Loc.GetString(material.Name))));
|
||||
}
|
||||
|
||||
foreach (var (_, info) in component.TagRequirements)
|
||||
{
|
||||
args.PushMarkup(Loc.GetString("machine-board-component-required-element-entry-text",
|
||||
("amount", info.Amount),
|
||||
("requiredElement", Loc.GetString(info.ExamineName))));
|
||||
foreach (var (_, info) in component.ComponentRequirements)
|
||||
{
|
||||
args.PushMarkup(Loc.GetString("machine-board-component-required-element-entry-text",
|
||||
("amount", info.Amount),
|
||||
("requiredElement", Loc.GetString(info.ExamineName))));
|
||||
}
|
||||
|
||||
foreach (var (_, info) in component.TagRequirements)
|
||||
{
|
||||
args.PushMarkup(Loc.GetString("machine-board-component-required-element-entry-text",
|
||||
("amount", info.Amount),
|
||||
("requiredElement", Loc.GetString(info.ExamineName))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,9 +66,14 @@ namespace Content.Shared.Construction
|
||||
{
|
||||
if (!args.IsInDetailsRange)
|
||||
return;
|
||||
args.PushMarkup(Loc.GetString("machine-part-component-on-examine-rating-text", ("rating", component.Rating)));
|
||||
args.PushMarkup(Loc.GetString("machine-part-component-on-examine-type-text", ("type",
|
||||
Loc.GetString(_prototype.Index<MachinePartPrototype>(component.PartType).Name))));
|
||||
|
||||
using (args.PushGroup(nameof(MachinePartComponent)))
|
||||
{
|
||||
args.PushMarkup(Loc.GetString("machine-part-component-on-examine-rating-text",
|
||||
("rating", component.Rating)));
|
||||
args.PushMarkup(Loc.GetString("machine-part-component-on-examine-type-text", ("type",
|
||||
Loc.GetString(_prototype.Index<MachinePartPrototype>(component.PartType).Name))));
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<string, int> GetMachineBoardMaterialCost(Entity<MachineBoardComponent> entity, int coefficient = 1)
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Content.Shared.Construction.Steps
|
||||
if (string.IsNullOrEmpty(Name))
|
||||
return;
|
||||
|
||||
examinedEvent.Message.AddMarkup(Loc.GetString("construction-insert-arbitrary-entity", ("stepName", Name)));
|
||||
examinedEvent.PushMarkup(Loc.GetString("construction-insert-arbitrary-entity", ("stepName", Name)));
|
||||
}
|
||||
|
||||
public override ConstructionGuideEntry GenerateGuideEntry()
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace Content.Shared.Construction.Steps
|
||||
|
||||
public override void DoExamine(ExaminedEvent examinedEvent)
|
||||
{
|
||||
examinedEvent.Message.AddMarkup(string.IsNullOrEmpty(Name)
|
||||
examinedEvent.PushMarkup(string.IsNullOrEmpty(Name)
|
||||
? Loc.GetString(
|
||||
"construction-insert-entity-with-component",
|
||||
("componentName", Component))// Terrible.
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace Content.Shared.Construction.Steps
|
||||
{
|
||||
var material = IoCManager.Resolve<IPrototypeManager>().Index<StackPrototype>(MaterialPrototypeId);
|
||||
|
||||
examinedEvent.Message.AddMarkup(Loc.GetString("construction-insert-material-entity", ("amount", Amount), ("materialName", material.Name)));
|
||||
examinedEvent.PushMarkup(Loc.GetString("construction-insert-material-entity", ("amount", Amount), ("materialName", material.Name)));
|
||||
}
|
||||
|
||||
public override bool EntityValid(EntityUid uid, IEntityManager entityManager, IComponentFactory compFactory)
|
||||
|
||||
Reference in New Issue
Block a user