@dimoooooooooon

Как включить bool на всех объектах со скриптом?

как включить булл на всех объектах на которых висит скрипт?
типа когда выполняется действие с объектом то включается булл только на том объекте, а мне нужно чтобы включалось на всех объектах, даже хотя-бы через ссылку на объект
если что то скрипт:
{
	public bool isTriggered;
	public bool takecola;
	public bool takepespis;
	public bool takeshivchic;
	public bool takervero;
	public bool takesprute;
	public KeyCode takekc;
	public GameObject cola;
	public GameObject pespis;
	fillfridge ff;
	fillfridge fff;

	public GameObject UICursore;
	public GameObject takecolatext;
	public GameObject takepespitext;

	void Start ()
	{
		ff = cola.GetComponent<fillfridge> ();
		fff = pespis.GetComponent<fillfridge> ();
	}

	void Update ()
	{
		if (Input.GetKeyDown (takekc) && isTriggered)
		{
			if (name == "crockacolapack" && !takepespis)
			{
				takecola = true;
				if (takecola)
				{
					Destroy (cola);
					fff.enabled = false;
					Destroy (takecolatext);
					UICursore.SetActive (false);
					pespis.GetComponent<Collider> ().enabled = false;
				}
			}
			if (name == "pespispack" && !takecola)
			{
				takepespis = true;
				if (takepespis)
				{
					Destroy (pespis);
					ff.enabled = false;
					Destroy (takepespitext);
					UICursore.SetActive (false);
					cola.GetComponent<Collider> ().enabled = false;
				}
			}
		}
	}
	void OnTriggerEnter ()
	{
		isTriggered = true;
		UICursore.SetActive (true);
		if (name == "crockacolapack")
		{
			takecolatext.SetActive (true);
		}
		if (name == "pespispack")
		{
			takepespitext.SetActive (true);
		}
	}
	void OnTriggerStay ()
	{
		isTriggered = true;
		UICursore.SetActive (true);
		if (name == "crockacolapack")
		{
			takecolatext.SetActive (true);
		}
		if (name == "pespispack")
		{
			takepespitext.SetActive (true);
		}
	}
	void OnTriggerExit ()
	{
		isTriggered = false;
		UICursore.SetActive (false);
		if (name == "crockacolapack")
		{
			takecolatext.SetActive (false);
		}
		if (name == "pespispack")
		{
			takepespitext.SetActive (false);
		}
	}
}
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 2
Figma-designer
@Figma-designer
Попробуйте сделать эту переменную static
Ответ написан
@mikop980
Здравствуйте, я надеюсь вы имели ввиду что вам нужно включить ОДИН ОПРЕДЕЛЁННЫЙ bool на всех объектах с каким то скриптом. Ну могу вам помочь.
private void SetBool()
{
    Test[] script = FindObjectsOfType<Test>();

     for(int i = 0; i < script.Lenght; i++)
     {
         script[i].takecola = true;
     }
}


Test это название вашего скрипта takecola переменная которая должна быть буливой.
Ответ написан
Ваш ответ на вопрос

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

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