宴への入力を一時的に無効化する


投稿日:2023年8月14日 | 最終更新日:2023年8月14日

宴が制御している箇所へのキーボード入力などは、InputUtil.EnableInputをオンオフすることで有効・無効の切り替えが可能です。
プログラムから一時的に無効化するには次のようにプログラムを書いてください。

        //一時的に入力を無効化するサンプル
        void SampleDisableInput()
        {
            InputUtil.EnableInput = false;
        }

        //入力を有効化するサンプル
        void SampleEnableInput()
        {
            InputUtil.EnableInput = true;
        }

このフラグに連動させて、文字送り処理やページ送りへのマウス入力なども無効化したい場合、AdvUguiManagerのFilterInputUtilDisableを設定してください。

FilterのUpdateをチェックした場合は、文字送り処理も止めます。
FilterのOnInputをチェックした場合は、マウス入力による文字スキップや改ページ処理も止めます。
FilterをEveryThingにした場合、全て止めます。


Unityはマウス入力に関しては基本機能のみで制御しやすいのですが、キーボードの入力などに関してはそのままでは制御がしづらいため、宴で制御している部分に関しては、InputUtilというクラスを介して入力制御するようにしています。

一括で無効化ではなく、細かな調整が必要な場合はこちらも参考にしてください。
キーボード入力など、独自の入力処理をプログラムする
UI部分のプログラムを継承して独自にカスタムする