GKMatchRequest
A GKMatchRequest
объект используется для указания параметров для нового живого или основанного на повороте соответствия. Вы инициализируете объект запроса соответствия, затем передаете его другому объекту фактически создать соответствие. Вид объекта, которому Вы передаете его, зависит, на котором виде соответствия Вы хотите и хотите ли Вы вывести на экран стандарт matchmaking пользовательский интерфейс. Посмотрите Таблицу 1.
Оператор импорта
Swift
import GameKit
Objective C
@import GameKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает максимальное количество проигрывателей, позволенных в запросе соответствия на данный тип соответствия.
Объявление
Swift
class func maxPlayersAllowedForMatchOfType(_
matchType
: GKMatchType) -> IntObjective C
+ (NSUInteger)maxPlayersAllowedForMatchOfType:(GKMatchType)
matchType
Параметры
matchType
Вид соответствия. Посмотрите Тип Соответствия.
Возвращаемое значение
Максимальное количество позволенных проигрывателей для того типа соответствия.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.9 и позже.
-
maxPlayers maxPlayers
СвойствоМаксимальное количество проигрывателей, которые могут присоединиться к соответствию.
Обсуждение
Максимальное количество проигрывателей должно быть равным или больше, чем минимальное число игроков. Максимальное количество проигрывателей может быть не больше, чем значением, возвращенным
maxPlayersAllowedForMatchOfType:
метод для вида соответствия Вы планируете создать.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.8 и позже.
-
minPlayers minPlayers
СвойствоМинимальное число игроков, которое может присоединиться к соответствию.
Обсуждение
Минимальное число игроков должно быть по крайней мере 2.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.8 и позже.
-
Число игроков по умолчанию для соответствия.
Объявление
Swift
var defaultNumberOfPlayers: Int
Objective C
@property(assign) NSUInteger defaultNumberOfPlayers
Обсуждение
Если это свойство не установлено, то число игроков по умолчанию равно значению, сохраненному в
maxPlayers
свойство. Число игроков по умолчанию определяет число приглашенных, показанных в стандарте matchmaking пользовательский интерфейс. Проигрыватель может принять решение переопределить это, чтобы добавить или удалить слоты.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.8 и позже.
-
inviteMessage inviteMessage
СвойствоСтрока, выведенная на экран на устройстве другого проигрывателя, когда приглашено для присоединения к соответствию.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.8 и позже.
-
playerGroup playerGroup
СвойствоЧисло, идентифицирующее подмножество проигрывателей, позволило присоединяться к соответствию.
Обсуждение
Если Ваша игра устанавливает
playerGroup
свойство, только проигрыватели, запросы которых совместно используют то жеplayerGroup
значение является автосоответствующим Игровым Центром. Значение группы проигрывателя произвольно. Например, Вы могли определить отличающийсяplayerGroup
значения для реализации любого из следующих фильтров:Игра могла ограничить проигрыватели на основе уровня квалификации.
Игра, обеспечивающая многократные игровые режимы, могла использовать его для фильтрации проигрывателей в определенную игру, в которую они хотят играть.
Игра, обеспечивающая содержание бонуса посредством закупки в приложении, могла соответствовать проигрыватели, кому принадлежит то же содержание друг с другом.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.8 и позже.
-
playerAttributes playerAttributes
СвойствоМаска, указывающая роль, которую местный игрок хотел бы играть в игре.
Объявление
Swift
var playerAttributes: UInt32
Objective C
@property(assign) uint32_t playerAttributes
Обсуждение
Если это значение
0xFFFFFFFF
(значение по умолчанию), это свойство проигнорировано. Если значение является ненулевым, то, автосоответствуя использованию значение, поскольку маска, ограничивающая роль проигрыватель, может играть в группе. Автосоответствие атрибутам проигрывателя соответствует новые проигрыватели в игру так, чтобы битовое «ИЛИ» масок всех проигрывателей в получающемся соответствии равнялось0xFFFFFFFF
.Для получения дополнительной информации см. Игровое Руководство по программированию Центра.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.8 и позже.
-
Список идентификаторов проигрывателя для проигрывателей для приглашения в соответствие.
Объявление
Swift
var playersToInvite: [AnyObject]!
Objective C
@property(retain) NSArray *playersToInvite
Обсуждение
Свойство содержит массив
NSString
объекты, каждый из которых является идентификатором для проигрывателя на Игровом Центре. Если значение свойства не -nil
, при использовании запроса для создания соответствия, Игровой Центр приглашает те проигрыватели в соответствие. Никакое автосоответствие не сделано иGKMatchRequest
maxPlayers
иminPlayers
свойства проигнорированы. Еслиnil
(значение по умолчанию), никакие проигрыватели не приглашены. Точное поведение для matchmaking зависит от вида создаваемого соответствия, и класс раньше создавал соответствие. Для получения дополнительной информации см. Игровое Руководство по программированию Центра.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.8 и позже.
Осуждаемый в OS X v10.10.
-
получатели получатели
СвойствоСписок идентификаторов проигрывателя для проигрывателей для приглашения в соответствие.
Обсуждение
Свойство содержит массив
GKPlayer
объекты, каждый из которых содержит идентификатор для проигрывателя на Игровом Центре. Если значение свойства не -nil
, при использовании запроса для создания соответствия, Игровой Центр приглашает те проигрыватели в соответствие. Никакое автосоответствие не сделано иGKMatchRequest
maxPlayers
иminPlayers
свойства проигнорированы. Еслиnil
(значение по умолчанию), никакие проигрыватели не приглашены. Точное поведение для matchmaking зависит от вида создаваемого соответствия, и класс раньше создавал соответствие. Для получения дополнительной информации см. Игровое Руководство по программированию Центра.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.10 и позже.
-
Блок, который вызовут, когда ответ от приглашенного проигрывателя возвращается к Вашей игре.
Объявление
Swift
var recipientResponseHandler: ((GKPlayer!, GKInviteRecipientResponse) -> Void)!
Objective C
@property(copy) void (^recipientResponseHandler)( GKPlayer *player, GKInviteRecipientResponse response)
Обсуждение
Блок берет следующие параметры:
player
GKPlayer
объект связался с приглашенным проигрывателем.GKInviteeRecipientResponse
Природа ответа. Посмотрите Ответы Приглашенного.
Обработчик ответа приглашенного вызывают каждый раз, когда Вы программно приглашаете определенные проигрыватели присоединяться к соответствию. Это вызывают один раз для каждого проигрывателя, приглашенного в соответствие. Как правило, Ваша игра использует ответы для обновления настроенного пользовательского интерфейса. Например, Вы хотите, чтобы проигрыватель был в состоянии выполнить любую из следующих задач:
Начните матч.
Пригласите дополнительный набор определенных проигрывателей.
Используйте matchmaking для заполнения остающихся слотов соответствия.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.10 и позже.
-
Блок, который вызовут, когда ответ от приглашенного проигрывателя возвращается к Вашей игре.
Объявление
Swift
var inviteeResponseHandler: ((String!, GKInviteeResponse) -> Void)!
Objective C
@property(copy) void (^inviteeResponseHandler)( NSString *playerID, GKInviteeResponse response)
Обсуждение
Блок берет следующие параметры:
playerID
Идентификатор для проигрывателя.
GKInviteeResponse
Природа ответа. Посмотрите Ответы Приглашенного (Осуждаемый в iOS 8).
Обработчик ответа приглашенного вызывают каждый раз, когда Вы программно приглашаете определенные проигрыватели присоединяться к соответствию. Это вызывают один раз для каждого проигрывателя, приглашенного в соответствие. Как правило, Ваша игра использует ответы для обновления настроенного пользовательского интерфейса. Например, Вы хотите, чтобы проигрыватель был в состоянии выполнить любую из следующих задач:
Начните матч.
Пригласите дополнительный набор определенных проигрывателей.
Используйте matchmaking для заполнения остающихся слотов соответствия.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.9 и позже.
Осуждаемый в OS X v10.10.
-
Вид создаваемого соответствия.
Объявление
Swift
enum GKMatchType : UInt { case PeerToPeer case Hosted case TurnBased }
Objective C
enum { GKMatchTypePeerToPeer, GKMatchTypeHosted, GKMatchTypeTurnBased }; typedef NSUInteger GKMatchType;
Константы
-
PeerToPeer
GKMatchTypePeerToPeer
Одноранговое соответствие размещается Игровым Центром. Это представлено a
GKMatch
объект.Доступный в OS X v10.8 и позже.
-
Hosted
GKMatchTypeHosted
Соответствие размещается на Вашем частном сервере.
Доступный в OS X v10.8 и позже.
-
TurnBased
GKMatchTypeTurnBased
Основанное на повороте соответствие размещается Игровым Центром. Это представлено a
GKTurnBasedMatch
объект.Доступный в OS X v10.8 и позже.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.8 и позже.
-
-
Возможные ответы от приглашения до удаленного проигрывателя.
Объявление
Swift
enum GKInviteRecipientResponse : Int { case InviteRecipientResponseAccepted case InviteRecipientResponseDeclined case InviteRecipientResponseFailed case InviteRecipientResponseIncompatible case InviteRecipientResponseUnableToConnect case InviteRecipientResponseNoAnswer }
Objective C
enum { GKInviteRecipientResponseAccepted = 0, GKInviteRecipientResponseDeclined = 1, GKInviteRecipientResponseFailed = 2, GKInviteRecipientResponseIncompatible = 3, GKInviteRecipientResponseUnableToConnect = 4, GKInviteRecipientResponseNoAnswer = 5, }; typedef NSInteger GKInviteRecipientResponse;
Константы
-
InviteRecipientResponseAccepted
GKInviteRecipientResponseAccepted
Проигрыватель принял приглашение.
Доступный в OS X v10.10 и позже.
-
InviteRecipientResponseDeclined
GKInviteRecipientResponseDeclined
Проигрыватель отклонил приглашение.
Доступный в OS X v10.10 и позже.
-
InviteRecipientResponseFailed
GKInviteRecipientResponseFailed
Приглашение было неспособно быть поставленным.
Доступный в OS X v10.10 и позже.
-
InviteRecipientResponseIncompatible
GKInviteRecipientResponseIncompatible
Приглашенный не выполняет совместимую версию Вашей игры.
Доступный в OS X v10.10 и позже.
-
InviteRecipientResponseUnableToConnect
GKInviteRecipientResponseUnableToConnect
С приглашенным нельзя было связаться.
Доступный в OS X v10.10 и позже.
-
InviteRecipientResponseNoAnswer
GKInviteRecipientResponseNoAnswer
Приглашение испытало таймаут без ответа.
Доступный в OS X v10.10 и позже.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.10 и позже.
-
-
Возможные ответы от приглашения до удаленного проигрывателя.
Осуждаемый в iOS 8. Используйте перечисление GKInviteeRecipientResponse вместо этого.
Объявление
Swift
typealias GKInviteeResponse = GKInviteRecipientResponse
Objective C
enum { GKInviteeResponseAccepted = 0, GKInviteeResponseDeclined = 1, GKInviteeResponseFailed = 2, GKInviteeResponseIncompatible = 3, GKInviteeResponseUnableToConnect = 4, GKInviteeResponseNoAnswer = 5, }; typedef NSInteger GKInviteeResponse;
Константы
-
GKInviteeResponseAccepted
GKInviteeResponseAccepted
Проигрыватель принял приглашение.
Доступный в OS X v10.8 и позже.
-
GKInviteeResponseDeclined
GKInviteeResponseDeclined
Проигрыватель отклонил приглашение.
Доступный в OS X v10.8 и позже.
-
GKInviteeResponseFailed
GKInviteeResponseFailed
Приглашение было неспособно быть поставленным.
Доступный в OS X v10.8 и позже.
-
GKInviteeResponseIncompatible
GKInviteeResponseIncompatible
Приглашенный не выполняет совместимую версию Вашей игры.
Доступный в OS X v10.8 и позже.
-
GKInviteeResponseUnableToConnect
GKInviteeResponseUnableToConnect
С приглашенным нельзя было связаться.
Доступный в OS X v10.8 и позже.
-
GKInviteeResponseNoAnswer
GKInviteeResponseNoAnswer
Приглашение испытало таймаут без ответа.
Доступный в OS X v10.8 и позже.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в OS X v10.8 и позже.
-