В Unity 5.4 мы внесли ряд изменений в API подбора игроков. Нашей целью было упростить и очистить API.
Если вы использовали API подбора партнеров в более ранней версии Unity, вам нужно будет проверить и обновить перечисленные ниже классы и функции.
MatchDesc был переименован в MatchInfoSnapshot.
Все классы запросов и ответов удалены, поэтому в NetworkMatch больше нет перегруженных функций. Вместо этого мы обновили список параметров всех функций, чтобы приспособиться к потере отсутствующих классов, и мы обновили 2 делегата.
Настройка
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.Networking.Match;
NetworkMatch matchMaker;
void Awake()
{
matchMaker = gameObject.AddComponent();
}
Создать соответствие (до версии 5.4)
CreateMatchRequest create = new CreateMatchRequest();
...
matchMaker.CreateMatch(create, OnMatchCreate);
Или
matchMaker.CreateMatch("roomName", 4, true, "", OnMatchCreate);
Сейчас:
matchMaker.CreateMatch("roomName", 4, true, "", "", "", 0, 0, OnMatchCreate);
Обратный вызов CreateMatch (до версии 5.4)
public void OnMatchCreate(CreateMatchResponse matchResponse)
{
...
}
Сейчас:
public void OnMatchCreate(bool success, string extendedInfo, MatchInfo matchInfo)
{
...
}
Совпадения списков (до версии 5.4)
ListMatchRequest list = new ListMatchRequest();
matchMaker.ListMatches(list, OnMatchList);
Или
matchMaker.ListMatches(0, 10, "", OnMatchList);
Сейчас:
matchMaker.ListMatches(0, 10, "", true, 0, 0, OnMatchList);
Обратный вызов ListMatches (до версии 5.4)
public void OnMatchList(ListMatchResponse matchListResponse)
{
...
}
Сейчас:
public void OnMatchList(bool success, string extendedInfo, List matches)
{
...
}
JoinMatch (до версии 5.4)
JoinMatchRequest join = new JoinMatchRequest();
matchMaker.JoinMatch(join, OnMatchJoined);
Или
matchMaker.JoinMatch(match.networkId, "", OnMatchJoined);
Сейчас:
matchMaker.JoinMatch(networkId, "" , "", "", 0, 0, OnMatchJoined);
Обратный вызов JoinMatch (до версии 5.4)
public void OnMatchJoined(JoinMatchResponse matchJoin)
{
...
}
Сейчас:
public void OnMatchJoined(bool success, string extendedInfo, MatchInfo matchInfo)
{
...
}
DestroyMatch (до версии 5.4)
DestroyMatchRequest destroy = DestroyMatchRequest();
matchMaker.DestroyMatch(destroy, OnMatchDestroy);
Или
matchMaker.DestroyMatch(netId, OnDestroy);
Сейчас:
matchMaker.DestroyMatch(netId, 0, OnMatchDestroy);
Обратный вызов DestroyMatch (до версии 5.4)
public void OnMatchDestroy(BasicResponse response)
{
...
}
Сейчас:
public void OnMatchDestroy(bool success, string extendedInfo)
{
...
}
DropConnection (до версии 5.4)
DropConnectionRequest drop = DropConnectionRequest();
matchMaker.DropConnection(drop, OnMatchDropConnection);
Или
matchMaker.DropConnection(netId, nodeId, OnMatchDropConnection);
Сейчас:
matchMaker.DropConnection(netId, nodeId, 0, OnMatchDropConnection);
DropConnection Callback (до версии 5.4)
public void OnMatchDropConnection(BasicResponse response)
{
...
}
Сейчас:
public void OnMatchDropConnection(bool success, string extendedInfo)
{
...
}