Unity 5.4에서는 매치메이킹 API를 여러 가지로 변경했습니다. API를 간소화하고 정리하는 것이 의도입니다.
이전 Unity 버전에서 매치메이킹 API를 사용한 경우 아래 나열된 클래스와 함수를 확인하고 업데이트해야 합니다.
MatchDesc 의 이름이 MatchInfoSnapshot 으로 변경되었습니다.
모든 요청 및 리스폰스 클래스가 제거되었으므로 NetworkMatch에 오버로드된 함수가 더 이상 없습니다. 대신 누락된 클래스의 손실에 맞춰 모든 함수의 파라미터 리스트를 업데이트하고 델리게이트 2개를 업데이트했습니다.
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.Networking.Match;
NetworkMatch matchMaker;
void Awake()
{
matchMaker = gameObject.AddComponent<NetworkMatch>();
}
CreateMatchRequest create = new CreateMatchRequest();
...
matchMaker.CreateMatch(create, OnMatchCreate);
또는
matchMaker.CreateMatch("roomName", 4, true, "", OnMatchCreate);
지금:
matchMaker.CreateMatch("roomName", 4, true, "", "", "", 0, 0, OnMatchCreate);
public void OnMatchCreate(CreateMatchResponse matchResponse)
{
...
}
지금:
public void OnMatchCreate(bool success, string extendedInfo, MatchInfo matchInfo)
{
...
}
ListMatchRequest list = new ListMatchRequest();
matchMaker.ListMatches(list, OnMatchList);
또는
matchMaker.ListMatches(0, 10, "", OnMatchList);
지금:
matchMaker.ListMatches(0, 10, "", true, 0, 0, OnMatchList);
public void OnMatchList(ListMatchResponse matchListResponse)
{
...
}
지금:
public void OnMatchList(bool success, string extendedInfo, List<MatchInfoSnapshot> matches)
{
...
}
JoinMatchRequest join = new JoinMatchRequest();
matchMaker.JoinMatch(join, OnMatchJoined);
또는
matchMaker.JoinMatch(match.networkId, "", OnMatchJoined);
지금:
matchMaker.JoinMatch(networkId, "" , "", "", 0, 0, OnMatchJoined);
public void OnMatchJoined(JoinMatchResponse matchJoin)
{
...
}
지금:
public void OnMatchJoined(bool success, string extendedInfo, MatchInfo matchInfo)
{
...
}
DestroyMatchRequest destroy = DestroyMatchRequest();
matchMaker.DestroyMatch(destroy, OnMatchDestroy);
또는
matchMaker.DestroyMatch(netId, OnDestroy);
지금:
matchMaker.DestroyMatch(netId, 0, OnMatchDestroy);
public void OnMatchDestroy(BasicResponse response)
{
...
}
지금:
public void OnMatchDestroy(bool success, string extendedInfo)
{
...
}
DropConnectionRequest drop = DropConnectionRequest();
matchMaker.DropConnection(drop, OnMatchDropConnection);
또는
matchMaker.DropConnection(netId, nodeId, OnMatchDropConnection);
지금:
matchMaker.DropConnection(netId, nodeId, 0, OnMatchDropConnection);
public void OnMatchDropConnection(BasicResponse response)
{
...
}
지금:
public void OnMatchDropConnection(bool success, string extendedInfo)
{
...
}