This component ties together the elements of the Dialogue System: dialogue database, dialogue UI, sequencer, and conversation controller. More...
Public Types | |
enum | WarmUpMode { On , Extra , Off } |
Public Member Functions | |
void | OnDestroy () |
void | Awake () |
Initializes the component by setting up the dialogue database and preparing the dialogue UI. | |
void | Start () |
Start by enforcing only one instance is specified. | |
void | SetLanguage (string language) |
Sets the language to use for localized text. | |
void | PreloadMasterDatabase () |
Preloads the master database. | |
void | PreloadDialogueUI () |
Preloads the dialogue UI. | |
void | PreloadResources () |
Preloads the resources used by the Dialogue System to avoid delays caused by lazy loading. | |
void | WarmUpConversationController () |
Stop and start a fake conversation to initialize things to avoid a small delay the first time a conversation starts. | |
bool | StandardGetInputButtonDown (string buttonName) |
Standard Unity Input method to check if a button is down. | |
bool | IsDialogueSystemInputDisabled () |
Returns true if Dialogue System input is disabled. | |
void | SetDialogueSystemInput (bool value) |
Enables or disables Dialogue System input. | |
void | AddDatabase (DialogueDatabase database) |
Adds a dialogue database to memory. | |
void | RemoveDatabase (DialogueDatabase database) |
Removes a dialogue database from memory. | |
void | ResetDatabase (DatabaseResetOptions databaseResetOptions) |
Resets the database to a default state. | |
void | ResetDatabase () |
Resets the database to a default state, keeping all databases loaded. | |
bool | ConversationHasValidEntry (string title, Transform actor, Transform conversant, int initialDialogueEntryID=-1) |
Checks whether a conversation has any valid entries linked from the start entry, since it's possible that the conditions of all entries could be false. | |
bool | ConversationHasValidEntry (string title, Transform actor) |
Checks whether a conversation has any valid entries linked from the start entry, since it's possible that the conditions of all entries could be false. | |
bool | ConversationHasValidEntry (string title) |
Checks whether a conversation has any valid entries linked from the start entry, since it's possible that the conditions of all entries could be false. | |
string | GetConversationTitle (int conversationID) |
Returns a conversation title given its ID, or empty string if no conversation has the ID. | |
void | StartConversation (string title, Transform actor, Transform conversant, int initialDialogueEntryID, IDialogueUI overrideDialogueUI) |
Starts a conversation, which also broadcasts an OnConversationStart message to the actor and conversant. | |
void | StartConversation (string title, Transform actor, Transform conversant, int initialDialogueEntryID) |
Starts a conversation, which also broadcasts an OnConversationStart message to the actor and conversant. | |
void | StartConversation (string title, Transform actor, Transform conversant) |
Starts a conversation, which also broadcasts an OnConversationStart message to the actor and conversant. | |
void | StartConversation (string title, Transform actor) |
Starts a conversation, which also broadcasts an OnConversationStart message to the actor. | |
void | StartConversation (string title) |
Starts the conversation with no transforms specified for the actor or conversant. | |
void | StopConversation () |
Stops the current conversation immediately, and sends an OnConversationEnd message to the actor and conversant. | |
void | StopAllConversations () |
Stops all current conversations immediately. | |
void | UpdateResponses () |
Updates the responses for the current state of the current conversation. | |
Transform | FindActorTransformFromConversation (string conversationTitle, string actorField) |
Given a conversation and an actor ID field name (Actor or Conversant), return a corresponding transform in the scene, or null if none found. | |
void | SetPortrait (string actorName, string portraitName) |
Sets an actor's portrait. | |
void | SetActorPortraitSprite (string actorName, Sprite sprite) |
This method is used internally by SetPortrait() to set the portrait image for an actor. | |
void | SetContinueMode (bool value) |
Sets continue button mode to Always (true) or Never (false). | |
void | SetContinueMode (DisplaySettings.SubtitleSettings.ContinueButtonMode mode) |
Sets continue button mode. | |
void | SetOriginalContinueMode () |
Reverts continue button mode to the previously-saved mode. | |
void | OnEndConversation (ConversationController endingConversationController) |
Handles the end conversation event. | |
void | OnConversationTimeout () |
Handles the conversation response menu timeout event. | |
void | UpdateLocalizationOnActiveConversations () |
void | Bark (string conversationTitle, Transform speaker, Transform listener, BarkHistory barkHistory) |
Causes a character to bark a line at another character. | |
void | Bark (string conversationTitle, Transform speaker, Transform listener, int entryID) |
Causes a character to bark a line at another character. | |
void | Bark (string conversationTitle, Transform speaker, Transform listener) |
Causes a character to bark a line at another character. | |
void | Bark (string conversationTitle, Transform speaker) |
Causes a character to bark a line. | |
void | Bark (string conversationTitle, Transform speaker, BarkHistory barkHistory) |
Causes a character to bark a line. | |
void | BarkString (string barkText, Transform speaker, Transform listener=null, string sequence=null) |
Causes a character to bark a literal string instead of looking up its line from a conversation. | |
float | GetBarkDuration (string barkText) |
Returns the default duration that a string of bark text will be shown. | |
void | ShowAlert (string message, float duration) |
Shows an alert message using the dialogue UI. | |
void | ShowAlert (string message) |
Shows an alert message using the dialogue UI for the UI's default duration. | |
void | CheckAlerts () |
Checks the value of Lua Variable['Alert']. | |
void | HideAlert () |
Hides the currently-displaying alert message. | |
void | HideAllAlerts () |
Hides the currently-displaying alert message and clears any pending queued alerts. | |
string | GetLocalizedText (string s) |
Gets localized text from a text table. | |
Sequencer | PlaySequence (string sequence, Transform speaker, Transform listener, bool informParticipants, bool destroyWhenDone, string entrytag) |
Starts a sequence. | |
Sequencer | PlaySequence (string sequence, Transform speaker, Transform listener, bool informParticipants, bool destroyWhenDone) |
Starts a sequence. | |
Sequencer | PlaySequence (string sequence, Transform speaker, Transform listener, bool informParticipants) |
Starts a sequence. | |
Sequencer | PlaySequence (string sequence, Transform speaker, Transform listener) |
Starts a sequence, and sends OnSequenceStart/OnSequenceEnd messages to the participants. | |
Sequencer | PlaySequence (string sequence) |
Starts a sequence. | |
void | StopSequence (Sequencer sequencer) |
Stops a sequence. | |
void | Pause () |
Pauses the Dialogue System. | |
void | Unpause () |
Unpauses the Dialogue System. | |
void | UseDialogueUI (GameObject gameObject) |
Sets the dialogue UI. | |
void | SetDialoguePanel (bool show, bool immediate=false) |
Sets the dialogue UI's main panel visible or invisible. | |
void | SendUpdateTracker () |
void | RandomizeNextEntry () |
void | AddLuaObserver (string luaExpression, LuaWatchFrequency frequency, LuaChangedDelegate luaChangedHandler) |
Adds a Lua expression observer. | |
void | RemoveLuaObserver (string luaExpression, LuaWatchFrequency frequency, LuaChangedDelegate luaChangedHandler) |
Removes a Lua expression observer. | |
void | RemoveAllObservers (LuaWatchFrequency frequency) |
Removes all Lua expression observers for a specified frequency. | |
void | RemoveAllObservers () |
Removes all Lua expression observers. | |
void | RegisterAssetBundle (AssetBundle bundle) |
Registers an asset bundle with the Dialogue System. | |
void | UnregisterAssetBundle (AssetBundle bundle) |
Unregisters an asset bundle from the Dialogue System. | |
UnityEngine.Object | LoadAsset (string name) |
Loads a named asset from the registered asset bundles or from Resources. | |
UnityEngine.Object | LoadAsset (string name, System.Type type) |
Loads a named asset from the registered asset bundles or from Resources. | |
void | LoadAsset (string name, System.Type type, AssetLoadedDelegate assetLoaded) |
Loads a named asset from the registered asset bundles, Resources, or Addressables. | |
void | UnloadAsset (object obj) |
Unloads an object previously loaded by LoadAsset. | |
void | ClearLoadedAssetHashes () |
Clears the register of loaded addressables. | |
void | UnloadAssets () |
Static Public Member Functions | |
static void | LuaShowAlert (string message) |
static void | LuaHideAlert () |
static string | Conditional (bool condition, string value) |
static void | ChangeActorName (string actorName, string newDisplayName) |
Changes an actor's Display Name. | |
static string | ActorIDToName (double id) |
static string | ItemIDToName (double id) |
Public Attributes | |
DialogueDatabase | initialDatabase = null |
The initial dialogue database. | |
DisplaySettings | displaySettings = new DisplaySettings() |
The display settings to use for the dialogue UI and sequencer. | |
PersistentDataSettings | persistentDataSettings = new PersistentDataSettings() |
Settings to apply to the PersistentDataManager. | |
bool | allowSimultaneousConversations = false |
Set true to allow more than one conversation to play simultaneously. | |
bool | interruptActiveConversations = false |
If not allowing simultaneous conversations and a conversation is active, stop it if another conversation wants to start. | |
bool | includeSimStatus = false |
Set true to include sim status for each dialogue entry. | |
bool | instantiateDatabase = true |
bool | preloadResources = true |
If true , preloads the master database and dialogue UI. | |
WarmUpMode | warmUpConversationController = WarmUpMode.On |
bool | dontHideImmediateDuringWarmup = false |
bool | dontDestroyOnLoad = true |
If true , Unity will not destroy the game object when loading a new level. | |
bool | allowOnlyOneInstance = true |
If true , new DialogueSystemController objects will destroy themselves if one already exists in the scene. | |
bool | onStartTriggerWaitForSaveDataApplied = false |
If true , Dialogue System Triggers set to OnStart should wait until save data has been applied or variables initialized. | |
DialogueTime.TimeMode | dialogueTimeMode = DialogueTime.TimeMode.Realtime |
Time mode to use for conversations. | |
DialogueDebug.DebugLevel | debugLevel = DialogueDebug.DebugLevel.Warning |
The debug level. | |
GetLocalizedTextDelegate | overrideGetLocalizedText = null |
Assign to replace the Dialogue System's built-in GetLocalizedText(). | |
Static Public Attributes | |
static bool | isWarmingUp = false |
static bool | applicationIsQuitting = false |
static string | lastInitialDatabaseName = null |
Protected Member Functions | |
void | AddDelegateForAssetBeingLoaded (string name, AssetLoadedDelegate assetLoaded) |
void | RemoveDelegatesForAssetBeingLoaded (string name) |
void | CallDelegatesForAssetBeingLoaded (string name, UnityEngine.Object asset) |
Protected Attributes | |
Dictionary< string, List< AssetLoadedDelegate > > | m_assetsBeingLoaded = new Dictionary<string, List<AssetLoadedDelegate>>() |
Properties | |
bool | isInitialized [get] |
True when this Dialogue System Controller is fully initialized. | |
DatabaseManager | databaseManager [get] |
Gets the dialogue database manager. | |
DialogueDatabase | masterDatabase [get] |
Gets the master dialogue database, which contains the initial database and any additional databases that you have added. | |
IDialogueUI | dialogueUI [get, set] |
Gets or sets the dialogue UI, which is an implementation of IDialogueUI. | |
StandardDialogueUI | standardDialogueUI [get, set] |
Convenience property that casts the dialogueUI property as a StandardDialogueUI. | |
IsDialogueEntryValidDelegate | isDialogueEntryValid [get, set] |
The IsDialogueEntryValid delegate (if one is assigned). | |
System.Action | customResponseTimeoutHandler [get, set] |
If response timeout action is set to Custom and menu times out, call this method. | |
GetInputButtonDownDelegate | getInputButtonDown [get, set] |
The GetInputButtonDown delegate. | |
bool | isConversationActive [get] |
Indicates whether a conversation is currently active. | |
bool | isAlternateConversationActive = false [get, set] |
Set true to make isConversationActive report true even if a regular conversation isn't currently active. | |
Transform | currentActor [get] |
Gets the current actor of the last conversation started if a conversation is active. | |
Transform | currentConversant [get] |
Gets the current conversant of the last conversation started if a conversation is active. | |
ConversationState | currentConversationState [get, set] |
Gets or sets the current conversation state of the last conversation that had a line. | |
string | lastConversationStarted [get] |
Gets the title of the last conversation started. | |
string | lastConversationEnded [get, set] |
int | lastConversationID [get] |
Gets the ID of the last conversation started. | |
ConversationController | conversationController [get] |
ConversationModel | conversationModel [get] |
ConversationView | conversationView [get] |
List< ActiveConversationRecord > | activeConversations [get] |
List of conversations that are currently active. | |
ActiveConversationRecord | activeConversation [get, set] |
Conversation that is currently being examined by Conditions, Scripts, OnConversationLine, etc. | |
bool | allowLuaExceptions [get, set] |
Indicates whether to allow the Lua environment to pass exceptions up to the caller. | |
bool | warnIfActorAndConversantSame [get, set] |
If true , warns if a conversation starts with the actor and conversant pointing to the same transform. | |
bool | unloadAddressablesOnSceneChange [get, set] |
Unload addressables when changing scenes. | |
Events | |
System.Action | receivedUpdateTracker = delegate { } |
Raised when the Dialogue System receives an UpdateTracker message to update the quest tracker HUD and quest log window. | |
TransformDelegate | conversationStarted = delegate { } |
Raised when a conversation starts. | |
TransformDelegate | conversationEnded = delegate { } |
Raised when a conversation ends. | |
System.Action | stoppingAllConversations = delegate { } |
Raised when StopAllConversations() is called. | |
System.Action | initializationComplete = delegate { } |
Raised when the Dialogue System has completely initialized, including loading the initial dialogue database and registering Lua functions. | |
This component ties together the elements of the Dialogue System: dialogue database, dialogue UI, sequencer, and conversation controller.
You will typically add this to a GameObject named DialogueManager in your scene. For simplified script access, you can use the DialogueManager static class.
|
inlinestatic |
|
inline |
Adds a dialogue database to memory.
To save memory or reduce load time, you may want to break up your dialogue data into multiple smaller databases. You can add or remove these databases as needed.
database | The database to add. |
|
inlineprotected |
|
inline |
Adds a Lua expression observer.
luaExpression | Lua expression to watch. |
frequency | Frequency to check the expression. |
luaChangedHandler | Delegate to call when the expression changes. This should be in the form: A static class that provides a global Lua virtual machine. Definition Lua.cs:18 Stores a Lua interpreter result (LuaValue) and provides easy conversion to basic types. Definition Lua.cs:24 |
|
inline |
Initializes the component by setting up the dialogue database and preparing the dialogue UI.
If the assigned UI is a prefab, an instance is added. If no UI is assigned, the default UI is loaded.
|
inline |
Causes a character to bark a line.
A bark is a line spoken outside of a full conversation. It uses a simple gameplay bark UI instead of the dialogue UI. Since this form of the Bark() method does not include a BarkHistory, a random bark is selected from the bark lines.
conversationTitle | Title of the conversation that contains the bark lines. In this conversation, all dialogue entries linked from the first entry are considered bark lines. |
speaker | The character barking the line. |
|
inline |
Causes a character to bark a line.
A bark is a line spoken outside of a full conversation. It uses a simple gameplay bark UI instead of the dialogue UI.
conversationTitle | Title of the conversation that contains the bark lines. In this conversation, all dialogue entries linked from the first entry are considered bark lines. |
speaker | The character barking the line. |
barkHistory | Bark history used to track the most recent bark, so the bark controller can go through the bark lines in a specified order. |
|
inline |
Causes a character to bark a line at another character.
A bark is a line spoken outside of a full conversation. It uses a simple gameplay bark UI instead of the dialogue UI. Since this form of the Bark() method does not include a BarkHistory, a random bark is selected from the bark lines.
conversationTitle | Title of the conversation that contains the bark lines. In this conversation, all dialogue entries linked from the first entry are considered bark lines. |
speaker | The character barking the line. |
listener | The character being barked at. |
|
inline |
Causes a character to bark a line at another character.
A bark is a line spoken outside of a full conversation. It uses a simple gameplay bark UI instead of the dialogue UI.
conversationTitle | Title of the conversation that contains the bark lines. In this conversation, all dialogue entries linked from the first entry are considered bark lines. |
speaker | The character barking the line. |
listener | The character being barked at. |
barkHistory | Bark history used to track the most recent bark, so the bark controller can go through the bark lines in a specified order. |
|
inline |
Causes a character to bark a line at another character.
A bark is a line spoken outside of a full conversation. It uses a simple gameplay bark UI instead of the dialogue UI.
conversationTitle | Title of the conversation that contains the bark lines. In this conversation, all dialogue entries linked from the first entry are considered bark lines. |
speaker | The character barking the line. |
listener | The character being barked at. |
entryID | Dialogue entry ID to bark. |
|
inline |
Causes a character to bark a literal string instead of looking up its line from a conversation.
barkText | The string to bark. |
speaker | The barker. |
listener | The target of the bark. (May be null) |
sequence | The optional sequence to play. (May be null or empty) |
|
inlineprotected |
|
inlinestatic |
Changes an actor's Display Name.
actorName | Actor's Name field. |
newDisplayName | New Display Name value. |
|
inline |
Checks the value of Lua Variable['Alert'].
If set, it shows the alert and clears the variable.
|
inline |
Clears the register of loaded addressables.
Typically called automatically when a scene is loaded/unloaded.
|
inlinestatic |
|
inline |
Checks whether a conversation has any valid entries linked from the start entry, since it's possible that the conditions of all entries could be false.
true
, if the conversation has a valid entry, false
otherwise. title | The title of the conversation to look up in the master database. |
|
inline |
Checks whether a conversation has any valid entries linked from the start entry, since it's possible that the conditions of all entries could be false.
true
, if the conversation has a valid entry, false
otherwise. title | The title of the conversation to look up in the master database. |
actor | The transform of the actor (primary participant). The sequencer uses this to direct camera angles and perform other actions. In PC-NPC conversations, the actor is usually the PC. |
|
inline |
Checks whether a conversation has any valid entries linked from the start entry, since it's possible that the conditions of all entries could be false.
true
, if the conversation has a valid entry, false
otherwise. title | The title of the conversation to look up in the master database. |
actor | The transform of the actor (primary participant). The sequencer uses this to direct camera angles and perform other actions. In PC-NPC conversations, the actor is usually the PC. |
conversant | The transform of the conversant (the other participant). The sequencer uses this to direct camera angles and perform other actions. In PC-NPC conversations, the conversant is usually the NPC. |
|
inline |
Given a conversation and an actor ID field name (Actor or Conversant), return a corresponding transform in the scene, or null if none found.
conversationTitle | Conversation title. |
actorField | Actor or Conversant. |
|
inline |
Returns the default duration that a string of bark text will be shown.
barkText | The text that will be barked (to determine the duration). |
|
inline |
Returns a conversation title given its ID, or empty string if no conversation has the ID.
|
inline |
Gets localized text from a text table.
s | The field to look up. |
|
inline |
Hides the currently-displaying alert message.
|
inline |
Hides the currently-displaying alert message and clears any pending queued alerts.
|
inline |
Returns true if Dialogue System input is disabled.
|
inlinestatic |
|
inline |
Loads a named asset from the registered asset bundles or from Resources.
Note: This version now also works with Addressables, and works synchronously.
null
if not found.name | Name of the asset. |
|
inline |
Loads a named asset from the registered asset bundles or from Resources.
Note: This version now also works with Addressables, and works synchronously.
null
if not found.name | Name of the asset. |
type | Type of the asset. |
|
inline |
Loads a named asset from the registered asset bundles, Resources, or Addressables.
Returns the asset in a callback delegate.
name | Name of the asset. |
type | Type of the asset |
assetLoaded | Delegate method to call when returning loaded asset, or null if not found. |
|
inlinestatic |
|
inlinestatic |
|
inline |
Handles the conversation response menu timeout event.
|
inline |
|
inline |
Handles the end conversation event.
|
inline |
Pauses the Dialogue System.
Also broadcasts OnDialogueSystemPause to the Dialogue Manager and conversation participants. Conversations, timers, typewriter and fade effects, and the AudioWait() and Voice() sequencer commands will be paused. Other than this, AudioSource, Animation, and Animator components will not be paused; it's up to you to handle them as appropriate for your project.
|
inline |
Starts a sequence.
See sequencer.
sequence | The sequence to play. |
|
inline |
Starts a sequence, and sends OnSequenceStart/OnSequenceEnd messages to the participants.
See sequencer.
sequence | The sequence to play. |
speaker | The speaker, for sequence commands that reference the speaker. |
listener | The listener, for sequence commands that reference the listener. |
|
inline |
Starts a sequence.
See sequencer.
sequence | The sequence to play. |
speaker | The speaker, for sequence commands that reference the speaker. |
listener | The listener, for sequence commands that reference the listener. |
informParticipants | Specifies whether to send OnSequenceStart and OnSequenceEnd messages to the speaker and listener. Default is true . |
|
inline |
Starts a sequence.
See sequencer.
sequence | The sequence to play. |
speaker | The speaker, for sequence commands that reference the speaker. |
listener | The listener, for sequence commands that reference the listener. |
informParticipants | Specifies whether to send OnSequenceStart and OnSequenceEnd messages to the speaker and listener. Default is true . |
destroyWhenDone | Specifies whether destroy the sequencer when done playing the sequence. Default is true . |
|
inline |
Starts a sequence.
See sequencer.
sequence | The sequence to play. |
speaker | The speaker, for sequence commands that reference the speaker. |
listener | The listener, for sequence commands that reference the listener. |
informParticipants | Specifies whether to send OnSequenceStart and OnSequenceEnd messages to the speaker and listener. Default is true . |
destroyWhenDone | Specifies whether destroy the sequencer when done playing the sequence. Default is |
entrytag | The entrytag to associate with the sequence. |
|
inline |
Preloads the dialogue UI.
The Dialogue System delays loading of the dialogue UI until the first time it's needed for a conversation or alert. Since dialogue UIs often contain textures and other art assets, loading can cause a slight pause. You may want to preload the UI at a time of your design by using this method.
|
inline |
Preloads the master database.
The Dialogue System delays loading of the dialogue database until the data is needed. This avoids potentially long delays during Start(). If you want to load the database manually (for example to run Lua commands on its contents), call this method.
|
inline |
Preloads the resources used by the Dialogue System to avoid delays caused by lazy loading.
|
inline |
|
inline |
Registers an asset bundle with the Dialogue System.
This allows sequencer commands to load assets inside it.
bundle | Asset bundle. |
|
inline |
Removes all Lua expression observers.
|
inline |
Removes all Lua expression observers for a specified frequency.
frequency | Frequency. |
|
inline |
Removes a dialogue database from memory.
To save memory or reduce load time, you may want to break up your dialogue data into multiple smaller databases. You can add or remove these databases as needed.
database | The database to remove. |
|
inlineprotected |
|
inline |
Removes a Lua expression observer.
To be removed, the expression, frequency, and notification delegate must all match.
luaExpression | Lua expression being watched. |
frequency | Frequency that the expression is being watched. |
luaChangedHandler | Delegate that's called when the expression changes. |
|
inline |
Resets the database to a default state, keeping all databases loaded.
|
inline |
Resets the database to a default state.
databaseResetOptions | Accepts the following values:
|
|
inline |
|
inline |
This method is used internally by SetPortrait() to set the portrait image for an actor.
actorName | Actor name. |
sprite | Portrait sprite. |
|
inline |
Sets continue button mode to Always (true) or Never (false).
Before changing, records current mode so you can use SetOriginalContinueMode() to revert the setting.
|
inline |
Sets continue button mode.
Before changing, records current mode so you can use SetOriginalContinueMode() to revert the setting.
|
inline |
Sets the dialogue UI's main panel visible or invisible.
show | If true, show (or re-show) the panel; if false, hide it. |
immediate | If true, skip animation and change immediately. |
|
inline |
Enables or disables Dialogue System input.
value | True to enable, false to disable. |
|
inline |
Sets the language to use for localized text.
language | Language to use. Specify null or an emtpy string to use the default language. |
|
inline |
Reverts continue button mode to the previously-saved mode.
|
inline |
Sets an actor's portrait.
If can be:
null
to use the primary portrait defined in the database,actorName | Actor name. |
portraitName | Portrait name. |
|
inline |
Shows an alert message using the dialogue UI for the UI's default duration.
message | The message to show. |
|
inline |
Shows an alert message using the dialogue UI.
message | The message to show. |
duration | The duration in seconds to show the message. |
|
inline |
Standard Unity Input method to check if a button is down.
buttonName |
|
inline |
Start by enforcing only one instance is specified.
Then start monitoring alerts.
|
inline |
Starts the conversation with no transforms specified for the actor or conversant.
title | The title of the conversation to look up in the master database. |
|
inline |
Starts a conversation, which also broadcasts an OnConversationStart message to the actor.
Your scripts can listen for OnConversationStart to do anything necessary at the beginning of a conversation, such as pausing other gameplay or temporarily disabling player control. See the Feature Demo scene, which uses the SetEnabledOnDialogueEvent component to disable player control during conversations.
title | The title of the conversation to look up in the master database. |
actor | The transform of the actor (primary participant). The sequencer uses this to direct camera angles and perform other actions. In PC-NPC conversations, the actor is usually the PC. |
|
inline |
Starts a conversation, which also broadcasts an OnConversationStart message to the actor and conversant.
Your scripts can listen for OnConversationStart to do anything necessary at the beginning of a conversation, such as pausing other gameplay or temporarily disabling player control. See the Feature Demo scene, which uses the SetEnabledOnDialogueEvent component to disable player control during conversations.
title | The title of the conversation to look up in the master database. |
actor | The transform of the actor (primary participant). The sequencer uses this to direct camera angles and perform other actions. In PC-NPC conversations, the actor is usually the PC. |
conversant | The transform of the conversant (the other participant). The sequencer uses this to direct camera angles and perform other actions. In PC-NPC conversations, the conversant is usually the NPC. |
Example:
|
inline |
Starts a conversation, which also broadcasts an OnConversationStart message to the actor and conversant.
Your scripts can listen for OnConversationStart to do anything necessary at the beginning of a conversation, such as pausing other gameplay or temporarily disabling player control. See the Feature Demo scene, which uses the SetEnabledOnDialogueEvent component to disable player control during conversations.
title | The title of the conversation to look up in the master database. |
actor | The transform of the actor (primary participant). The sequencer uses this to direct camera angles and perform other actions. In PC-NPC conversations, the actor is usually the PC. |
conversant | The transform of the conversant (the other participant). The sequencer uses this to direct camera angles and perform other actions. In PC-NPC conversations, the conversant is usually the NPC. |
initialDialogueEntryID | The initial dialogue entry ID, or -1 to start from the beginning. |
Example:
|
inline |
Starts a conversation, which also broadcasts an OnConversationStart message to the actor and conversant.
Your scripts can listen for OnConversationStart to do anything necessary at the beginning of a conversation, such as pausing other gameplay or temporarily disabling player control. See the Feature Demo scene, which uses the SetEnabledOnDialogueEvent component to disable player control during conversations.
title | The title of the conversation to look up in the master database. |
actor | The transform of the actor (primary participant). The sequencer uses this to direct camera angles and perform other actions. In PC-NPC conversations, the actor is usually the PC. |
conversant | The transform of the conversant (the other participant). The sequencer uses this to direct camera angles and perform other actions. In PC-NPC conversations, the conversant is usually the NPC. |
initialDialogueEntryID | The initial dialogue entry ID, or -1 to start from the beginning. |
overrideDialogueUI | Dialogue UI to use instead of default dialogue UI. |
Example:
|
inline |
Stops all current conversations immediately.
|
inline |
Stops the current conversation immediately, and sends an OnConversationEnd message to the actor and conversant.
Your scripts can listen for OnConversationEnd to do anything necessary at the end of a conversation, such as resuming other gameplay or re-enabling player control.
|
inline |
Stops a sequence.
sequencer | The sequencer playing the sequence. |
|
inline |
Unloads an object previously loaded by LoadAsset.
Only unloads if using addressables.
|
inline |
|
inline |
Unpauses the Dialogue System.
Also broadcasts OnDialogueSystemUnpause to the Dialogue Manager and conversation participants.
|
inline |
Unregisters an asset bundle from the Dialogue System.
Always unregister asset bundles before freeing them.
bundle | Asset bundle. |
|
inline |
|
inline |
Updates the responses for the current state of the current conversation.
If the response menu entries' conditions have changed while the response menu is being shown, you can call this method to update the response menu.
|
inline |
Sets the dialogue UI.
(Deprecated; just set DialogueUI now.)
gameObject | Game object containing an implementation of IDialogueUI. |
|
inline |
Stop and start a fake conversation to initialize things to avoid a small delay the first time a conversation starts.
bool PixelCrushers.DialogueSystem.DialogueSystemController.allowOnlyOneInstance = true |
If true
, new DialogueSystemController objects will destroy themselves if one already exists in the scene.
Otherwise, if you reload a level and dontDestroyOnLoad is true, you'll end up with a second object.
bool PixelCrushers.DialogueSystem.DialogueSystemController.allowSimultaneousConversations = false |
Set true
to allow more than one conversation to play simultaneously.
|
static |
DialogueDebug.DebugLevel PixelCrushers.DialogueSystem.DialogueSystemController.debugLevel = DialogueDebug.DebugLevel.Warning |
The debug level.
Information at this level or higher is logged to the console. This can be helpful when tracing through conversations.
DialogueTime.TimeMode PixelCrushers.DialogueSystem.DialogueSystemController.dialogueTimeMode = DialogueTime.TimeMode.Realtime |
Time mode to use for conversations.
DisplaySettings PixelCrushers.DialogueSystem.DialogueSystemController.displaySettings = new DisplaySettings() |
The display settings to use for the dialogue UI and sequencer.
bool PixelCrushers.DialogueSystem.DialogueSystemController.dontDestroyOnLoad = true |
If true
, Unity will not destroy the game object when loading a new level.
bool PixelCrushers.DialogueSystem.DialogueSystemController.dontHideImmediateDuringWarmup = false |
bool PixelCrushers.DialogueSystem.DialogueSystemController.includeSimStatus = false |
Set true
to include sim status for each dialogue entry.
DialogueDatabase PixelCrushers.DialogueSystem.DialogueSystemController.initialDatabase = null |
The initial dialogue database.
bool PixelCrushers.DialogueSystem.DialogueSystemController.instantiateDatabase = true |
bool PixelCrushers.DialogueSystem.DialogueSystemController.interruptActiveConversations = false |
If not allowing simultaneous conversations and a conversation is active, stop it if another conversation wants to start.
|
static |
|
static |
|
protected |
bool PixelCrushers.DialogueSystem.DialogueSystemController.onStartTriggerWaitForSaveDataApplied = false |
If true
, Dialogue System Triggers set to OnStart should wait until save data has been applied or variables initialized.
GetLocalizedTextDelegate PixelCrushers.DialogueSystem.DialogueSystemController.overrideGetLocalizedText = null |
Assign to replace the Dialogue System's built-in GetLocalizedText().
PersistentDataSettings PixelCrushers.DialogueSystem.DialogueSystemController.persistentDataSettings = new PersistentDataSettings() |
Settings to apply to the PersistentDataManager.
bool PixelCrushers.DialogueSystem.DialogueSystemController.preloadResources = true |
If true
, preloads the master database and dialogue UI.
Otherwise they're lazy- loaded only before the first time they're needed.
WarmUpMode PixelCrushers.DialogueSystem.DialogueSystemController.warmUpConversationController = WarmUpMode.On |
|
getset |
Conversation that is currently being examined by Conditions, Scripts, OnConversationLine, etc.
|
get |
List of conversations that are currently active.
|
getset |
Indicates whether to allow the Lua environment to pass exceptions up to the caller.
The default is false
, which allows Lua to catch exceptions and just log an error to the console.
true
to allow Lua exceptions; otherwise, false
.
|
get |
|
get |
|
get |
|
get |
Gets the current actor of the last conversation started if a conversation is active.
The current actor.
|
get |
Gets the current conversant of the last conversation started if a conversation is active.
The current conversant.
|
getset |
Gets or sets the current conversation state of the last conversation that had a line.
This is set by ConversationController as the conversation moves from state to state.
The current conversation state.
|
getset |
If response timeout action is set to Custom and menu times out, call this method.
|
get |
Gets the dialogue database manager.
The database manager.
|
getset |
Gets or sets the dialogue UI, which is an implementation of IDialogueUI.
The dialogue UI.
|
getset |
The GetInputButtonDown delegate.
Overrides calls to the standard Unity Input.GetButtonDown function.
|
getset |
Set true to make isConversationActive report true even if a regular conversation isn't currently active.
|
get |
Indicates whether a conversation is currently active.
true
if the conversation is active; otherwise, false
.
|
getset |
The IsDialogueEntryValid delegate (if one is assigned).
This is an optional delegate that you can add to check if a dialogue entry is valid before allowing a conversation to use it.
|
get |
True when this Dialogue System Controller is fully initialized.
|
getset |
|
get |
Gets the ID of the last conversation started.
|
get |
Gets the title of the last conversation started.
If a conversation is active, this is the title of the active conversation.
The title of the last conversation started.
|
get |
Gets the master dialogue database, which contains the initial database and any additional databases that you have added.
The master database.
|
getset |
Convenience property that casts the dialogueUI property as a StandardDialogueUI.
If the dialogueUI is not a StandardDialogueUI, returns null.
|
getset |
Unload addressables when changing scenes.
Some sequencer commands such as Audio() do not unload their addressables, so this cleans them up.
|
getset |
If true
, warns if a conversation starts with the actor and conversant pointing to the same transform.
Default is false
.
true
to warn when actor and conversant are the same; otherwise, false
.
TransformDelegate PixelCrushers.DialogueSystem.DialogueSystemController.conversationEnded = delegate { } |
Raised when a conversation ends.
Parameter is primary actor.
TransformDelegate PixelCrushers.DialogueSystem.DialogueSystemController.conversationStarted = delegate { } |
Raised when a conversation starts.
Parameter is primary actor.
System.Action PixelCrushers.DialogueSystem.DialogueSystemController.initializationComplete = delegate { } |
Raised when the Dialogue System has completely initialized, including loading the initial dialogue database and registering Lua functions.
System.Action PixelCrushers.DialogueSystem.DialogueSystemController.receivedUpdateTracker = delegate { } |
Raised when the Dialogue System receives an UpdateTracker message to update the quest tracker HUD and quest log window.
System.Action PixelCrushers.DialogueSystem.DialogueSystemController.stoppingAllConversations = delegate { } |
Raised when StopAllConversations() is called.