Dialogue Displays (UI)
Dialogue Displays provide the user interface (UI) for the player to see lines of dialogue, information about speaking characters (such as their name, character image, etc.), and options when appropriate, along with functionality for the player to be able to select an option.
There are several different Dialogue Display prefabs included with EasyTalk in the 'Prefabs/Dialogue Displays/Screenspace' folder. You can see the complete catalogue here.
Each Dialogue Display utilizes a few different types of display components: Conversation Displays, Option Displays, and Continue Displays, each of which contains various sub-components of their own.
Conversation Displays are used to display lines of dialogue and information about a speaking character, such as the character's name.
Option Displays provide the logic and components to present dialogue options to the player via Dialogue Buttons.
Continue Displays are used to make the player aware that they can continue to the next line of dialogue via input controls.
The Character Name Display is actually part of the Conversation Display composed of image and text components. If you don't want to show a character name of the images, you can just disable the "Character Name Panel" object.
Dialogue Display Settings
Each Dialogue Display has many different settings that allow the functionality of the UI to be fine-tuned based on the needs of the game. The settings are described in the sections that follow.
Settings Asset
An EasyTalk Dialogue Settings Asset containing universal settings which are not specific to individual Dialogue Displays, such as language and translation settings.
Sub Displays
Setting | Description |
---|---|
Conversation Display | The Conversation Display which the Dialogue Display should use to show lines of dialogue. |
Option Display | The Option Display which the Dialogue Display should use to present dialogue options to the player. |
Continue Display | The Continue Display which the Dialogue Display should use to alert the player that they may continue to the next line of dialogue. |
General Settings
Setting | Description |
---|---|
Destroy on Load | Whether the display should be destroyed when a new scene is loaded. |
Hide On Exit | Whether the conversation display should be hidden whenever dialogue playback ends. |
Hide on Pause | Whether the dialogue display should be hidden whenever a Pause node is reached during dialogue playback. |
Continue on Story | Whether the Dialogue Display should automatically tell the Dialogue Controller to continue to the next node whenever a story node is reached. |
Allow Quick Exit | Whether the display should allow the player to instantly exit dialogue playback by pressing a button (configured as 'Exit Conversation Action Name' or 'Quick Exit Button Name' depending on the input system being used). |
Conversation Settings
Setting | Description |
---|---|
Default Conversation Display ID | If this is set, whenever a Dialogue Controller begins playback, if it doesn't specify a Conversation Display to use, the Dialogue Display will automatically switch back to using the first Conversation Display in the scene which has a Display ID matching this value. |
Are Lines Skippable | Whether the player is allowed to skip lines of dialogue early via the continue mechanism (after the configured continuation delay or once audio finishes). |
Hide Convo When Showing Options | Whether the conversation display should be hidden when dialogue options are presented to the player. |
Clear Convo When Showing Options | Whether the conversation display should be reset, having the conversation text and character name set to empty strings whenever options are presented to the player. |
Refresh Convo On Character Change | If this is true, the conversation display will transition to a hidden state before the character name is updated, and then it will be shown again. |
Refresh Convo On Text Change | If this is true, the conversation display will transition to a hidden state before the displayed text is updated, and then it will be shown again. |
Switch Convo Display On Character Change | Whether the active conversation display should be switched to another conversation display whenever a character name change is detected. If this is true, then the Dialogue Display will attempt to find the conversation display with a Display ID which is the same as the new character name and use that display. |
Autoplay Settings
Setting | Description |
---|---|
Time Per Word | The amount of time to allot to each word in a line of dialogue when calculating a display time for the line (Note that if audio is assigned to the dialogue, the time will be determined by the length of the audio clip). |
Min Convo Time | The minimum amount of time a line of dialogue should be displayed, despite word count. |
Convo Line Delay | An additional amount of time which is added to the display time for a line of dialogue. |
Option Settings
Setting | Description |
---|---|
Present Options Automatically | Whether options should be presented automatically to the player. If this is false, options won't be shown until the player continues. |
Option Delay Mode | Determines how long the display should wait before presenting options to the player when presenting options automatically. This can be set to present options immediately when the last line of dialogue is reached in a conversation node, or to present options after a delay or after audio for the prior line of dialogue has been completed, or a combination of those. |
Option Delay | When options are to be presented after a delay, this specifies the time period which the Dialogue Display will wait before displaying options. |
Continuation Settings
Setting | Description |
---|---|
Use Continue Display | Whether the continue display should be used to alert the player that they may continue to the next line of dialogue. |
Continuation Mode | Specifies when the player is allowed to continue to the next line of dialogue. This can be set to allow continuation immediately, or to wait for a delay or audio on the current line of dialogue to finish playing, or a combination of both. |
Continuation Delay | When continuation is to be allowed after a delay, this is used to specify the duration of that delay before allowing continuation on each line of dialogue. |
Dialogue Listeners
Dialogue Listeners which will be called as events occur during dialogue playback and display events.
Display Events
Event Name | Description |
---|---|
On Continue Enabled | Called whenever the player is allowed to continue to the next line of dialogue by pressing a button. |
On Continue Disabled | Called whenever continuation to the next line of dialogue is disabled. |
On Option Selection Enabled | Called whenever options are presented and the player is permitted to make a selection. |
On Option Selection Disabled | Called after an option has been chosen by the player and options can no longer be selected. |
Dialogue Events
Event Name | Description |
---|---|
On Continue | Called whenever dialogue playback continues to the next line of dialogue, or in some cases, the next node. |
On Display Options | Called whenever dialogue options are to be presented to the player. |
On Option Chosen | Called whenever a dialogue option has been chosen/finalized. |
On Display Line | Called whenever a line of dialogue is to be displayed. |
On Dialogue Entered | Called whenever dialogue playback begins. |
On Dialogue Exited | Called whenever dialogue playback ends. |
On Exit Completed | Called one frame after dialogue playback ends. |
On Story | Called whenever a story node is encountered during dialogue playback. |
On Variable Updated | Called whenever a dialogue variable's value is changed. |
On Character Changed | Called whenever a character change is detected. |
On Audio Started | Called whenever audio playback starts for a line of dialogue. |
On Audio Completed | Called whenever audio playback stops or finishes for a line of dialogue. |
On Activate Key | Called whenever a line of dialogue is being processed. |
On Wait | Called whenever a Wait node is encountered during dialogue playback. |
On Conversation Ending | Called whenever dialogue playback reaches the last line of dialogue in a Conversation node. |
On Node Changed | Called whenever dialogue playback moves from one node to another. |
On Pause | Called whenever a Pause node is encountered during dialogue playback. |