独自ダイアログ画面の呼び出し時、メインシナリオが進行してしまう

21 views
Skip to first unread message

ももんが

unread,
Mar 18, 2026, 10:22:40 AMMar 18
to 宴ユーザーグループ
Unity バージョン: 6000.0.32f1 (Unity 6)
宴 バージョン: 4.1.6
Unityの習熟度: 初心者。プログラムはcsを軽く触れる程度(一年目)。
いつもお世話になっております。先日の質問も誠にありがとうございました

ダイアログ系のスキップやオート機能、バックログ関係の質問です

独自で作成したダイアログをメインシナリオ中に表示した時、
スキップ機能やオート機能がそのまま起動したままになり、
マウスホールを使用してバックログが画面の裏で表示することが出来てしまいます

目標としてはメインシナリオ中にダイアログを呼んだ時は機能の停止、及びバックログ呼び出しを止めたいです

過去の似た質問
https://groups.google.com/g/utageuser/c/o7lYI-llnOA/m/ym8A4PjZAwAJ
等を見ても分からなかったため、対策方法をご教授頂けると幸いです

以上、よろしくおねがいいたします

マッドネスラボ

unread,
Mar 18, 2026, 9:25:17 PMMar 18
to 宴ユーザーグループ
InputUtil.EnableInputというのが、宴でのUI機能を有効・無効化するフラグになるので、それを使ってください。


    //独自ダイアログを開くときに呼ぶ
void OpenDialog()
{
InputUtil.EnableInput = false;
}

    //独自ダイアログを閉じるときに呼ぶ
void CloseDialog()
{
InputUtil.EnableInput = true;
}


宴の組み込みのダイアログの開閉時も基本的にはこれを使用してます。
過去の似た質問のリンク先の話は、宴の組み込みのダイアログを使用する場合の話で、すでにアップデートで適用済みなので気にしなくていいです。


2026年3月18日水曜日 23:22:40 UTC+9 ももんが:

ももんが

unread,
Mar 19, 2026, 6:56:54 AMMar 19
to 宴ユーザーグループ

ありがとうございます!無事に無効化されました!!

ただ、別の問題が発生しました。
スキップボタン起動中にダイアログを開いてから閉じるとスキップ機能が停止し、
Ctrl+spaceのスキップは機能しますがメッセージウィンドウのボタンでのスキップ機能が機能しません

こちらスキップ機能の再生について何かご存じではないでしょうか?

申し訳ございませんがよろしくお願いいたします

2026年3月19日木曜日 10:25:17 UTC+9 マッドネスラボ:

マッドネスラボ

unread,
Mar 19, 2026, 7:42:44 AMMar 19
to 宴ユーザーグループ
> スキップボタン起動中にダイアログを開いてから閉じるとスキップ機能が停止し、
デフォルトでは、シナリオを進める機能を止めているだけで、スキップフラグは解除していないです。
なので、 InputUtil.EnableInput = true; とすれば、スキップが再開すると思います。
再開しないのであれば、直接的または間接的にスキップフラグを解除する処理を呼んでいるのだと思います。

>メッセージウィンドウのボタンでのスキップ機能が機能しません
心当たりはないです。
ボタンが効かないのか、押してもスキップフラグがオンにならないのか、オンになっているのにスキップ処理がされないかだと思います。

通常のUnity開発と同じように、UI制御が意図通りになっているのかをまず確認してください。
たとえば、スキップボタンのGameObjectのButtonコンポーネントのOnClickから
UtageUguiMenuButtonsコンポーネントの、OnTapSkipを呼んでいます。

//スキップボタンが押された
public virtual void OnTapSkip(bool isOn)
{
Engine.Config.IsSkip = isOn;
}

該当箇所のプログラムに一時的にDebug・Log書いたり、IDE(VisualStudioなど)のブレークポイント機能で、意図通りの動作をしているかを確認してください。
上記のメソッドが呼ばれないなら、ボタンが押せない状態になっている可能性が高いです。
ボタンが押せているのに、プログラムが呼ばれない・または違うプログラムが呼ばれているのであれば、OnClickのイベント登録を解除してしまっているか、押してるつもりで正しいボタンを押していない可能性が高いです。
正しいプログラム(OnTapSkip)が呼ばれているなら、その後の処理でスキップフラグが無効化(再びオフにしてる)可能性が高いです。

また、上記の通りスキップのフラグはEngine.Config.IsSkip になりますので
setプロパティ
set { isSkip = value; }
上記の部分にブレークポイントをすれば、 IsSkip  のsetプロパティがいつどこから呼び出される時がわかります。



2026年3月19日木曜日 19:56:54 UTC+9 ももんが:

ももんが

unread,
Mar 24, 2026, 2:11:26 PM (11 days ago) Mar 24
to 宴ユーザーグループ
すみません、こちらは自分の方で処理のミスをしていた為に発生していました。
お手数をおかけし申し訳ございません。

また、この度のご対応もありがとうございました!

2026年3月19日木曜日 20:42:44 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages