Hi,
When the Dialogue System gets to a dialogue entry, it waits until the entry's
Sequence is done. When the sequence is done, the conversation progresses to the next entry.
If the
Sequence field is blank, it uses the Dialogue Manager's Default Sequence, which is initially "Delay({{end}})". The
Delay() command just delays for a duration. The special keyword "{{end}}" is a duration based on the length of the entry's Dialogue Text.
When your
Sequence field was just this:
Code: Select all
AnimatorPlay(Fullscreen, Dialogue Panel)
it told the Dialogue Panel's Animator to play the "Fullscreen" state, and then it immediately progressed to the next entry in the conversation. This probably meant that your fullscreen state flashed onscreen for one frame (or something like that) and then was immediately hidden by the next entry.
By adding the Delay({{end}}), it also waits for a duration based on the Dialogue Text, giving your Fullscreen animation time to play. After this duration has passed, it progresses to the next entry.
A lot of sequencer commands have "Wait" variants, such as
AnimatorPlayWait(). These Wait variants wait until the operation is done before ending the sequence. For example:
- Dialogue Text: "Bro, check out my parkour!"
- Sequence: AnimatorPlayWait(JumpAcrossBuilding)
In the example above, the conversation will wait until the speaker's JumpAcrossBuilding animator state has finished playing before progressing to the next entry in the conversation.