> スキップボタン起動中にダイアログを開いてから閉じるとスキップ機能が停止し、
デフォルトでは、シナリオを進める機能を止めているだけで、スキップフラグは解除していないです。
なので、 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 ももんが: