Variáveis ​​de classe: variáveis ​​com várias subvariáveis ​​no Unity

Em Unity criar variáveis ​​é simples:

public int someValue = 1;

A variável acima será mostrada assim na visualização do Inspetor:

Mas e se você quiser ter várias subvariáveis ​​em uma única variável? Isso é fácil de conseguir com as variáveis ​​de classe.

Variáveis ​​de classe são variáveis que usam outra classe como tipo base, dando a capacidade de ter várias subvariáveis ​​em um grupo.

Isso é feito usando uma classe com o atributo [System.Serializable].

Verifique o código abaixo:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SC_ClassVariables : MonoBehaviour
{
    [System.Serializable]
    public class VariableGroup
    {
        public Transform t;
        public int someValue = 1;
        public bool someBool = false;
    }

    public VariableGroup variableGroup;
}
  • O script acima define uma classe chamada VariableGroup
  • A classe VariableGroup contém várias subvariáveis
  • Observe o [System.Serializable] antes da classe. Este atributo é necessário para poder editar suas variáveis ​​na visualização do inspetor.
  • E por último, é definida a variável variableGroup, que utiliza a classe VariableGroup.

Os valores de classe são acessados ​​chamando o nome da variável seguido por um ponto e então o nome da variável filha:

variableGroup.t
variableGroup.someValue
variableGroup.someBool

A classe acima também pode ser usada em um array:

public VariableGroup[] variableGroup;

Artigos sugeridos
Introdução à linguagem de script Unity C#
Entendendo funções e chamadas de método
Introdução a variáveis ​​e tipos de dados na programação em Unity
Guia para MonoBehaviour em Unity
Truques de programação do Unity
Fazendo inventário e sistema de criação de itens no Unity
Métodos de ofuscação do Unity e proteção anti-hack