Text Pointers
Text pointers are floating labels with optional attached arrows and close buttons that point to items on screen, drawing the player's attention there. They are primarily intended for use in tutorial scripts. They have been extended to show streaming text in cutscenes in battle, using cutscene:show_custom_cutscene_subtitle.
Text pointer objects are created with text_pointer:new, configured, and then visually shown with text_pointer:show. Once shown, a text pointer may be hidden again by calling text_pointer:hide. Alternatively, the core object provides the function core:hide_all_text_pointers to hide all visible text pointers.
A great many configuration options exist for text pointers. To simplify configuration as much as possible a number of syles have been provided, each of which sets a range of configuration options automatically. Styles can be set with text_pointer:set_style.
| Loaded in Campaign |
|
| Loaded in Battle |
|
| Loaded in Frontend |
|
-
text_pointer:new(stringname, [stringdisplay mode], [numberlength], [numberx position], [numbery position]) -
Creates a text_pointer object pointing to a supplied position on the screen.
Parameters:
1
stringName for the text pointer. Must be unique amongst text pointers.
2
stringoptional, default value="bottom"
Pointer display mode. Determines in what direction the arrow pointer appears relative to the pointer label. Supported values:
- "top", the pointer line is drawn above the text label, pointing upwards.
- "bottom", the pointer line is drawn below the text label, pointing downwards.
- "left", the pointer line is drawn to the left of the text label, pointing to the left.
- "right", the pointer line is drawn to the right of the text label, pointing to the right.
- "worldspace", a special mode, whereby the text pointer appears in 3D space rather than 2D. In this case the pointer line appears below the text label.
- "subtitle", a special mode, whereby the text pointer appears and behaves as a cutscene subtitle in the lower cinematic bar. x/y positions are disregarded in this case.
3
numberoptional, default value=0
Length of the attached arrow pointer and line. Can be zero.
4
numberoptional, default value=0
X position. This is either the absolute position on-screen, or the position in 3D space if the pointer display mode is set to worldspace.
5
numberoptional, default value=0
Y position. This is either the absolute position on-screen, or the position in 3D space if the pointer display mode is set to worldspace.
Returns:
text pointertext_pointer
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 95
-
text_pointer:new_from_component(name
string,display mode
[string],length
[number],ui component
object,x proportion
[number],y proportion
[number]
) -
Creates a text_pointer object pointing to a supplied uicomponent. The uicomponent may either be supplied directly or as a function that returns a uicomponent.
Parameters:
1
stringName for the text pointer. Must be unique amongst text pointers.
2
stringoptional, default value="bottom"
Pointer display mode. Determines in what direction the arrow pointer appears relative to the pointer label. Supported values:
- "top", the pointer line is drawn above the text label, pointing upwards.
- "bottom", the pointer line is drawn below the text label, pointing downwards.
- "left", the pointer line is drawn to the left of the text label, pointing to the left.
- "right", the pointer line is drawn to the right of the text label, pointing to the right.
- "worldspace", a special mode, whereby the text pointer appears in 3D space rather than 2D. In this case the pointer line appears below the text label.
- "subtitle", a special mode, whereby the text pointer appears and behaves as a cutscene subtitle in the lower cinematic bar. x/y positions are disregarded in this case.
3
numberoptional, default value=0
Length of the attached arrow pointer and line. Can be zero.
4
objectUI component to point at. This can be supplied as either a uicomponent or a function that returns a uicomponent. By default the pointer will point to the middle of the component - use the offset parameters to change this.
5
numberoptional, default value=0.5
Unary x proportion specifying a pointed position relative to the dimensions of the specified component. Supply zero to point at the left edge of the component, one to point at the right edge of the component, or 0.5 to point at the middle of the component, for example. Values less than zero or greater than one are valid.
6
numberoptional, default value=0.5
Unary y proportion specifying a pointed position relative to the dimensions of the specified component. Supply zero to point at the top edge of the component, one to point at the bottom edge of the component, or 0.5 to point at the middle of the component, for example. Values less than zero or greater than one are valid.
Returns:
text pointertext_pointer
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 134
-
text_pointer:new_from_position_offset_to_text_pointer(name
string,text pointer
text_pointer,x offset
number,y offset
number
) -
Creates a text_pointer object with a position relative to another text pointer. This can be used to make text pointers appear in a sequence on the screen.
Parameters:
1
stringName for the text pointer. Must be unique amongst text pointers.
2
text_pointerText pointer object to display relative to.
3
numberx offset in pixels from the other text pointer. This takes into account the other text pointer's size, so the two text pointers cannot overlap.
Supplying a value of 10 would mean a gap of 10 pixels between the two text pointers, with this text pointer on the right of the other, while a value of -10 would mean a gap of 10 pixels with this text pointer on the left.
4
numbery offset in pixels from the other text pointer. This takes into account the other text pointer's size, so the two text pointers cannot overlap.
Supplying a value of 10 would mean a gap of 10 pixels between the two text pointers, with this text pointer below the other (as a higher value of y means a position further down the screen), while a value of -10 would mean a gap of 10 pixels with this text pointer above the other.
Returns:
text pointertext_pointer
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 211
Once an text_pointer object has been created with text_pointer:new, functions on it may be called in the form showed below.
Example - Specification:
<text_pointer_object>:<function_name>(<args>)
Example - Creation and Usage:
local tp_test = text_pointer:new(
"test_pointer",
400,
300
)
tp_test:set_panel_width(400) -- calling a function on the object once created
-
text_pointer:set_layout_path(stringpath) -
Sets the path to the folder that contains the component layout file. Default value is "UI/Common UI/".
Parameters:
1
stringpath
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 361
-
text_pointer:set_layout(stringpath) -
Sets the name of the layout to use for this text pointer. Default value is "text_pointer_text_only".
Parameters:
1
stringpath
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 374
-
text_pointer:get_text_label() -
Returns the text label uicomponent
Returns:
uicomponenttext label
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 399
-
text_pointer:set_pointer_width(numberpointer width) -
Sets the width of the pointer line. Default width is 5 pixels.
Parameters:
1
numberpointer width
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 407
-
text_pointer:set_panel_width(numberpanel width, [booleanshrink horizontally]) -
Sets the width of the text panel on-screen. The default width is set by the component layout.
Parameters:
1
numberWidth of panel on-screen in pixels.
2
booleanoptional, default value=false
Shrink text horizontally if on one line.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 420
-
text_pointer:set_panel_width_to_screen(numberdifference, [booleanshrink horizontally]) -
Sets the width of the text panel on-screen to be the screen width minus a supplied numeric value.
Parameters:
1
numberWidth of panel on-screen will be the screen width minus this value, in pixels.
2
booleanoptional, default value=false
Shrink text horizontally if on one line.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 435
-
text_pointer:set_worldspace_display_height(numberdisplay height) -
Sets the height in campaign, or height offset in battle, of the pointed position if the pointer is displayed in worldspace mode. This is important to set in campaign as the script has no way of determining the height of the terrain at a position in worldspace, so it must be supplied here. In battle, where the script can find the height of the terrain at a point, this sets the vertical offset from the ground.
Without setting a height in campaign, a worldspace pointer will appear pointing to a height of 0 which will likely be beneath the terrain being pointed at.Parameters:
1
numberdisplay height
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 450
-
text_pointer:set_label_offset(numberx offset, numbery offset) -
Without setting a label offset, the text label with be centred to the position being pointed at e.g. centred directly above it if the display mode is set to "bottom", centred to the left if the display mode is set to "right" etc. Set a label offset to move the label relative to this position.
Parameters:
1
numberx offset
2
numbery offset
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 464
-
text_pointer:set_show_pointer_end_without_line(show line end without lineboolean) -
Sets whether the line end should be drawn without the line.
Parameters:
1
show line end without line
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 484
-
text_pointer:set_priority(numberpriority) -
Sets the component priority of the text pointer. This determines what components the text pointer is drawn on top of, and what components it is drawn underneath.
Parameters:
1
numberpriority
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 510
-
text_pointer:set_topmost([booleantopmost]) -
Sets the text pointer components to be topmost in the UI heirarchy.
Parameters:
1
booleanoptional, default value=true
topmost
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 523
-
text_pointer:set_should_pulse([booleanpulse], [numberpulse strength]) -
Sets the text pointer to pulse-highlight when it shows.
Parameters:
1
booleanoptional, default value=true
Set to
trueto enable pulsing.2
numberoptional, default value=nil
Pulse strength override. Supply a positive number here to modify the strength of the pulse. Default value is 5.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 550
-
text_pointer:set_stream_by_char(booleanshould stream, [numberstream duration]) -
Sets the text pointer to stream its text, and optionally sets the duration over which the text is to be streamed.
Parameters:
1
booleanshould stream
2
numberoptional, default value=nil
stream duration
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 585
-
text_pointer:set_stream_duration(numberstream duration) -
Sets just the duration over which the text is to be streamed.
Parameters:
1
numberstream duration
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 607
-
text_pointer:set_panel_show_animation(stringanimation name) -
Sets a different panel show animation. Any animation set here must be present on the panel component in the text pointer layout. Default is "show".
Parameters:
1
stringanimation name
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 633
-
text_pointer:set_panel_hide_animation(stringanimation name) -
Sets a different panel hide animation. Any animation set here must be present on the panel component in the text pointer layout. Default is "hide".
Parameters:
1
stringanimation name
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 646
-
text_pointer:set_text_show_animation(stringanimation name) -
Sets a text show animation. Any animation set here must be present on the line component in the text pointer layout.
Parameters:
1
stringanimation name
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 659
-
text_pointer:set_text_hide_animation(stringanimation name) -
Sets a text hide animation. Any animation set here must be present on the line component in the text pointer layout.
Parameters:
1
stringanimation name
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 672
-
text_pointer:set_panel_state_override(stringstate name) -
Sets a different state for the text pointer panel. Any state set here must be present on the
panelcomponent in the text pointer layout.Parameters:
1
stringstate name
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 701
-
text_pointer:set_text_state_override(stringstate name) -
Sets a different state for each line of text pointer panel. Any state set here must be present on the
linecomponent in the text pointer layout.Parameters:
1
stringstate name
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 714
-
text_pointer:set_line_end_state_override(stringstate name) -
Sets a different state for the line end uicomponent. Any state set here must be present on the
line_endcomponent in thetext_pointer_line_parentlayout.Parameters:
1
stringstate name
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 727
-
text_pointer:set_show_close_button([booleanshow button]) -
Shows a close button on the text pointer. By default a close button is not shown.
Parameters:
1
booleanoptional, default value=true
show button
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 752
-
text_pointer:set_hide_on_close_button_clicked([booleanclose on click]) -
Hides the text pointer when the close button is clicked. By default, this is enabled, so the panel closes when the button is clicked.
Parameters:
1
booleanoptional, default value=true
close on click
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 764
-
text_pointer:set_close_button_callback(functioncallback, [numberdelay]) -
Set a callback to call when the close button is clicked. An optional delay may also be set. Calling this also sets the close button to show.
A callback set using this function will not be called if the text pointer is hidden by external script - usetext_pointer:add_hide_callbackto set a callback that would be called in this case.Parameters:
1
functionCallback
2
numberoptional, default value=0
Delay before calling callback, in s (campaign) or ms (battle/frontend)
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 776
-
text_pointer:add_hide_callback(callbackfunction, [delaynumber], [show close buttonboolean]) -
Set a callback to call when the text pointer is hidden. An optional delay may also be set. A further optional flag sets the close button to show.
Parameters:
1
Callback
2
optional, default value=0
Delay before calling callback, in s (campaign) or ms (battle/frontend)
3
optional, default value=nil
Sets the close button to show on the text pointer. If no value is specified then the current behaviour remains untouched.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 799
-
text_pointer:set_close_button_component(stringcomponent name) -
Overrides the component to use as the close button, by name.
Parameters:
1
stringcomponent name
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 830
-
text_pointer:set_highlight_close_button([delaynumber]) -
Instructs the text pointer to highlight the close button when it shows, with an optional delay between the time of showing and the time the close button is highlighted. Immediately highlights the close button if the text pointer is already showing.
Parameters:
1
optional, default value=0
Period the text pointer should wait after being shown before the button highlight begins. This is specified in s in campaign, ms in battle or the frontend.
This is disregarded if the text pointer is already showing at the time this function is called.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 843
-
text_pointer:set_position_as_subtitle([positionas subtitle]) -
Sets the text pointer to position itself/behave as a cutscene subtitle, in the lower cinematic bar. This is akin to setting the pointer display mode to "subtitle" in
text_pointer:new.Parameters:
1
positionoptional, default value=true
as subtitle
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 880
-
text_pointer:add_component_text(stringcomponent name, stringlocalised text, [exemptfrom streaming]) -
Sets the text displayed by a specified child uicomponent of the text pointer to a localised value. Use this method to show customised text on the text pointer.
Parameters:
1
stringName of text component on the text pointer.
2
stringFull database key of localised text, in the form [table]_[localised_field]_[record_key].
3
exemptoptional, default value=false
Exempts this text from being streamed, if the text pointer is set to stream text.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 906
-
text_pointer:add_show_callback(callbackfunction) -
Adds a callback to call when the text pointer is shown with
text_pointer:show.Parameters:
1
callback
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 939
-
text_pointer:show([forcedisplay]) -
Makes the text pointer visible.
Parameters:
1
forceoptional, default value=false
Forces the text pointer to display. This flag is only considered if the text pointer has been set to behave as a subtitle with
text_pointer:set_position_as_subtitle, and if set totruecauses the text pointer to override the player's subtitles preferences.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 959
-
text_pointer:hide([hideimmediately], [suppressevent]) -
Hides the text pointer. Supply
trueas a single argument to hide it immediately and prevent it from animating.Parameters:
1
hideoptional, default value=false
Hide the text pointer immediately without any animation.
2
suppressoptional, default value=false
Suppress the scripted event that triggers - this is for internal use.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 1752
-
text_pointer:is_showing() -
Returns whether the text pointer is currently showing.
Returns:
booleanis showing
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 1898
-
text_pointer:has_ever_been_shown() -
Returns whether the text pointer has ever been shown.
Returns:
booleanever shown
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 1906
-
text_pointer:ignore_hide_all_text_pointers(booleanshould ignore) -
Set whether to ignore
core:hide_all_text_pointers() when it's called.Parameters:
1
booleanshould ignore
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 1913
-
text_pointer:do_not_release_escape_key(booleanshould stop release) -
Set whether the escape key will be release when ignore
text_pointer:hide() is called.Parameters:
1
booleanshould stop release
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 1920
-
text_pointer:set_style(stringstyle, ...additional args) -
Sets the style of this text pointer. Setting a style automatically sets a range of configuration options common to that style - inspect the script function to find out what exactly gets set or to add more styles.
Multiple styles may be set on a given text pointer if the configuration options do not overlap (if they do then the later settings will overwrite the earlier settings).
Currently-supported styles are:
title_and_textSets the layout of the text pointer to "text_pointer_title_and_text". When setting this style the calling script must also supply two strings specifying the text db key of the title and the text to display. text_onlySets the layout of the text pointer to "text_pointer_text_only". When setting this style the calling script must also supply a string specifying the text db key of the text to display. topmostSets the pointer to be topmost and with a component priority of 1500. semitransparentSets the "topmost" style and the panel state to "semitransparent". semitransparent_highlightSets the "semitransparent" style and sets the close button to highlight two seconds after it is shown. semitransparent_highlight_dont_closeSets the "semitransparent_highlight" style. The text pointer will not close when the close button is clicked, however. subtitle_with_frameSets the pointer into subtitle mode with a frame. activeSets the "topmost" style, and sets the panel into the appropriate visual style for the active text pointer interface. minimalistSets the "minimalist" style but without a close button. Parameters:
1
stringstyle
2
...additional args
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers.lua, line 1934
Active Text Pointers
Active pointers are a particular style of text_pointer, declared as a separate class with a cut-down interface. Visually, an active pointer appears as a text box with a close button and an enlarged pointer arrow with no connecting line. The pointer arrow appears in one of the four corners of the panel.
Active pointers are always associated with a uicomponent at which they visually point. While showing, the active pointer repeatedly polls the properties of this uicomponent. Should the uicomponent move on-screen, become invisible, or be destroyed, the active pointer will automatically dismiss itself. From an implementation perspective active pointers are intended to be relatively 'fire and forget', requiring a minimum of manual setup in script.
An active pointer will automatically immediately hide itself if any parent/ancestor of it, back to the ui root, is seen to play an animation called "hide". This generally occurs when the host panel (e.g. diplomacy panel) is closing.
Once declared, an active pointer may be shown directly with active_pointer:show. Alternatively, active_pointer:show_when_ready may be used to show the pointer, which waits until the target uicomponent has stopped moving and become visible before the pointer is shown. active_pointer:show_when_ready may optionally take a delay value, which imposes a grace period before the text pointer is shown, and a timeout period after which the function will stop trying to show the pointer. Default values for both of these can be set on the active pointer with active_pointer:set_default_delay and active_pointer:set_default_timeout.
The active pointer interface also provides functionality to allow the pointer itself to manage being shown. active_pointer:show_on_event may be used to specify a script event and condition on which the active pointer should attempt to display. Furthermore, active_pointer:wait_for_active_pointer allows this active pointer to be enqueued behind another, so that the foreign active pointer must be shown before this one will attempt to display. One active pointer can wait for multiple other active pointers, which may themselves wait upon other active pointers and so-on.
By default, active pointers store a record when they are displayed in the advice history, and will not display if that record is present when active_pointer:show is called again. This behaviour, which is enabled by default, requires that the active pointer name is unique amongst active pointers, as the name of the advice history flag is derived from the pointer name.
This functionality can be disabled when calling active_pointer:new by setting the suppress-record boolean argument to true. When this is set to false the active pointer need not have a unique name, but advanced functionality like active_pointer:show_on_event and active_pointer:wait_for_active_pointer will not be available.
-
active_pointer:new(name
string,orientation
string,uicomponent specifier
uicomponent/function,text key
string,x proportion
[number],y proportion
[number],width
[number],suppress record
[boolean]
) -
Creates and returns a new active text pointer object.
Parameters:
1
Name for this text pointer. If this pointer is storing a record in the advice history (which is the default behaviour, and must be opted-out of by setting this suppress record in advice argument to
trueon this function) then the supplied name must be unique.2
Orientation of the pointer arrow that is drawn. Supported values are
"topleft","topright","bottomleft"and"bottomright".3
Specifier of uicomponent to point at. This can either be a
uicomponentobject or afunctionthat returns a uicomponent. It's strongly recommended that if the text pointer is not being displayed immediately after being created that a function is used.4
Localised text key to display, in
[table]_[field]_[key]format.5
optional, default value=0.5
Unary x proportion specifying a pointed position relative to the dimensions of the specified component. Supply
0to point at the left edge of the component,1to point at the right edge of the component, or 0.5 to point at the middle of the component, for example. Values less than zero or greater than one are valid.6
optional, default value=0.5
Unary y proportion specifying a pointed position relative to the dimensions of the specified component. Supply
0to point at the top edge of the component,1to point at the bottom edge of the component, or0.5to point at the middle of the component, for example. Values less than zero or greater than one are valid.7
optional, default value=250
Width of the text pointer panel in pixels.
8
optional, default value=false
Sets this active pointer to not record a record of whether it's been triggered in advice history. If this is set to
truethen the active pointer is not registered with the script core, and it doesn't need to have a unique name. However, the active pointer will not be able to automatically listen for events.Returns:
active text pointeractive_pointer
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers_active.lua, line 117
Once a active_pointer object has been created with active_pointer:new, functions on it may be called in the form showed below. Active text pointers inherit from text pointers, so all functions provided by the text_pointer interface may be called on a active_pointer.
Example - Specification:
<text_pointer_object>:<function_name>(<args>)
Example - Creation and Usage:
local ap_example = active_pointer:new(
"example",
"bottomright",
"ui_text_replacements_localised_text_example_text_pointer_str",
function()
-- function that should return a uicomponent
return find_uicomponent(core:get_ui_root(), "diplomacy_dropdown", "main_button_bar", "menu_buttons", "button_quick_deal");
end,
-- point at top-right of uicomponent
0.25,
0.75
)
-- calling a function on the object once created
ap_example:show_when_ready()
-
active_pointer:set_default_delay(delaynumber) -
Sets a default delay period for this active pointer, which is the period between when
active_pointer:show_when_readyhas detected that the pointer is ready to be shown and when the pointer is actually shown. Any default set here may be overridden whenactive_pointer:show_when_ready,active_pointer:show_after_active_pointeroractive_pointer:show_on_eventare called.Parameters:
1
Delay value. This should be set in seconds in campaign, and milliseconds in battle or in the frontend.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers_active.lua, line 450
-
active_pointer:set_default_timeout(timeoutnumber) -
Sets a default timeout period for this active pointer, which is the period over which
active_pointer:show_when_readywill poll the target uicomponent to see if it becomes visible and stops moving. If the timeout period elapses then the attempt to show the text pointer is stopped. By default this is 5 seconds in campaign, or 5000ms in battle or the frontend.Parameters:
1
Default timeout value. This should be set in seconds in campaign, and milliseconds in battle or in the frontend.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers_active.lua, line 463
While being displayed, the active pointer polls its target uicomponent and will automatically hide itself once the target uicomponent moves or becomes invisible. Due to the inherent delay when polling with a model timer, in certain circumstances there is a visible delay before the text pointer hides. active_pointer:add_hide_on_event_record can be used to make the active pointer directly respond to script events and hide itself before its poll picks up on a ui state change.
-
active_pointer:add_hide_on_event_record(event name
string,condition
[function/boolean],hide immediately
[boolean]
) -
Adds a hide-on-event record for this active pointer. If the event is received while the active pointer is being shown, and the optional conditional check passes, then the active pointer is hidden. An optional flag specifies whether this hide should happen immediately, without any fade animation.
Parameters:
1
Script event name.
2
optional, default value=true
Conditional check. This can be a function that returns a boolean, or
trueto always pass when the supplied event is received.3
optional, default value=true
Hide the text pointer immediately, without a fade animation.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers_active.lua, line 534
-
active_pointer:show() -
Immediately shows the text pointer, unless it's been set to pay attention to advice history (and has already been shown).
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers_active.lua, line 581
-
active_pointer:show_when_ready([delay overridenumber], [timeout overridenumber]) -
Shows the active text pointer when the target uicomponent that was specified when the active pointer was created is not moving, is visible, and is fully onscreen. If this does not happen within the timeout period (default 5 seconds) then the process is cancelled.
Parameters:
1
optional, default value=0
Delay between the uicomponent stopping moving/becoming visible and the text pointer actually being shown. This should be supplied in seconds in campaign, and in milliseconds in battle and the frontend. The default value is 1 second, or 1000ms, or whatever has been set with
active_pointer:set_default_delay.2
optional, default value=0
Timeout period override. The timeout is the elapsed period after which the show_when_ready process will halt if the target uicomponent has not stopped moving or become visible. In campaign this should be supplied in seconds, and defaults to either 5 or whatever value has been set with
active_pointer:set_default_timeout. In battle and the frontend, the timeout period is set in milliseconds and defaults to 5000.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers_active.lua, line 608
These functions are only supported when the active pointer is set to store its use in the advice history - see the Storing in Advice History section for more information.
-
active_pointer:wait_for_active_pointer(active pointer name
string,delay override
[number],timeout override
[number]
) -
Prevents this active pointer from being shown before another active pointer has been shown. An active pointer may wait for multiple other active pointers, each wait being registered with a call to this function. Should multiple waits be set up for an active pointer, it will fail to display until all active pointers being waited for have finished showing.
This function sets up anactive_pointer:show_after_active_pointerprocess automatically, which attempts to show this pointer once the active pointer being waited for is dismissed.
This active pointer must have registered itself in the advice history for this function to work.Parameters:
1
Name of active pointer to wait for. The active pointer being waited for must have registered itself in the advice history.
2
optional, default value=0
Delay override, which will be supplied to
active_pointer:show_when_readyif this monitor tries to show the pointer. This is the delay between the uicomponent stopping moving/becoming visible and the text pointer actually being shown. This should be supplied in seconds in campaign, and in milliseconds in battle and the frontend. The default value is 1 second, or 1000ms, or whatever has been set withactive_pointer:set_default_delay.3
optional, default value=0
Timeout period override, which will be supplied to
active_pointer:show_when_readyif this monitor tries to show the pointer. The timeout is the elapsed period after which the show_when_ready process will halt if the target uicomponent has not stopped moving or become visible. In campaign this should be supplied in seconds, and defaults to either 5 or whatever value has been set withactive_pointer:set_default_timeout. In battle and the frontend, the timeout period is set in milliseconds and defaults to 5000.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers_active.lua, line 743
-
active_pointer:show_after_active_pointer(active pointer name
string,delay override
[number],timeout override
[number]
) -
Sets up a listener that attempts to show this active pointer once the specified active pointer closes. Unlike
active_pointer:wait_for_active_pointerthis doesn't demand that the specified active pointer must have first been shown before this active pointer can be shown - this active pointer could trigger before the specified active pointer (from a different event, for example).
This active pointer must have registered itself in the advice history for this function to work.Parameters:
1
Name of active pointer to wait for. The active pointer being waited for must have registered itself in the advice history.
2
optional, default value=0
Delay override, which will be supplied to
active_pointer:show_when_readyif this monitor tries to show the pointer. This is the delay between the uicomponent stopping moving/becoming visible and the text pointer actually being shown. This should be supplied in seconds in campaign, and in milliseconds in battle and the frontend. The default value is 1 second, or 1000ms, or whatever has been set withactive_pointer:set_default_delay.3
optional, default value=0
Timeout period override, which will be supplied to
active_pointer:show_when_readyif this monitor tries to show the pointer. The timeout is the elapsed period after which the show_when_ready process will halt if the target uicomponent has not stopped moving or become visible. In campaign this should be supplied in seconds, and defaults to either 5 or whatever value has been set withactive_pointer:set_default_timeout. In battle and the frontend, the timeout period is set in milliseconds and defaults to 5000.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers_active.lua, line 769
-
active_pointer:show_on_event(event
string,condition
[boolean/function],delay override
[number],timeout override
[number]
) -
Sets the active pointer to trigger when a script event is received, with an optional conditional check that must be passed.
This active pointer must have registered itself in the advice history for this function to work.Parameters:
1
Event name.
2
optional, default value=true
Conditional check. This may be omitted, or
truemay be supplied to always trigger whenever the supplied event is received.3
optional, default value=0
Delay override, which will be supplied to
active_pointer:show_when_readyif this monitor tries to show the pointer. This is the delay between the uicomponent stopping moving/becoming visible and the text pointer actually being shown. This should be supplied in seconds in campaign, and in milliseconds in battle and the frontend. The default value is 1 second, or 1000ms, or whatever has been set withactive_pointer:set_default_delay.4
optional, default value=0
Timeout period override, which will be supplied to
active_pointer:show_when_readyif this monitor tries to show the pointer. The timeout is the elapsed period after which the show_when_ready process will halt if the target uicomponent has not stopped moving or become visible. In campaign this should be supplied in seconds, and defaults to either 5 or whatever value has been set withactive_pointer:set_default_timeout. In battle and the frontend, the timeout period is set in milliseconds and defaults to 5000.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_text_pointers_active.lua, line 826