Version: 2019.1
Unity 5.4로 업그레이드
Unity 5.3으로 업그레이드

5.4 네트워킹 API 변경 사항

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>();
}

CreateMatch(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)
{
    ...
}

ListMatch(5.4 이전)

ListMatchRequest list = new ListMatchRequest();

matchMaker.ListMatches(list, OnMatchList);

또는

matchMaker.ListMatches(0, 10, "", OnMatchList);

지금:

matchMaker.ListMatches(0, 10, "", true, 0, 0, OnMatchList);

ListMatch 콜백(5.4 이전)

public void OnMatchList(ListMatchResponse matchListResponse)
{
    ...
}

지금:

public void OnMatchList(bool success, string extendedInfo, List<MatchInfoSnapshot> 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 콜백(5.4 이전)

public void OnMatchDropConnection(BasicResponse response)
{
    ...
}

지금:

public void OnMatchDropConnection(bool success, string extendedInfo)
{
    ...
}
Unity 5.4로 업그레이드
Unity 5.3으로 업그레이드