FlexMatch expressões de propriedade - Amazon GameLift

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

FlexMatch expressões de propriedade

Expressões de propriedades podem ser usadas para definir certas propriedades relacionadas ao matchmaking. Eles permitem que você use cálculos e lógica ao definir o valor de uma propriedade. Expressões de propriedade geralmente resultam em uma de duas formas:

  • Dados individuais do jogador.

  • Coleções calculadas de dados individuais de jogadores.

Expressões comuns de propriedades de matchmaking

Uma expressão de propriedade identifica um valor específico para um jogador, equipe ou partida. As expressões parciais a seguir ilustram como identificar equipes e jogadores:

Objetivo Entrada Significado Resultado
Para identificar uma equipe em uma correspondência: teams[red] A equipe Red Team
Para identificar um conjunto de equipes específicas em uma partida: teams[red,blue] A equipe vermelha e a equipe azul List<Team>
Para identificar todas as equipes em uma correspondência: teams[*] Todas as equipes List<Team>
Para identificar jogadores em um jogo específico: team[red].players Jogadores da equipe Red List<Player>
Para identificar jogadores em um conjunto de equipes específicas em uma partida: team[red,blue].players Jogadores na correspondência, agrupados por equipe List<List<Player>>
Para identificar jogadores em uma correspondência: team[*].players Jogadores na correspondência, agrupados por equipe List<List<Player>>

Exemplos de expressão de propriedade

A tabela a seguir ilustra algumas expressões de propriedades baseadas nos exemplos anteriores:

Expressão Significado Tipo resultante

teams[red].players[playerid]

Os IDs de jogador de todos da equipe red List<string>
teams[red].players.attributes[skill] Os atributos "skill" de todos os jogadores do time red List<number>
teams[red,blue].players.attributes[skill] Os atributos de “habilidade” de todos os jogadores da equipe Vermelha e da Equipe Azul, agrupados por equipe List<List<number>>
teams[*].players.attributes[skill] Os atributos "skill" de todos os jogadores na correspondência, agrupados por equipe List<List<number>>

Agregações de expressão de propriedade

As expressões de propriedade podem ser usadas para agregar dados da equipe, usando as funções ou combinações de funções a seguir:

Agregação Entrada Significado Resultado
min List<number> Obtenha o mínimo de todos os números na lista. número
max List<number> Obtenha o máximo de todos os números na lista. número
avg List<number> Obtenha a média de todos os números na lista. número
median List<number> Obtenha o mediano de todos os números na lista. número
sum List<number> Obtenha a soma de todos os números na lista. número
count List<?> Obtenha o número de elementos na lista. número
stddev List<number> Obtenha o desvio padrão de todos os números na lista. número
flatten List<List<?>> Transforme uma coleção de listas aninhadas em uma lista única contendo todos os elementos. List<?>
set_intersection List<List<string>> Veja as strings encontradas em todas as listas de string de uma coleção. List<string>
Todas acima List<List<?>> Todas as operações em uma lista aninhada operam em cada sublista individualmente para produzir uma lista de resultados. List<?>

A tabela a seguir ilustra algumas expressões de propriedade válidas que usam funções de agregação:

Expressão Significado Tipo resultante
flatten(teams[*].players.attributes[skill]) Os atributos "skill" de todos os jogadores na correspondência (não agrupados) List<number>
avg(teams[red].players.attributes[skill]) A habilidade média dos jogadores da equipe red número
avg (equipes [*] .jogadores.attributes [habilidade]) A habilidade média de cada equipe na correspondência List<number>
avg(flatten(teams[*].players.attributes[skill])) O nível de habilidade médio de todos os jogadores na correspondência. Esta expressão obtém uma lista nivelada de habilidades do jogador e faz uma média. número
count(teams[red].players) O número de jogadores da equipe red número
count (teams[*].players) O número de jogadores em cada equipe na correspondência List<number>
max(avg(teams[*].players.attributes[skill])) O nível mais alto de habilidade da equipe na correspondência número