У меня есть 3 кнопки, которые я хочу, когда я нажимаю кнопку 1, скрываю эту кнопку и показываю все кнопки с помощью PlayerPrefs, а когда я нажимаю кнопку 2, скрываю эту кнопку и показываю все кнопки с помощью PlayerPrefs, я тестирую свой код, но работаю только с кнопкой 2
void Start()
{
if (PlayerPrefs.GetInt("Button1") == 1)
{
object1.gameObject.SetActive(false);
object2.gameObject.SetActive(true);
}
else if (PlayerPrefs.GetInt("Button1") == 0)
{
object1.gameObject.SetActive(false);
object2.gameObject.SetActive(true);
}
if (PlayerPrefs.GetInt("Button2") == 1)
{
object2.gameObject.SetActive(false);
object1.gameObject.SetActive(true);
}
else if (PlayerPrefs.GetInt("Button2") == 0)
{
object1.gameObject.SetActive(true);
object2.gameObject.SetActive(true);
}
}
public void whenclickbutton1()
{
object2.gameObject.SetActive(true);
PlayerPrefs.SetInt("Button1", 1); PlayerPrefs.SetInt("Button2", 0);
PlayerPrefs.Save();
}
public void whenclickbutton2()
{
object1.gameObject.SetActive(true);
PlayerPrefs.SetInt("Button2", 1); PlayerPrefs.SetInt("Button1", 0);
PlayerPrefs.Save();
}
когда я помещаю условие в обновление, первая кнопка не может скрыться, когда я нажимаю





Итак, вы хотите скрыть нажатую кнопку и показать остальное? Тогда будет работать только 1 playerpref, содержащий скрытую кнопку?
void Start()
{
HideAndShowButtons();
}
void HideAndShowButtons()
{
object1.gameObject.SetActive(PlayerPrefs.GetInt("HiddenButton") != 1);
object2.gameObject.SetActive(PlayerPrefs.GetInt("HiddenButton") != 2);
}
public void whenclickbutton1()
{
PlayerPrefs.SetInt("HiddenButton", 1);
PlayerPrefs.Save();
HideAndShowButtons();
}
public void whenclickbutton2()
{
PlayerPrefs.SetInt("HiddenButton", 2);
PlayerPrefs.Save();
HideAndShowButtons();
}
Вы должны поместить условные функции в Update ()