Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Превью диалога #20

Open
UsmanShinobi opened this issue Sep 29, 2022 · 2 comments
Open

Превью диалога #20

UsmanShinobi opened this issue Sep 29, 2022 · 2 comments
Labels
enhancement New feature or request

Comments

@UsmanShinobi
Copy link

UsmanShinobi commented Sep 29, 2022

  1. Превью не понимает, составлен диалог для start_dialog или actor_dialog. Поскольку может быть и так, и так, то стоит сделать переключение между этими режимами отображения.

  2. У себя в проекте я раньше делал диалоги немного более хитрым способом, чем в оригинале. У меня весь диалог выстраивается через start_dialog таким образом:

  • Первая нода (которая 0) не содержит никаких условий и текстов, только ссылки на next-ноды
  • Вторая нода (их может быть 2-3) включает в себя условия, когда ветка этой ноды может или не может включиться
  • Третья нода (их может быть много) и последующие содержат тексты, условия и всё как обычно
    В игре получается так, что двиг читает ноду 0, но не выводит её текст (потому что его нет). Читает вторую ноду и её условия, но текст тоже не выводит (потому что его тут тоже нет), И наконец, он читает третью ноду, показывая её текст в диалоге по условиям, заданным во второй ноде. При этом фразой НПС оказывается как раз третья нода с текстом, и далее всё как обычно. Такая махинация позволяет динамически менять первую фразу НПС в разных условиях (карма, квест и т.п.), и всё это в рамках одного диалога. Обычным способом это не получилось бы, ведь первая (нулевая) нода может быть только одна, а вторая ноды в диалогах start_dialog принадлежит актору.

Так вот, превью тулды так не работает. Она читает все ноды по порядку, и даже если в ноде нет текста - она показывает пустую строку. По идее его можно заставить так работать, если его научить игнорировать ноды, в которых нет текста. Дойдя в дереве до первой ноды с текстом, тулза должна его выводить на экран, а все предыдущие пропускать. При этом см. пункт 1 - важно научить прогу понимать, составлен ли диалог для start_dialog или actor_dialog.

@collectioner
Copy link
Member

Я думаю, что настройку пропуска следует вынести в настройки приложения, ибо кейс хоть и логичный, но лучше иметь возможность настройки.
В остальном - согласен, постараемся реализовать в одной из будущих версий.

@collectioner collectioner added the enhancement New feature or request label Sep 30, 2022
@UsmanShinobi
Copy link
Author

Да, конечно, такая фича должна быть опциональной

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants