- ヘルプセンター
- Diarkis サーバ
- Room
マッチングの結果にルームの現在の人数を追加して取得させる方法
ルームを検索させるマッチングの結果にルームごとの現在の人数を追加するには、
matching.Add の引数を使ってルームをマッチングに登録する際に一緒にそのタイミングでのルームの人数を追加することで実現可能です。
第4引数の map[string]interface{} はアプリケーション都合でカスタムなデータを挿入することができます。ここで追加されたデータはマッチングの検索結果にも追加されるので、ここでルームの人数を追加することで検索の結果にルームの人数を反映させることが可能になります。
コード例:
次のサンプルコードはルームを60秒間(TTL=60秒が最大値)の間マッチングの検索対象にルームの人数と一緒に登録するコードになります。
matchingID := "find-room-matching"
conditions := make(map[string]int)
conditions["roomType"] = 1
data := make(map[string]interface{})
// その時点でのルームの人数を追加する
data["numberOfMembers"] = len(room.GetMemberIDs(roomID))~
// TTL の最大値は 60 秒です。これ以上の間マッチングの検索対象としたい場合は matching.Add を繰り返し呼ぶ必要があります
ttl := int64(60)
// どれくらいの速度でデータを浸透させるかを指定します。ここの値は 2 以下を推奨しています。
limit := 2
matching.Add(matchingID, roomID, conditions, data, ttl, limit)