Quando começamos a estudar programação voltada pra jogos, é comum, termos algumas dificuldades.
E uma delas, em especial, é a dificuldade de visualizar a mecânica que queremos criar, escrita em códigos.
Mas uma vantagem, é que podemos utilizar diversas classes e métodos, para criarmos nossas mecânicas.
Enumerations e suas vantagens
Uma das formas de suprir essa dificuldade em visualizar a mecânica de forma codificada, é buscar sempre estudar mais.
E dessa forma conhecer e saber escolher qual classe ou Design Pattern utilizar em diferentes momentos.
E os Enumerations ou Enums como são muito conhecidos, é algo que definitivamente todos os programadores de jogos precisam conhecer.
Pois, além de ser muito utilizados em diversos momentos, eles nos trazem muitas versatilidades.
E é amplamente usado em sistemas de Skills para o player, inventários, sistema de troca de armas, etc.
Pois, um Enum é muito versátil e pode ser personalizado ao seu gosto e necessidade em seu game.
O que são os Enums?
Eles são dados onde seus valores são limitados a um conjunto de nomes simbólicos, e que você pode definir.
Pois, ao criarmos um Enum, definimos o nome para cada elemento contido nele, também chamado de membros.
Por exemplo, podemos criar um Enum que contenha nomes de Planetas, onde nosso player poderá jogar.
E esse Enum, por sua vez, não aceitará valores que não sejam desse tipo especial que criamos, no caso “Planetas”.
E com isso a possibilidade é infinita, pois, esse enum guardará o nome de cada um dos Planetas.
E digamos que a cada fase que o jogador finalize, você adiciona em uma lista de Enums, um novo Planeta.
E cada Planeta adicionado na lista, libera uma nova fase, e rapidamente você criou um sistema simples de fases.
Porém, perceba que a aplicação dos Enums é muito ampla, pelo fato de você poder criar qualquer tipo de valor especial.
Como criar um Enum?
Faremos da mesma forma que criar uma classe, porém, começamos com a palavra “enum ” e abrimos chaves.
E podemos definir se é privado ou pública também, e dentro das chaves, colocaremos os nomes de cada membro.
Mas, a cada novo membro do Enum declarado, separamos eles por uma vírgula, sendo que o último não precisa.
E o seu Enum já está criado, é importante lembrar que os membros recebem um valor inteiro de index.
E funcionam, quase como uma lista, começando a contagem desse index de cada membro, a partir do 0.
E você também pode redefinir esse index, atribuindo logo seguido da declaração do membro, que receba um valor int.
E agora você pode manipular de diversas formas seu Enum, por exemplo, armazenando em um variável pública.
E através dela selecionar pelo inspector ou via código, uma das opções contidas dentro do Enum.
E a partir de uma opção selecionada, com um Switch e Case simples, você pode definir que aconteça algo.
Mas você também pode manipular através dos index, lembrando sempre de converter o valor delas.
Pois, é preciso converter valores Int castando para o tipo do Enum, e o contrário também, castando do tipo do Enum para Int.
Em resumo, utilizar Enums sempre será muito útil em algum momento na criação do seu game.
E mesclar com outras técnicas lhe dará um mundo de possibilidades, para criar suas mecânicas.
Abaixo deixaremos uma playlist bem bacana para você se aprofundar mais no assunto:
Seja o primeiro a comentar.