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に関する情報を復元するのに役立ちます。