04:09更新フォローするPhoton運営事務局です。ご無沙汰しております。ルームの作成はユーザーが任意で行えるようにし、リストはロビーで公開するが、実際のルームへの入室は招待者のみとしたい場合があるかと思います。その実現方法について、ご案内いたします。方法はいくつかありますが、ここでは2つご説明します。基本的な考え方ルームを作成する際、ルーム名をシステムで一意になるよう決めたキーと前や後に招待者のみが知るパスワードを付加する方法があります。後にパスワードを付加するとすると、ルーム名は(キー)+”_”+(パスワード)という形になります。“_”以降のパスワード部分は取り除いてしまい、リスト上は見えないようにしてしまいます。リストから選択されたルームに入室する際、パスワードを入力してもらい、(リスト上で取得したルーム名からパスワードを除いたもの(=キー))+”_”+(入力されたパスワード)というルーム名で入室を試み、パスワードが一致すると入室が完了します。パスワードが一致しないと、ルームが見つからないということで、入室に失敗することとなります。使用する機能は非常にシンプルな形となります。実際の値を使った例ここでは、キーの部分をユーザーのID(数値)、パスワードを数値4桁とします。ユーザーID:1010のユーザーがパスワード1234でルームを作成する場合、1010_1234というルーム名でルームを作成します。ルームリストを取得する場合、1010_12341105_24681530_9876...といった形でルームリストが取得できます。ルーム名の_以降の部分はまず削除します。101011051530このままIDを表示しても他のユーザーはわからないので、プレイヤー名に変換して表示します。Photon太郎Realtime野郎Server花子なお、ID->プレイヤー名の変換は、ご自身のDBを参照するのでもいいですが、2で説明するルームのカスタムプロパティを利用すると楽でしょう。カスタムプロパティの詳細は後ほどご説明します。入室するユーザーはこのリストから選択し、選択後パスワードを入力してもらいます。入力してもらったパスワードを付加して、入室を試みます。最初のルームでパスワードを1235と入力してもらった場合、1010_1235という名前で入室を試みます。この場合、ルーム名がマッチせずルームが見つからないということになるので、エラーとなり入室が失敗します。パスワードを正しく1234と入力してもらった場合、1010_1234という名前で入室を試みます。この場合はルーム名がマッチするので、入室に成功します。実際のコード例を示します。ルーム作成ルーム作成は、ルーム名だけ工夫すればOKですが、一覧で表示する際の表示名をカスタムプロパティに設定するようにしています。PUNでの例は下記になります。SDK(C#)の例は下記になります。基本的にはPUNと同様ですし、他の言語でもほぼ同様です。ここではclientインスタンスの生成に関しては省略しています。こちらは別の機会にご紹介します。入室も作成と同様にルーム名の部分だけ工夫すればOKです。SDK(C#)こちらもコールバック部分についてはそれだけで分量が多くなるため省略しています。こちらも別途ご紹介します。基本的な考え方もう一つの方法として、ルームのカスタムプロパティを利用する方法があります。ランダムマッチメイキングではカスタムプロパティを指定することが可能なので、それを利用します。カスタムプロパティはハッシュテーブル形式となっています。ランダムマッチメイキングする際に、ルーム名はマッチメイキングに使用できませんので、ルーム名と別に設定します。実際の値を使った例ここでは、ルーム名を1.と同様、ユーザーID(整数値)としていますが、一意となるキーであれば何でもかまいません。表示名)なお、ルームのカスタムプロパティをロビーから見えるようにするためには、ルーム作成時にロビーで見えるよう指定する必要があります。パラメータでロビーに見せたいカスタムプロパティのキーを指定します。1.の場合で表示名をカスタムプロパティで設定すると楽と書きましたが、ここで言うdisplaynameのみ設定して、ロビーで見えるようにするということです。入室する際は、ランダムマッチメイキングを使いますが、カスタムプロパティを指定することにより、実質的にルームを指定して入室する形となります。パスワード)上記に一致するルームをランダムマッチメイキングで入室するようにします。実質的なルーム名もカスタムプロパティで指定しているので、パスワードが一致すれば入室成功、一致しなければ失敗という形になります。コード例ルーム作成ルーム作成時にカスタムプロパティとして設定する部分が重要となります。ロビーで利用できるようにする部分も注目です。propsListedInLobby);ルーム入室ランダムマッチメイキング(JoinRandomRoom)を使います。その際にカスタムプロパティを指定して、実質的に一意のルームを指定する形となります。actor.NicknameについてPUNで到達保証の設定を行うPUNのPhotonViewのメッセージの送受信に関する仕様について現在利用中のCCU数はどこで確認できますか?コメント0件のコメントログインしてコメントを残してください。