// Invoked on success/failure
public delegate void OnMatch(Result result, MatchResponse match);
// The data for every player returned by the matchmaking request
public struct PlayerPayload
{
public string user_id;
public string team;
public int score;
public string payload;
}
// The response of the matchmaking request
public class MatchResponse
{
public string match_id;
public PlayerPayload[] players;
public string error;
}
public static class Matchmaker
{
// Sends matchmaking request.
// region: matchmaking region, e.g. eu, us, ...
// team: team name
// payload: custom string that will be send to all other players
public static void Match(string region, string team, string payload, OnMatch callback)
// Sends a matchmaking request
// region: matchmaking region, e.g. eu, us, ...
// team: team name
// payload: custom string that will be send to all other players
// tags: custom tags to segment the player pool, e.g. "level1", "qa", etc
// friends: group the player with his friends. If any of the friends doesn't show up the request will fail
public static void Match(string region, string team, string payload, string[] tags, string[] friends, OnMatch callback)
}
Matchmaker.Match("eu", "blue", "car:volvo,rifle:glock", (res, match) => {
if (res == Result.Timeout) {
// timed out, inform the player
return
}
// match.players contain all the matched players and their data
// including the this player
}