Klassenvariablen: Variablen mit mehreren Untervariablen in Unity

In Unity ist das Erstellen von Variablen einfach:

public int someValue = 1;

Die obige Variable wird in der Inspektoransicht wie folgt angezeigt:

Was aber, wenn Sie mehrere Untervariablen in einer einzigen Variablen haben möchten? Mit den Klassenvariablen lässt sich das leicht erreichen.

Klassenvariablen sind Variablen, die eine andere Klasse als Basistyp verwenden und so die Möglichkeit bieten, mehrere Untervariablen in einer Gruppe zu haben.

Dies erfolgt durch die Verwendung einer Klasse mit dem Attribut [System.Serializable].

Überprüfen Sie den folgenden Code:

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;
}
  • Das obige Skript definiert eine Klasse namens VariableGroup
  • Die Klasse VariableGroup enthält mehrere Untervariablen
  • Beachten Sie das [System.Serializable] vor der Klasse. Dieses Attribut wird benötigt, um seine Variablen in der Inspektoransicht bearbeiten zu können.
  • Und schließlich wird die Variable variableGroup definiert, die die Klasse VariableGroup verwendet.

Der Zugriff auf die Klassenwerte erfolgt durch Aufrufen des Variablennamens, gefolgt von einem Punkt und dann des Namens der untergeordneten Variablen:

variableGroup.t
variableGroup.someValue
variableGroup.someBool

Die obige Klasse kann auch in einem Array verwendet werden:

public VariableGroup[] variableGroup;