v1.2.8의 새로운 사항
주요 변경사항:
- BoltEntity API 명명 변경
- 새로운 연결 해제 원인
- Namespace 변경
- 동적 지역 목록
- Bolt 코어 패키지
- 이름으로 룸 참여
- A2S 서비스 [Bolt 프로]를 사용 불가하기 위한 옵션
변경사항의 전체 목록은, 여기 로그를 참고하세요.
BoltEntity API 명명 변경
BoltEntity
의 여러 속성들이 C# 코딩 지침을 맞추기 위해 리팩토링되었습니다. 이전의 심볼은 여전히 존재하지만, 구식 마크가 되어있으며 다음 버전에서는 제거될 예정입니다. 전체 변경 목록:
sceneGuid
에서SceneGuid
로;serializerGuid
에서SerializerGuid
로;prefabId
에서PrefabId
로;source
에서Source
로;attachToken
에서AttachToken
로;detachToken
에서DetachToken
로;controlGainedToken
에서ControlGainedToken
로;controlLostToken
에서ControlLostToken
로;networkId
에서NetworkId
로;canFreeze
에서CanFreeze
로;controller
에서Controller
로;isAttached
에서IsAttached
로;isControlled
에서IsControlled
로;isControllerOrOwner
에서IsControllerOrOwner
로;isFrozen
에서IsFrozen
로;isSceneObject
에서IsSceneObject
로;isOwner
에서IsOwner
로;hasControl
에서HasControl
로;hasControlWithPrediction
에서HasControlWithPrediction
로;persistsOnSceneLoad
에서PersistsOnSceneLoad
로;
그리고 BoltEntity
가 부모를 가지고 있다는것을 알려주는HasParent
새로운 속성이 추가되었습니다.
새로운 연결 해제 원인
피어가 셧다운 되었을 때, 셧다운이 실제로 일어나기 전에 원인을 알 수 있습니다. 이는 다음고 같이 모든 Bolt.GlobalEventListener
상의 BoltShutdownBegin
콜백을 구독함으로써 가능합니다:
C#
public class MyNetworkCallback : Bolt.GlobalEventListener
{
public override void BoltShutdownBegin(Bolt.AddCallback registerDoneCallback)
{
// Your shutdown behavior
}
public override void BoltShutdownBegin(Bolt.AddCallback registerDoneCallback, UdpKit.UdpConnectionDisconnectReason disconnectReason)
{
// Your shutdown behavior
}
}
보시다시피, 두 버전의 BoltShutdownBegin
을 제공합니다. 마지막 것은, 연결 해제 사유를 다룰 수 있는 곳입니다. 이전에 있었던 사유(알 수 없음
, 시간 초과
, 오류
, 연결 해제됨
)와 더불어 두 종류의 유형을 추가했습니다:
UdpConnectionDisconnectReason.Authentication
: 피어가 Photon 서버에 인증을 할 수 없을 때 발생합니다. 예를 들어, 잘못되었거나 알 수 없는 AppID를 사용할 때입니다.UdpConnectionDisconnectReason.MaxCCUReached
: 피어가 사용한 AppID가 최대로 허용된 동시 접속 사용자에 도달했을 때 발생합니다.
Namespace Changes
다음 namespaces 이름이 변경되었습니다:
Bolt.photon
에서Bolt.Photon
로;udpkit.platform.photon.photon
에서udpkit.platform.photon
로;
동적 지역 목록
이제 Bolt는 "관리화면 지역 필터링" 기능과 호환됩니다.
연결할 지역을 최고 지역
으로 선택했을 때, Photon 통합은 특정 관리화면에서 피어가 사용하는 AppId에 대해서 선택한 지역만을 고려하여 테스트하여 가장 낮은 핑을 가진 지역을 선택합니다(만약 비어있다면, 모든 지역이 고려됩니다).
이 기능은 더 적은 지역에서 더 많은 플레이어를 합치고 호스트와 클라이언트 간의 매칭을 늘리려는 경우에 유용합니다.
Bolt 코어 패키지
이 버전에서는, Bolt Core
패키지의 설치 필요성을 제거했습니다. 이 패키지의 모든 파일들은 메인 SDK 패키지 내로 통합되었습니다. Bolt Wizard
윈도우를 실행했을 때, 새로운 경고가 발생합니다:
이름으로 룸 참여
Bolt 1.2.8에서는, 이름을 사용하여 특정 세션/룸에 참여할 수 있습니다. 아래에서 보인 것과 같이, 클라이언트에서 연결할 때 PhotonSession
인스턴스를 전달해야 할 필요가 있으나, SessionListUpdated
을 사용하여 하나를 골라 참여하기 위해 세션을 리슨하도록 제한되지 않으며, 알고 있는 룸 이름을 사용하여 새로운 세션을 만드는 것이 가능합니다.
나만의 매치매이킹 설정 또는 룸에 입장할 클라이언트들에게 다른 방법을 사용하여 알려주는 것을 구현한다면 매우 유용할 수 있습니다.
C#
// ...
public override void BoltStartDone()
{
if (BoltNetwork.IsServer)
{
BoltNetwork.SetServerInfo("mygame", null);
BoltNetwork.LoadScene("<my game scene>");
}
if (BoltNetwork.IsClient)
{
BoltNetwork.Connect(PhotonSession.Build("mygame"));
}
// ...
}
A2S 서비스 [Bolt 프로]를 사용 불가하기 위한 옵션
Bolt Settings
윈도우에서 A2S 서비스를 활성화/비활성화 하기위한 옵션이 추가되었습니다. 이 서비스는 게임 호스트에 대한 정보 복구를 하는데 사용될 수 있습니다.