・宴のバージョン:3.12.4
・Unityのバージョン:2022.3.4.f1
・OSバージョン:Windows11
・Unityの習熟度:初心者、プログラム経験なし
お世話になります。
PauseScenarioを使って最初はシナリオジャンプ用のオブジェクトを用意しようと考えたんですが、自由に戻ることができないようなので今組み込んであるので一時的にキー入力、クリック無効にできないかと思ってやっていました。
具体的に、パネルでシナリオジャンプのアイコンを含めたのを用意してそこを押すことで各シナリオに遷移するという方式で、動作自体はできているのですが、パネルを呼び出してる間も下の画面は透過しているのでクリックやキー入力でシナリオが進行してしまう状態です。
このパネルを呼び出してる間はキー入力とクリックを一時的に無効にし、透過されている下の画面をクリックしてもシナリオが進行しないようにできないかと考えています。
SkipやAutoと言ったUIは一時的に無効化の処理はできています。
この辺りも含めてoverrideで追加してみたりしたのですが、Unity側のInput系と異なるのでしょうか?
この辺りのコードを追加し、
using UnityEngine;
public class InputControl : MonoBehaviour
{
public GameObject panelSelect; // Drag your PanelSelect GameObject here
private void Update()
{
if (panelSelect.activeSelf) // Check if PanelSelect is active
{
// Disable Enter key
if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.KeypadEnter))
{
// Do nothing or add your custom action here
}
// Disable Ctrl key
if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl))
{
// Do nothing or add your custom action here
}
// Disable ESC key
if (Input.GetKeyDown(KeyCode.Escape))
{
// Do nothing or add your custom action here
}
// Disable right-click
if (Input.GetMouseButtonDown(1))
{
// Do nothing or add your custom action here
}
// Disable mouse wheel scrolling
if (Input.mouseScrollDelta.y != 0)
{
// Do nothing or add your custom action here
}
}
}
}
Unity側のキー入力などの無効スクリプトを追加してもまだ動作してしまうような状態でした。
どのようにすれば制御できるでしょうか?
難しそうなら単純に下の画面透過を無くしたうえでパネル全面で覆ってボタン操作で制御すれば解決しそうなのですけど、レンダーテクスチャとファイルタイプがCustomの関係でサンプルプレビューで出してる画像が透過の影響を受けやすいという判断で、制御できるならと思いました。
よろしくお願いします。