Expressões de propriedade Flex - Amazônia 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á.

Expressões de propriedade Flex

As expressões de propriedade podem ser usadas para definir determinadas propriedades relacionadas à criação de jogos. Eles permitem que você use cálculos e lógica ao definir um valor de propriedade. As expressões de propriedade geralmente resultam em uma dessas duas formas:

  • Dados de jogador individual.

  • Coleções calculadas de dados individuais do jogador.

Expressões de propriedade de matchmaking comuns

Uma expressão de propriedade identifica um valor específico para um jogador, equipe ou correspondência. 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 em uma correspondência: teams[red,blue] A equipe Red e a equipe Blue 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 correspondência: 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ões de propriedade

A tabela a seguir ilustra algumas expressões de propriedade criadas 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 “skill” de todos os jogadores da equipe Red e do time Blue, 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 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. number
max List<number> Obtenha o máximo de todos os números na lista. number
avg List<number> Obtenha a média de todos os números na lista. number
median List<number> Obtenha o mediano de todos os números na lista. number
sum List<number> Obtenha a soma de todos os números na lista. number
count List<?> Obtenha o número de elementos na lista. number
stddev List<number> Obtenha o desvio padrão de todos os números na lista. number
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 number
avg (teams [*] .players.attributes [skill]) 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. number
count(teams[red].players) O número de jogadores da equipe red number
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 number