Unity - Jak zablokować poszczególne UIButton po otworzeniu panelu?

0

Zrobiłem prosty program w Unity, który po kliknięciu na UIButton otwiera Panel, jednak chciałbym aby ten panel zamykał się tylko przez przycisk "X", a reszta button'ów została zablokowana. Poniżej podaję kod, który zastosowałem. Potrzebuję jakiejś funkcji/metody, która by blokowała nie chciane przyciski do czasu wyłączenia panelu.

PanelOpener.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PanelOpener : MonoBehaviour
{

public GameObject Panel;

public void OpenPanel()
{
	if(Panel != null)
	{
		bool isActive = Panel.activeSelf;
		Panel.SetActive(!isActive);
	}
	
}
}

0

Unity ma do tego flagę interactable na komponentach.

Wystarczy, że ustawisz ją na false.

#edit:

Jeśli chcesz zablokować klikanie poza popup/panel, to możesz też dać jakiś przeźroczysty obiekt, który będzie łapał raycasty z UI (i w ten sposób blokował input).

1 użytkowników online, w tym zalogowanych: 0, gości: 1