Hi,
Thanks for buying the Dialogue System!
Revolter wrote:2) Don't know how to explain but the steps to reproduce are the following:
-Add Localization template to Dialogue Entries with the name: Ru
-Create a basic dialogue and add a few translated entries
-Change Localization entry to ru
-Go to a localization entry and update the template
-Ru is still there along with ru and impossible to remove
This is a bug. Thanks for reporting it. I'll have it fixed very soon and put a patch on the customer download page. (Please PM me your Unity Asset Store invoice number if you'd like access to the page.) It'll also be in the next release on the Asset Store.
Revolter wrote:Just noticed in your code that the animation state is checked only in Layer 0. I had Dialogue animation in a second layer. Fixed it now.
Got another question now. I want to make the Responses appear 1 second before the NPC finishes its dialogue, like in Wolf Among Us (or setting min subtitles seconds to 0 only before response would be nice as well).
I would also rather skip Subtitle Reminder and just keep the Subtitle Panel on screen while the responses are shown. Didn't find an option to do that.
I'll clarify in the documentation that animation checks Layer 0. That, as well as always showing Subtitle Reminder with the response menu instead of Subtitle Panel, are some implementation decisions I made to strike a balance between flexibility and understandability. The scripts are exposed and subclassable (which I see you already did) because I figure some people may want to change the behavior.
You can assign the same panel to NPC Subtitle > Panel and Subtitle Reminder > Panel. I often set up dialogue UIs where the same elements (panel, portrait name, portrait image) are assigned to both, with the only difference being that NPC Subtitle > Line has a typewriter effect while Subtitle Reminder > Line doesn't. You can also play with the Always Visible checkboxes in both sections.
For the responses, there's a similar example on the
Dialogue System Extras page. You can download it directly here:
GoT_Style_2016-01-21.unitypackage. To keep the package small, it uses the Dialogue System's example assets. They don't fit with the subject matter of the conversation (which is copyright Telltale Games), but the point was to demonstrate how to implement a conversation like this:
Game of Thrones.
The example scene uses a Response Menu Sequence to show the response menu while typing out the last subtitle line in a monologue.
If this isn't exactly what you want, you can override your dialogue UI's ShowSubtitle and ShowResponses to show/hide the subtitle line whenever you want. (For that matter, you're certainly also free to make a copy of Script/Templates/TemplateDialogueUI.cs if you find that UnityUIDialogueUI's design decisions really don't mesh with your desired design.)
Also, you might also find this sequencer command handy. Or not. I'm just including it in case it ends up being helpful at some point.
SequencerCommandWaitEndTime.cs
Code: Select all
namespace PixelCrushers.DialogueSystem.SequencerCommands {
public class SequencerCommandWaitEndTime : SequencerCommand {
public void Start() {
Invoke("Stop", Sequencer.SubtitleEndTime + GetParameterAsFloat(0));
}
}
}
Example:
This delays the sequence by a delta from the value of {{end}}, which is a keyword that represents a duration based on the length of the subtitle and the Dialogue Manager's Subtitle Chars Per Second and Min Subtitle Seconds values. In the example above, it waits one second less than {{end}}.