public void CreateQuickMatch(uint minOpponents, uint maxOpponents, uint variant, Action <bool, TurnBasedMatch> callback) { callback = Callbacks.AsOnGameThreadCallback(callback); using (var configBuilder = TurnBasedMatchConfigBuilder.Create()) { configBuilder.SetVariant(variant); configBuilder.SetMinimumAutomatchingPlayers(minOpponents); configBuilder.SetMaximumAutomatchingPlayers(maxOpponents); using (var config = configBuilder.Build()) { mTurnBasedManager.CreateMatch(config, BridgeMatchToUserCallback(callback)); } } }
public void CreateQuickMatch(uint minOpponents, uint maxOpponents, uint variant, ulong exclusiveBitmask, Action <bool, GooglePlayGames.BasicApi.Multiplayer.TurnBasedMatch> callback) { callback = Callbacks.AsOnGameThreadCallback(callback); using (GooglePlayGames.Native.PInvoke.TurnBasedMatchConfigBuilder turnBasedMatchConfigBuilder = GooglePlayGames.Native.PInvoke.TurnBasedMatchConfigBuilder.Create()) { turnBasedMatchConfigBuilder.SetVariant(variant).SetMinimumAutomatchingPlayers(minOpponents).SetMaximumAutomatchingPlayers(maxOpponents) .SetExclusiveBitMask(exclusiveBitmask); using (GooglePlayGames.Native.PInvoke.TurnBasedMatchConfig config = turnBasedMatchConfigBuilder.Build()) { mTurnBasedManager.CreateMatch(config, BridgeMatchToUserCallback(delegate(UIStatus status, GooglePlayGames.BasicApi.Multiplayer.TurnBasedMatch match) { callback(status == UIStatus.Valid, match); })); } } }
/// <summary> /// Starts a game with randomly selected opponent(s) using exclusiveBitMask. /// No UI will be shown. /// </summary> /// <param name="minOpponents">Minimum number opponents, not counting the current /// player -- so for a 2-player game, use 1).</param> /// <param name="maxOpponents">Max opponents, not counting the current player.</param> /// <param name="variant">Variant. Use 0 for default.</param> /// <param name="exclusiveBitmask">The bitmask used to match players. The /// xor operation of all the bitmasks must be 0 to match players.</param> /// <param name="callback">Callback. Called when match setup is complete or fails. /// If it succeeds, will be called with (true, match); if it fails, will be /// called with (false, null).</param> public void CreateQuickMatch(uint minOpponents, uint maxOpponents, uint variant, ulong exclusiveBitmask, Action <bool, TurnBasedMatch> callback) { callback = Callbacks.AsOnGameThreadCallback(callback); using (var configBuilder = TurnBasedMatchConfigBuilder.Create()) { configBuilder.SetVariant(variant) .SetMinimumAutomatchingPlayers(minOpponents) .SetMaximumAutomatchingPlayers(maxOpponents) .SetExclusiveBitMask(exclusiveBitmask); using (var config = configBuilder.Build()) { mTurnBasedManager.CreateMatch(config, BridgeMatchToUserCallback( (status, match) => callback(status == UIStatus.Valid, match))); } } }