コード例 #1
0
 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));
         }
     }
 }
コード例 #2
0
        /// <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)));
                }
            }
        }
コード例 #3
0
        public void CreateWithInvitationScreen(uint minOpponents, uint maxOpponents, uint variant,
                                               Action <bool, TurnBasedMatch> callback)
        {
            callback = Callbacks.AsOnGameThreadCallback(callback);
            mTurnBasedManager.ShowPlayerSelectUI(minOpponents, maxOpponents, true, result => {
                if (result.Status() != GooglePlayGames.Native.Cwrapper.CommonErrorStatus.UIStatus.VALID)
                {
                    callback(false, null);
                }

                using (var configBuilder = TurnBasedMatchConfigBuilder.Create()) {
                    configBuilder.PopulateFromUIResponse(result);
                    using (var config = configBuilder.Build()) {
                        mTurnBasedManager.CreateMatch(config, BridgeMatchToUserCallback(callback));
                    }
                }
            });
        }