v1.2.8での新機能
主な変更点:
- BoltEntityのAPI命名をアップデート
- 切断の新しい理由
- Namespaceの変更
- 動的リージョンリスト
- Boltコアパッケージ
- 名前でルームに参加
- Option to Disable the A2S Service A2Sサービスを非有効化するオプション[Bolt Pro]
すべての変更点のリストは、ここでログを確認してください。
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へ;
新しいプロパティとしてHasParentが追加されました。これは、BoltEntityに親が存在することを示します。
新しい切断理由
ピアがシャットダウンされる場合、実際にシャットダウンが発生する前に理由を把握できます。これは、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
}
}
ご覧のとおり2つのバージョンのBoltShutdownBeginが提供され、後者によって切断の理由が処理されます。既存の理由(Unknown、Timeout、Error、Disconnected)に、新たに2種類の理由が追加されました:
UdpConnectionDisconnectReason.Authentication: ピアをPhotonサーバーが認証できなかった場合に発生します。たとえば不正な、または未知のAppIDを使用している場合です。UdpConnectionDisconnectReason.MaxCCUReached: この切断理由は、ピアが使用するAppID上で許容されている最大同時接続数に達した場合に表示されます。
Namespaceの変更
以下のnamespace名が修正されました:
Bolt.photonからBolt.Photonへ;udpkit.platform.photon.photonからudpkit.platform.photonへ;
動的リージョンリスト
Boltは「ダッシュボードリージョンフィルタリング」機能に準拠するようになりました。
接続対象のリージョンとしてBest Regionを選択すると、Photonインテグレーションはピアが使用する特定のAppID向けにダッシュボード上で選択されたリージョンのみを考慮し、利用できるpingのうち最小のものをテストおよび選択します(もし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 Pro]
Bolt Settingsウィンドウに A2S Service を有効化/非有効化するオプションが追加されました。このサービスを使用するとGame Hostに関する情報を復元するのに役立ちます。