ルームの検索¶
一般的に、マッチメイキング機能を備えたゲームには、プレイヤーが特定のマッチを検索して参加する機能があります。Strixはこれを、いくつかの検索機能を通じて提供します。
検索の引数¶
検索関数には、次に示す共通の引数があります。
名前 |
タイプ |
説明 |
channelId |
int |
検索を行う接続のID |
limit |
int |
返す結果の最大数 |
offset |
int |
全ての結果の中での返す結果へのオフセット |
condition |
FStrixCondition |
検索する条件(下記参照) |
order |
FStrixOrder |
結果を返す順序(下記参照) |
検索条件¶
検索結果を絞り込むために、Strixは検索する条件を含むFStrixCondition構造体を提供します。
検索条件は、Strix BP Library >Adapterカテゴリーの関数を使用して作成できます。例えばField Not Equalsという関数があります。これらはFStrixCondition構造体を返します。Create And Conditionなどの関数により複数の条件を組み合わせて、複雑なクエリを作成することもできます。
検索条件はプロパティ値に作用します。例えば、プレイヤーの最小人数を指定してルームを検索するには、ルームのmemberCountプロパティに対してField Greater Than関数を使用します。
注釈
条件は型を区別します。ルームプロパティなどのドキュメントを確認して、個々のプロパティに適切な関数を選びます。
注釈
特殊なプロパティであるpropertiesに含まれているカスタムプロパティは検索できません。検索できるのはmemberCountのような標準のプロパティですが、これにはkey1のようにカスタマイズできるものも含まれます。カスタムプロパティは、ゲームプレイや、ルームが見つかった後にのみ必要になる表示に使用します。
検索順序¶
Strixには、検索結果を返す順序を指定するためのFStrixOrder構造体があります。Create Ascending OrderおよびCreate Descending Order関数を使って、指定したプロパティについての適切な向きの順序を作成します。
検索関数¶
Strixのルーム検索関数には、Search Room、Search Joinable Room、Search Node Room、およびSearch Joinable Node Roomがあります。
ノードルーム関数はマスターサーバー上で動作します。マスターサーバーは、クラスター内の全てのルームを追跡しているため、ルームサーバーに接続する前にクエリを実行できます。これらの関数はFStrixNodeRoomInfo構造体のリストを返します。
標準の関数はルームサーバー上で動作するため、使用する前にルームサーバーに接続しておく必要があります。channelId引数で使用する接続を指定します。これらの関数はFStrixRoom構造体のリストを返します。
これらの関数のJoinable版では、ルームが満員でないという条件(memberCount < capacity)が自動的に追加されます。