Hover examine buttons (#35206)
* hover examine verbs (not aligned to the left yet) * handle click hovers and align them to the left * revert contrabandsystem changes (this is for another PR) * add support for markup tags
This commit is contained in:
@@ -111,7 +111,7 @@ namespace Content.Shared.Examine
|
||||
/// <summary>
|
||||
/// Either sends the details to a GroupExamineComponent if it finds one, or adds a details examine verb itself.
|
||||
/// </summary>
|
||||
public void AddDetailedExamineVerb(GetVerbsEvent<ExamineVerb> verbsEvent, Component component, List<ExamineEntry> entries, string verbText, string iconTexture = DefaultIconTexture, string hoverMessage = "")
|
||||
public void AddDetailedExamineVerb(GetVerbsEvent<ExamineVerb> verbsEvent, Component component, List<ExamineEntry> entries, string verbText, string iconTexture = DefaultIconTexture, string hoverMessage = "", bool isHoverExamine = false)
|
||||
{
|
||||
// If the entity has the GroupExamineComponent
|
||||
if (TryComp<GroupExamineComponent>(verbsEvent.Target, out var groupExamine))
|
||||
@@ -142,17 +142,23 @@ namespace Content.Shared.Examine
|
||||
}
|
||||
|
||||
var formattedMessage = GetFormattedMessageFromExamineEntries(entries);
|
||||
var act = () =>
|
||||
{
|
||||
SendExamineTooltip(verbsEvent.User, verbsEvent.Target, formattedMessage, false, false);
|
||||
};
|
||||
if (isHoverExamine)
|
||||
{
|
||||
act = () => { };
|
||||
}
|
||||
|
||||
var examineVerb = new ExamineVerb()
|
||||
{
|
||||
Act = () =>
|
||||
{
|
||||
SendExamineTooltip(verbsEvent.User, verbsEvent.Target, formattedMessage, false, false);
|
||||
},
|
||||
Act = act,
|
||||
Text = verbText,
|
||||
Message = hoverMessage,
|
||||
Category = VerbCategory.Examine,
|
||||
Icon = new SpriteSpecifier.Texture(new(iconTexture)),
|
||||
HoverVerb = isHoverExamine
|
||||
};
|
||||
|
||||
verbsEvent.Verbs.Add(examineVerb);
|
||||
@@ -161,18 +167,26 @@ namespace Content.Shared.Examine
|
||||
/// <summary>
|
||||
/// Either adds a details examine verb, or sends the details to a GroupExamineComponent if it finds one.
|
||||
/// </summary>
|
||||
public void AddDetailedExamineVerb(GetVerbsEvent<ExamineVerb> verbsEvent, Component component, ExamineEntry entry, string verbText, string iconTexture = DefaultIconTexture, string hoverMessage = "")
|
||||
public void AddDetailedExamineVerb(GetVerbsEvent<ExamineVerb> verbsEvent, Component component, ExamineEntry entry, string verbText, string iconTexture = DefaultIconTexture, string hoverMessage = "", bool isHoverExamine = false)
|
||||
{
|
||||
AddDetailedExamineVerb(verbsEvent, component, new List<ExamineEntry> { entry }, verbText, iconTexture, hoverMessage);
|
||||
AddDetailedExamineVerb(verbsEvent, component, new List<ExamineEntry> { entry }, verbText, iconTexture, hoverMessage, isHoverExamine);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Either adds a details examine verb, or sends the details to a GroupExamineComponent if it finds one.
|
||||
/// </summary>
|
||||
public void AddDetailedExamineVerb(GetVerbsEvent<ExamineVerb> verbsEvent, Component component, FormattedMessage message, string verbText, string iconTexture = DefaultIconTexture, string hoverMessage = "")
|
||||
public void AddDetailedExamineVerb(GetVerbsEvent<ExamineVerb> verbsEvent, Component component, FormattedMessage message, string verbText, string iconTexture = DefaultIconTexture, string hoverMessage = "", bool isHoverExamine = false)
|
||||
{
|
||||
var componentName = _componentFactory.GetComponentName(component.GetType());
|
||||
AddDetailedExamineVerb(verbsEvent, component, new ExamineEntry(componentName, 0f, message), verbText, iconTexture, hoverMessage);
|
||||
AddDetailedExamineVerb(verbsEvent, component, new ExamineEntry(componentName, 0f, message), verbText, iconTexture, hoverMessage, isHoverExamine);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds an icon aligned to the left of examine window that gives you info on hover.
|
||||
/// </summary>
|
||||
public void AddHoverExamineVerb(GetVerbsEvent<ExamineVerb> verbsEvent, Component component, string hoverMessage, string iconTexture = DefaultIconTexture)
|
||||
{
|
||||
AddDetailedExamineVerb(verbsEvent, component, FormattedMessage.Empty, "", iconTexture, hoverMessage, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user