[Unity 5]сватовство: совпадения не видны

Мне нужна ваша помощь, пожалуйста, потому что у меня проблема со сватовством. Я пытаюсь сделать понг играбельным онлайн. Когда я использую NetworkHUD и использую Matchmaker, я могу создать совпадение, а другое приложение (пока что на том же компьютере) отсоединяет его и может присоединиться к нему. Но когда я не использую его, а использую сваху вручную, я могу создать совпадение, у меня есть ответ об успехе, я могу найти это совпадение в том же приложении, но во втором приложении я не могу найти совпадение, созданное первым приложением.

Вы можете помочь мне?

Вот две функции, в которых я создаю match :

 public void matchmaking()
     {
         nm.StartMatchMaker();
         networkMatch.ListMatches(0, 20, "", OnMatchList);
         Debug.LogError ("NBR MATCH " +matchList.Count);
         if (matchList.Count == 0)
         {
             CreateMatchRequest match = new CreateMatchRequest();
             match.name = "OrionPongRoom";
             match.size = 2;
             match.advertise = true;
             match.password = "";
             networkMatch.CreateMatch(match, OnMatchCreate);
         }
         else
             Debug.Log ("******matches found"+matchList.Count);
     }
    void OnMatchCreate(CreateMatchResponse matchResponse)
 {
     if (matchResponse.success)
     {
         Debug.LogError("Create match succeeded");
         matchCreated = true;
         MatchInfo matchInfo = new MatchInfo(matchResponse);
         Utility.SetAccessTokenForNetwork(matchResponse.networkId, new NetworkAccessToken(matchResponse.accessTokenString));
         nm.StartHost(matchInfo);
         NetworkServer.Listen(9000);
         //NetworkServer.Listen(new MatchInfo(matchResponse), 9000);
     }
     else
     {
         Debug.LogError ("Create match failed");
     }
 }

person Guillaume Courtin    schedule 08.01.2016    source источник


Ответы (1)


Вам нужно написать

     if (matchList.Count == 0)
     {
         CreateMatchRequest match = new CreateMatchRequest();
         match.name = "OrionPongRoom";
         match.size = 2;
         match.advertise = true;
         match.password = "";
         networkMatch.CreateMatch(match, OnMatchCreate);
     }
     else
         Debug.Log ("******matches found"+matchList.Count);

в методе OnMatchList.

void OnMatchList(ListMatchResponse matchList)
{
  if (matchList.Count == 0)
         {
             CreateMatchRequest match = new CreateMatchRequest();
             match.name = "OrionPongRoom";
             match.size = 2;
             match.advertise = true;
             match.password = "";
             networkMatch.CreateMatch(match, OnMatchCreate);
         }
         else
             Debug.Log ("******matches found"+matchList.Count);
}

Из-за Network Delays и т. д. сервер подбора партнеров не может отправить синхронный ответ.

person Barış Çırıka    schedule 08.01.2016