К содержимому

SusDialogueBox

SusDialogueBox

Диалоговая молекула — speaker, портрет, reveal через SusTextFx (Instant/PerChar/Vertex), choices и UI-cue; граф диалога у игры, представление — у kit.

Пакет

SusKit · Молекулы (коммерческий)

Открыть в песочнице

SusKit · Molecules

Свойства

ИмяТипПо умолчанию
RevealProp<string>"Instant"
CharsPerSecondProp<float>30f
AutoAdvanceSecondsProp<float>0f
BlipMinIntervalMsProp<float>45f

Слоты

Слотов нет.

События

ИмяПолеPayload
AdvanceOnAdvance
ChoiceOnChoicestring
CompletedOnCompleted

Хуки стиля

Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:

  • sus-dialogue-box
  • sus-dialogue-box__body
  • sus-dialogue-box__choice
  • sus-dialogue-box__choices
  • sus-dialogue-box__choices--empty
  • sus-dialogue-box__chrome
  • sus-dialogue-box__continue
  • sus-dialogue-box__continue--hidden
  • sus-dialogue-box__continue-hint
  • sus-dialogue-box__header
  • sus-dialogue-box__portrait
  • sus-dialogue-box__portrait--empty
  • sus-dialogue-box__speaker
  • sus-dialogue-box__speaker--empty
  • sus-dialogue-box__text
  • sus-dialogue-box--hidden

Использование

Только представление — строки подаёт ваш граф диалога. Reveal идёт через SusTextFx.Reveal01 (без второго тикера). Cue Open/Close/Confirm — через UI-audio профиль; поглифные blip — PlayCustom("dialogue.blip").

csharp
var box = new SusDialogueBox();
box.Reveal.Value = "PerChar"; // Instant | PerChar | Vertex
box.CharsPerSecond.Value = 30f;
box.Show(new SusDialogueLine(
    "Captain",
    "We jump in <wave>three</wave>…",
    portrait: null,
    choices: new[]
    {
        new SusDialogueChoice("go", "Jump now"),
        new SusDialogueChoice("wait", "Hold"),
    }));
box.OnChoice = id => { /* branch */ };
box.OnAdvance = () => { /* next line when no choices */ };
// box.Advance(); box.Skip(); box.Hide();
Prop / APIРоль
RevealInstant / PerChar / Vertex
CharsPerSecondскорость reveal для PerChar/Vertex
AutoAdvanceSecondsпосле reveal ждать и вызвать Advance() (0 = только вручную)
BlipMinIntervalMsтроттлинг dialogue.blip
Show(line) / Advance() / Skip() / Hide()жизненный цикл строки
OnAdvance / OnChoice / OnCompletedхуки хоста

Заметки

  • Storybook story Dialogue Box (dialogue-box).
  • Hub shot kit-dialogue-box.png — витрина, снято в Play mode.