public void CreateQuickMatch(uint minOpponents, uint maxOpponents, uint variant, ulong exclusiveBitmask, Action <bool, GooglePlayGames.BasicApi.Multiplayer.TurnBasedMatch> callback) { callback = Callbacks.AsOnGameThreadCallback <bool, GooglePlayGames.BasicApi.Multiplayer.TurnBasedMatch>(callback); using (GooglePlayGames.Native.PInvoke.TurnBasedMatchConfigBuilder matchConfigBuilder = GooglePlayGames.Native.PInvoke.TurnBasedMatchConfigBuilder.Create()) { matchConfigBuilder.SetVariant(variant).SetMinimumAutomatchingPlayers(minOpponents).SetMaximumAutomatchingPlayers(maxOpponents).SetExclusiveBitMask(exclusiveBitmask); using (GooglePlayGames.Native.PInvoke.TurnBasedMatchConfig config = matchConfigBuilder.Build()) this.mTurnBasedManager.CreateMatch(config, this.BridgeMatchToUserCallback((Action <GooglePlayGames.BasicApi.UIStatus, GooglePlayGames.BasicApi.Multiplayer.TurnBasedMatch>)((status, match) => callback(status == GooglePlayGames.BasicApi.UIStatus.Valid, match)))); } }
public void CreateWithInvitationScreen(uint minOpponents, uint maxOpponents, uint variant, Action <GooglePlayGames.BasicApi.UIStatus, GooglePlayGames.BasicApi.Multiplayer.TurnBasedMatch> callback) { callback = Callbacks.AsOnGameThreadCallback <GooglePlayGames.BasicApi.UIStatus, GooglePlayGames.BasicApi.Multiplayer.TurnBasedMatch>(callback); this.mTurnBasedManager.ShowPlayerSelectUI(minOpponents, maxOpponents, true, (Action <PlayerSelectUIResponse>)(result => { if (result.Status() != CommonErrorStatus.UIStatus.VALID) { callback((GooglePlayGames.BasicApi.UIStatus)result.Status(), (GooglePlayGames.BasicApi.Multiplayer.TurnBasedMatch)null); } using (GooglePlayGames.Native.PInvoke.TurnBasedMatchConfigBuilder matchConfigBuilder = GooglePlayGames.Native.PInvoke.TurnBasedMatchConfigBuilder.Create()) { matchConfigBuilder.PopulateFromUIResponse(result).SetVariant(variant); using (GooglePlayGames.Native.PInvoke.TurnBasedMatchConfig config = matchConfigBuilder.Build()) this.mTurnBasedManager.CreateMatch(config, this.BridgeMatchToUserCallback(callback)); } })); }
internal TurnBasedMatchConfigBuilder SetVariant(uint variant) { TurnBasedMatchConfigBuilder.TurnBasedMatchConfig_Builder_SetVariant(base.SelfPtr(), variant); return(this); }
internal TurnBasedMatchConfigBuilder SetExclusiveBitMask(ulong bitmask) { TurnBasedMatchConfigBuilder.TurnBasedMatchConfig_Builder_SetExclusiveBitMask(base.SelfPtr(), bitmask); return(this); }
internal TurnBasedMatchConfigBuilder SetMinimumAutomatchingPlayers(uint minimum) { TurnBasedMatchConfigBuilder.TurnBasedMatchConfig_Builder_SetMinimumAutomatchingPlayers(base.SelfPtr(), minimum); return(this); }
internal TurnBasedMatchConfigBuilder PopulateFromUIResponse(PlayerSelectUIResponse response) { TurnBasedMatchConfigBuilder.TurnBasedMatchConfig_Builder_PopulateFromPlayerSelectUIResponse(base.SelfPtr(), response.AsPointer()); return(this); }
internal static TurnBasedMatchConfigBuilder Create() => new TurnBasedMatchConfigBuilder(TurnBasedMatchConfigBuilder.TurnBasedMatchConfig_Builder_Construct());
protected override void CallDispose(HandleRef selfPointer) { TurnBasedMatchConfigBuilder.TurnBasedMatchConfig_Builder_Dispose(selfPointer); }
internal TurnBasedMatchConfig Build() => new TurnBasedMatchConfig(TurnBasedMatchConfigBuilder.TurnBasedMatchConfig_Builder_Create(base.SelfPtr()));
internal TurnBasedMatchConfigBuilder AddInvitedPlayer(string playerId) { TurnBasedMatchConfigBuilder.TurnBasedMatchConfig_Builder_AddPlayerToInvite(base.SelfPtr(), playerId); return(this); }