Окончание уровня и показ "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" не появляется вообще.


Ответы (0 шт):