Окончание уровня и показ "WinScreen"
друзья. Нуждаюсь в вашей помощи. Ситуация следующая: Есть 2 игрока на 2х непересекающихся платформах. На каждой платформе есть финиш и когда ОБА игрока достигают данной точки необходимо показать окно с "Вы победили". В чем проблема: Не знаю как связать 2 точки между собой. У меня получается, что либо "WinScreen"появляется как только 1 любой игрок доберется до финиша, либо не появляется совсем. Код естественно прилагаю и рассчитываю на вашу помощь)
public GameObject Obj;
bool WinR = false;
bool WinY = false;
public GameObject WinScreen;
void OnTriggerEnter2D(Collider2D other)
{
if(other.gameObject.tag == "Player")
{
WinY = true;
Obj.SetActive (true); // галочка для подтверждения прибытия на финиш
Win();
}
if(other.gameObject.tag == "PlayerR")
{
WinR = true;
Obj.SetActive (true);
Win();
}
}
void OnTriggerExit2D(Collider2D other)
{
if(other.gameObject.tag == "Player")
{
Obj.SetActive (false);
WinY = false;
}
if(other.gameObject.tag == "PlayerR")
{
Obj.SetActive (false);
WinR = false;
}
}
void Win()
{
if (WinY == true && WinR ==true)
{
Time.timeScale = 1f;
WinScreen.SetActive(false);
}
}
Именно в этом коде "WinScreen" не появляется вообще.