private void OnGetExamineVerbs(EntityUid uid, HealthExaminableComponent component, GetVerbsEvent <ExamineVerb> args)
    {
        if (!TryComp <DamageableComponent>(uid, out var damage))
        {
            return;
        }

        var detailsRange = _examineSystem.IsInDetailsRange(args.User, uid);

        var verb = new ExamineVerb()
        {
            Act = () =>
            {
                var markup = CreateMarkup(uid, component, damage);
                _examineSystem.SendExamineTooltip(args.User, uid, markup, false, false);
            },
            Text        = Loc.GetString("health-examinable-verb-text"),
            Category    = VerbCategory.Examine,
            Disabled    = !detailsRange,
            Message     = Loc.GetString("health-examinable-verb-disabled"),
            IconTexture = "/Textures/Interface/VerbIcons/rejuvenate.svg.192dpi.png"
        };

        args.Verbs.Add(verb);
    }
Exemple #2
0
        private void OnGetExamineVerbs(EntityUid uid, CableComponent component, GetVerbsEvent <ExamineVerb> args)
        {
            // Must be in details range to try this.
            // Theoretically there should be a separate range at which a multitool works, but this does just fine.
            if (_examineSystem.IsInDetailsRange(args.User, args.Target))
            {
                var held = args.Using;

                // Pulsing is hardcoded here because I don't think it needs to be more complex than that right now.
                // Update if I'm wrong.
                var enabled = held != null && _toolSystem.HasQuality(held.Value, "Pulsing");
                var verb    = new ExamineVerb
                {
                    Disabled    = !enabled,
                    Message     = Loc.GetString("cable-multitool-system-verb-tooltip"),
                    Text        = Loc.GetString("cable-multitool-system-verb-name"),
                    Category    = VerbCategory.Examine,
                    IconTexture = "/Textures/Interface/VerbIcons/zap.svg.192dpi.png",
                    Act         = () =>
                    {
                        var markup = FormattedMessage.FromMarkup(GenerateCableMarkup(uid));
                        _examineSystem.SendExamineTooltip(args.User, uid, markup, false, false);
                    }
                };

                args.Verbs.Add(verb);
            }
        }
Exemple #3
0
    public ExamineButton(ExamineVerb verb)
    {
        Margin = new Thickness(Thickness, Thickness, Thickness, Thickness);

        SetOnlyStyleClass(StyleClassExamineButton);

        Verb = verb;

        if (verb.Disabled)
        {
            Disabled = true;
        }

        ToolTip = verb.Message;

        Icon = new TextureRect
        {
            SetWidth  = ElementWidth,
            SetHeight = ElementHeight
        };

        if (verb.IconTexture != null)
        {
            var icon = new SpriteSpecifier.Texture(new ResourcePath(verb.IconTexture));

            Icon.Texture = icon.Frame0();
            Icon.Stretch = TextureRect.StretchMode.KeepAspectCentered;

            AddChild(Icon);
        }
    }
Exemple #4
0
    private void OnGetExamineVerbs(EntityUid uid, IdExaminableComponent component, GetVerbsEvent <ExamineVerb> args)
    {
        var detailsRange = _examineSystem.IsInDetailsRange(args.User, uid);
        var info         = GetInfo(component.Owner) ?? Loc.GetString("id-examinable-component-verb-no-id");

        var verb = new ExamineVerb()
        {
            Act = () =>
            {
                var markup = FormattedMessage.FromMarkup(info);
                _examineSystem.SendExamineTooltip(args.User, uid, markup, false, false);
            },
            Text        = Loc.GetString("id-examinable-component-verb-text"),
            Category    = VerbCategory.Examine,
            Disabled    = !detailsRange,
            Message     = Loc.GetString("id-examinable-component-verb-disabled"),
            IconTexture = "/Textures/Interface/VerbIcons/information.svg.192dpi.png"
        };

        args.Verbs.Add(verb);
    }
Exemple #5
0
        private void OnGetExamineVerbs(EntityUid uid, DetailExaminableComponent component, GetVerbsEvent <ExamineVerb> args)
        {
            // TODO: Hide if identity isn't visible (when identity is merged)
            var detailsRange = _examineSystem.IsInDetailsRange(args.User, uid);

            var verb = new ExamineVerb()
            {
                Act = () =>
                {
                    var markup = new FormattedMessage();
                    markup.AddMarkup(component.Content);
                    _examineSystem.SendExamineTooltip(args.User, uid, markup, false, false);
                },
                Text        = Loc.GetString("detail-examinable-verb-text"),
                Category    = VerbCategory.Examine,
                Disabled    = !detailsRange,
                Message     = Loc.GetString("detail-examinable-verb-disabled"),
                IconTexture = "/Textures/Interface/VerbIcons/examine.svg.192dpi.png"
            };

            args.Verbs.Add(verb);
        }
Exemple #6
0
        private void OnGetExamineVerbs(EntityUid uid, GasAnalyzableComponent component, GetVerbsEvent <ExamineVerb> args)
        {
            // Must be in details range to try this.
            if (_examineSystem.IsInDetailsRange(args.User, args.Target))
            {
                var held    = args.Using;
                var enabled = held != null && EntityManager.HasComponent <SharedGasAnalyzerComponent>(held);
                var verb    = new ExamineVerb
                {
                    Disabled    = !enabled,
                    Message     = Loc.GetString("gas-analyzable-system-verb-tooltip"),
                    Text        = Loc.GetString("gas-analyzable-system-verb-name"),
                    Category    = VerbCategory.Examine,
                    IconTexture = "/Textures/Interface/VerbIcons/examine.svg.192dpi.png",
                    Act         = () =>
                    {
                        var markup = FormattedMessage.FromMarkup(GeneratePipeMarkup(uid));
                        _examineSystem.SendExamineTooltip(args.User, uid, markup, false, false);
                    }
                };

                args.Verbs.Add(verb);
            }
        }