Etapas para enviar e aceitar um convite
As etapas a seguir usam o Multiplayer Manager para enviar um convite a um amigo do usuário para que esse amigo possa ingressar em um jogo em andamento.- Inicializar o Multiplayer Manager
- Criar a sessão de lobby adicionando usuários locais
- Enviar convites para amigos
- Aceitar convites
- Ingressar em uma sessão de jogo a partir do lobby
Inicializar o Multiplayer Manager
O objeto da sessão de lobby é criado automaticamente quando o Multiplayer Manager é inicializado com um nome de modelo de sessão válido. Os modelos de sessão são definidos na configuração do serviço.A instância da sessão de lobby no serviço não é criada até que um usuário seja adicionado.
API C simples
Criar a sessão de lobby adicionando usuários locais
Adicione os usuários dos serviços do XBOX conectados localmente à sessão de lobby. Um novo lobby é hospedado quando o primeiro usuário é adicionado. Todos os outros usuários são adicionados ao lobby existente como usuários secundários. O Multiplayer Manager divulga o lobby no shell para que os amigos possam ingressar. Você só pode enviar convites, definir propriedades do lobby e acessar os membros do lobby por meio delobby() depois de adicionar o usuário local.
Quando um usuário local ingressa no lobby, recomendamos definir o endereço de conexão dele e quaisquer propriedades personalizadas.
Você deve repetir esse processo para todos os usuários conectados localmente.
Voltar ao início deste tópico.
Adicionar um único usuário local
API C simples
- XblMultiplayerManagerLobbySessionAddLocalUser
- XblMultiplayerManagerLobbySessionSetLocalMemberConnectionAddress
- XblMultiplayerManagerLobbySessionSetProperties
Adicionar vários usuários locais
API C simples
- XblMultiplayerManagerLobbySessionAddLocalUser
- XblMultiplayerManagerLobbySessionSetLocalMemberConnectionAddress
- XblMultiplayerManagerLobbySessionSetProperties
- Registra assinaturas do Real-Time Activity e do multiplayer no serviço multiplayer dos serviços do XBOX.
- Cria a sessão de lobby.
- Adiciona todos os jogadores locais como ativos.
- Carrega o endereço de dispositivo seguro (SDA).
- Define as propriedades dos membros.
- Registra-se para eventos de alteração de sessão.
- Define a sessão de lobby como uma sessão ativa.
Enviar convites para amigos
Exiba a interface do usuário padrão do XBOX, na qual o jogador pode selecionar amigos ou jogadores recentes para convidar para o jogo. Quando o jogador confirma a seleção, o Multiplayer Manager envia os convites aos jogadores selecionados. Os jogos também podem usar o método XblMultiplayerManagerLobbySessionInviteUsers para enviar convites a um conjunto de pessoas definidas por seus IDs de usuário dos serviços do XBOX. Esse método é útil se você usar sua própria interface do usuário no jogo em vez da interface do usuário padrão do XBOX.API C simples
- Exibe a Title-Callable UI (TCUI) padrão do XBOX
- Envia um convite diretamente aos jogadores selecionados
Aceitar convites
Quando um jogador convidado aceita um convite de jogo ou ingressa no jogo de um amigo por meio de uma interface do usuário do shell, o jogo é iniciado no dispositivo dele. Em jogos baseados no Microsoft Game Development Kit (GDK), depois que o jogo for iniciado, escute os eventos de convite chamando XGameActivationRegisterForEvent. Em jogos baseados no XBOX One Software Development Kit e na Plataforma Universal do Windows (UWP), depois que o jogo for iniciado, o Multiplayer Manager pode usar os argumentos do evento de ativação de protocolo para ingressar no lobby. Se o usuário convidado não for adicionado por meio de XblMultiplayerManagerLobbySessionAddLocalUser, XblMultiplayerManagerJoinLobby falhará e fornecerá o xuid para o qual o convite foi enviado ao chamar XblMultiplayerEventArgsXuid com o eventoJoinLobbyCompleted.
Depois de ingressar no lobby, recomendamos definir o endereço de conexão do membro local e quaisquer propriedades personalizadas do membro.
Você também pode definir o host por meio de XblMultiplayerManagerLobbySessionSetSynchronizedHost, caso não exista um.
Por fim, o Multiplayer Manager adiciona automaticamente o usuário à sessão de jogo, se um jogo já estiver em andamento e houver espaço para o convidado.
O título é notificado por meio do evento JoinGameCompleted, que fornece um código de erro e uma mensagem apropriados.
Os resultados de erro ou de êxito são tratados por meio do evento JoinLobbyCompleted.
API C simples
- Registra assinaturas do Real-Time Activity e do multiplayer.
- Ingressa na sessão de lobby.
- Limpa o estado existente do lobby.
- Adiciona todos os jogadores locais como ativos.
- Carrega o SDA.
- Define as propriedades dos membros.
- Registra-se para eventos de alteração de sessão.
- Define a sessão de lobby como a sessão ativa.
- Ingressa na sessão de jogo (se houver).
- Usa um identificador de transferência.
Ingressar em uma sessão de jogo a partir do lobby
Depois que os convites forem aceitos e o host estiver pronto para começar a jogar, você poderá iniciar um novo jogo que inclua os membros da sessão de lobby chamando XblMultiplayerManagerJoinGameFromLobby. Os resultados de erro ou de êxito são tratados por meio do eventoJoinGameCompleted.
API C simples
- Cria a sessão de jogo.
- Adiciona todos os jogadores locais como ativos.
- Carrega o SDA.
- Define as propriedades dos membros.
- Registra-se para eventos de alteração de sessão.
- Divulga o jogo por meio da sessão de lobby.
