Задать вопрос
@dimoooooooooon

Почему скрипт работает некорректно в Unity?

у меня короче есть скрипт диалога короткого
void Update ()
	{
		if (isTriggered && Input.GetKeyDown (startdialoguesecurity))
		{
			inDialogue = true;
			gotosecuritytaskend.SetActive (true);
			securityalarmdialogueobj.SetActive (true);
			securityalarmdialogue1.SetActive (true);
			MouseControll.enabled = false;
			Controll.enabled = false;
			povorot.enabled = true;
		}
		if (inDialogue && Input.GetKeyDown (continuedialoguesecurity))
		{
			securityalarmdialogue1.SetActive (false);
			securityalarmdialogue2.SetActive (true);
			inDialogue = false;
			inDialogue1 = true;
		}
		if (Input.GetKeyDown (continuedialoguesecurity) && inDialogue1)
		{
			securityalarmdialogue2copy.SetActive (false);
			triggergotosecuritydialogue.SetActive (false);
			triggersecuritydialoguewaked.SetActive (true);
			findcartask1.SetActive (true);
			sitcar.enabled = true;
			alarm.enabled = false;
			MouseControll.enabled = true;
			Controll.enabled = true;
			povorot.enabled = false;
		}
	}

и я не понимаю почему, но при неактивной переменной под названием "inDialogue1" запускается закрытие диалога, хотя я прописал чтобы при активном inDialogue1 можно было закрыть, я решил просто добавить тот ж самый компонент только под другое название просто добавив ище один паблик, но это не работает, и всеравно диалог закрывается, можете помочь это пофисксить?
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Разработчик игр на Unity с нуля
    10 месяцев
    Далее
  • Skillbox
    Middle-разработчик игр на Unity
    3 месяца
    Далее
  • GB (GeekBrains)
    Разработчик Игр на Unity
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@zukrac
Второй IF создает условия для третьего IF.
Поэтому после IF №2 всегда и гарантированно срабатывает IF №3.

Может не в этом дело, но это точно ошибка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы