Variables de clase: variables con múltiples subvariables en Unity

En Unity crear variables es simple:

public int someValue = 1;

La variable anterior se mostrará así en la vista Inspector:

Pero, ¿qué sucede si desea tener múltiples subvariables en una sola variable? Eso es fácil de lograr con las variables de clase.

Las variables de clase son variables que usan otra clase como tipo base, lo que permite tener varias subvariables en un grupo.

Se hace usando una clase con el atributo [System.Serializable].

Verifique el código a continuación:

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;
}
  • El script anterior define una clase llamada VariableGroup
  • La clase VariableGroup contiene varias subvariables
  • Tenga en cuenta el [System.Serializable] antes de la clase. Este atributo es necesario para poder editar sus variables en la vista del inspector.
  • Y por último, se define la variable variableGroup, que utiliza la clase VariableGroup.

Se accede a los valores de clase llamando al nombre de la variable seguido de un punto y luego el nombre de la variable secundaria:

variableGroup.t
variableGroup.someValue
variableGroup.someBool

La clase anterior también se puede usar en una matriz:

public VariableGroup[] variableGroup;

Artículos sugeridos
Introducción al lenguaje de secuencias de comandos Unity C#
Comprensión de funciones y llamadas a métodos
Introducción a Variables y Tipos de Datos en Programación en Unity
Abrir cajones y armarios con llaves específicas en Unity
Codificación de un sistema de inventario simple con arrastrar y soltar la interfaz de usuario en Unity
Agregar efecto de balanceo a las armas en Unity
Mostrar texto al tocar un objeto en Unity