The matchmaking provides a powerful service to group players together in teams.
Coherence.Runtime.Matchmaking
The player needs to be logged in to use matchmaking.
The matchmaking module has only one method.
// Invoked on success/failurepublicdelegatevoidOnMatch(Result result,MatchResponse match);// The data for every player returned by the matchmaking requestpublicstructPlayerPayload{publicstring UserId;publicstring Team;publicint Score;publicstring Payload;}// The response of the matchmaking requestpublicclassMatchResponse{publicstring MatchId;publicPlayerPayload[] Players;publicstring Error;}publicstaticclassMatchmaker{ // Sends matchmaking request. // region: matchmaking region, e.g. eu, us, ... // team: team name // payload: custom string that will be send to all other playerspublicstaticasyncTask<MatchResponse> Match(string region,string team,string payload) // 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 async Task<MatchResponse> Match(string region, string team, string payload, string[] tags, string[] friends)
}
Example
var res =awaitMatchmaker.Match("eu","blue","car:volvo,rifle:glock");if (!string.IsNullOrEmpty(res.Error)){ // some kind of error, inform the plaeyrreturn;}// res.Players contain all the matched players and their data// including the this player