terça-feira, 14 de outubro de 2014

Switchs e Enumerações em Blueprints

Blueprint possui um tipo de Ação conhecido como "Switch" que determina o fluxo de execução de acordo com o valor de entrada. A imagem abaixo mostra uma dessas Ações chamada "Switch on Int", que aceita um valor inteiro como entrada.


O botão "Add pin" que está dentro da Ação "Switch on Int", adiciona os valores inteiros de saída em sequência, começando em zero. É possível mudar o valor inicial da sequência na aba "Details" da Ação "Switch on Int":


A opção "Default" de um Switch é usado quando o valor de entrada não corresponder a nenhum dos valores de saída.

Como exemplo do uso do "Switch on Int" vamos refazer o Construction Script que foi criado no artigo anterior, usando o "Switch on Int" mas sem mudar o resultado do script. O Construction Script ficou desta forma:

Clique para aumentar

Outra mudança que pode ser feita para melhorar o Blueprint criado no artigo anterior é substituir a variável inteira "MeshType" por uma variável do tipo Enumeração. A variável inteira "MeshType" estava usando os valores 1, 2 e 3, para representar os possíveis "Static Meshes" que seriam utilizados. Estes valores podem confudir a pessoa que estiver editando o nível. Com as Enumerações podemos usar nomes significativos.

O primeiro passo é criar uma nova Enumeração. No "Content Browser" clique no botão "New" e no submenu "Blueprints" selecione "Enumeration" conforme imagem abaixo.


Coloque o nome "EMeshType" na enumeração que foi criada, e dê dois cliques para poder editar a Enumeração. Clique no botão "New" para adicionar os nomes. Coloque os nomes "Capsule", "Cone" e "Cube" conforme a imagem.


Agora precisamos criar uma nova variável no Blueprint que contém o Construction Script. O nome desta variável será "MeshTypeEnum", o tipo é "EMeshType", que é a enumeração que foi criada. Marque a opção "Editable" e em "Category" selecione ou escreva "Construction Options":


A variável inteira "MeshType" pode ser deletada. As opções da variável "MeshTypeEnum" na aba Details do Blueprint vão aparecer desta forma:


Blueprint possui um tipo de Ação "Switch" baseado em Enumerações. Este tipo de Switch obtém os valores de saída diretamente da Enumeração. A imagem abaixo mostra como ficou a nova versão do Construction Script, mudando a variável inteira "MeshType" e o "Switch on Int" pela nova variável "MeshTypeEnum" e o "Switch on EMeshType":

Clique para aumentar

Outro tipo de Switch que existe é o "Switch on String":


Este Switch recebe como entrada uma variável do tipo String. Os valores de saída precisam ser adicionados na aba "Details" do "Switch on String" na opção "Pin Names": 



Próximo: Arrays e For loops em Blueprints
Anterior: Construction Script em Blueprints
Sumário