private void OnExamine(EntityUid uid, WeldableComponent component, ExaminedEvent args) { if (component.IsWelded && component.WeldedExamineMessage != null) { args.PushText(Loc.GetString(component.WeldedExamineMessage)); } }
private void HandlePuddleExamined(EntityUid uid, PuddleComponent component, ExaminedEvent args) { if (EntityManager.TryGetComponent <SlipperyComponent>(uid, out var slippery) && slippery.Slippery) { args.PushText(Loc.GetString("puddle-component-examine-is-slipper-text")); } }
private void HandlePuddleExamined(EntityUid uid, PuddleComponent component, ExaminedEvent args) { if (TryComp <StepTriggerComponent>(uid, out var slippery) && slippery.Active) { args.PushText(Loc.GetString("puddle-component-examine-is-slipper-text")); } }
private void OnExamineSolution(EntityUid uid, ExaminableSolutionComponent examinableComponent, ExaminedEvent args) { if (!args.Examined.TryGetComponent(out SolutionContainerManagerComponent? solutionsManager) || !solutionsManager.Solutions.TryGetValue(examinableComponent.Solution, out var solutionHolder)) { return; } if (solutionHolder.Contents.Count == 0) { args.PushText(Loc.GetString("shared-solution-container-component-on-examine-empty-container")); return; } var primaryReagent = solutionHolder.GetPrimaryReagentId(); if (!_prototypeManager.TryIndex(primaryReagent, out ReagentPrototype? proto)) { Logger.Error( $"{nameof(Solution)} could not find the prototype associated with {primaryReagent}."); return; } var colorHex = solutionHolder.Color .ToHexNoAlpha(); //TODO: If the chem has a dark color, the examine text becomes black on a black background, which is unreadable. var messageString = "shared-solution-container-component-on-examine-main-text"; args.PushMarkup(Loc.GetString(messageString, ("color", colorHex), ("wordedAmount", Loc.GetString(solutionHolder.Contents.Count == 1 ? "shared-solution-container-component-on-examine-worded-amount-one-reagent" : "shared-solution-container-component-on-examine-worded-amount-multiple-reagents")), ("desc", Loc.GetString(proto.PhysicalDescription)))); }
private void OnFlashExamined(EntityUid uid, FlashComponent comp, ExaminedEvent args) { if (!comp.HasUses) { args.PushText(Loc.GetString("flash-component-examine-empty")); return; } if (args.IsInDetailsRange) { args.PushMarkup( Loc.GetString( "flash-component-examine-detail-count", ("count", comp.Uses), ("markupCountColor", "green") ) ); } }
private void OnExamine(EntityUid uid, RCDAmmoComponent component, ExaminedEvent args) { var examineMessage = Loc.GetString("rcd-ammo-component-on-examine-text", ("ammo", component.RefillAmmo)); args.PushText(examineMessage); }