@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 можно было закрыть, я решил просто добавить тот ж самый компонент только под другое название просто добавив ище один паблик, но это не работает, и всеравно диалог закрывается, можете помочь это пофисксить?
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 1
@zukrac
Второй IF создает условия для третьего IF.
Поэтому после IF №2 всегда и гарантированно срабатывает IF №3.

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

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

Войти через центр авторизации
Похожие вопросы