Нет кода, показывающего нам, как вы открываете окно панели.
Но один из способов добиться того, что вы хотите, - это иметь только одно окно панели, и только изменение текста зависит от предыдущего нажатия. pl anet.
Вот один пример:
public class PlanetDisplayer : MonoBehaviour
{
private bool isOn = false;
[SerializeField] private Image planetImage;
[SerializeField] private Text planetText1;
[SerializeField] private Text planetText2;
private void OnClick(Planet planet)
{
planetText1.text = planet.MainText;
planetText2.text = planet.AnotherText;
if (!isOn)
{
isOn = true;
gameObject.SetActive(true);
}
}
private void OnClose()
{
isOn = false;
gameObject.SetActive(false);
}
}
Итак, planetText
и planetImage
являются примерами, как я вижу на вашей картинке, есть некоторые тексты и Я предполагаю картинку для имени.
Вы можете прикрепить этот класс к панели GameObject
, и он будет переопределять текст при каждом щелчке. Таким образом, вам не нужно будет закрывать каждое окно панели. Существует только один.
Не забудьте связать личные текстовые переменные (и изображения, если они есть) в инспекторе.