Variabile de clasă: Variabile cu subvariabile multiple în Unitate

În Unity crearea de variabile este simplă:

public int someValue = 1;

Variabila de mai sus va fi afișată astfel în vizualizarea Inspector:

Dar dacă doriți să aveți mai multe subvariabile într-o singură variabilă? Acest lucru este ușor de realizat cu Variabilele de clasă.

Variabilele de clasă sunt variabile care folosesc o altă clasă ca tip de bază, oferind posibilitatea de a avea mai multe subvariabile într-un grup.

Se realizează prin utilizarea unei clase cu atributul [System.Serializable].

Verificați codul de mai jos:

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;
}
  • Scriptul de mai sus definește o clasă numită VariableGroup
  • Clasa VariableGroup conține mai multe subvariabile
  • Notați [System.Serializable] înainte de clasă. Acest atribut este necesar pentru a putea edita variabilele sale în vizualizarea inspector.
  • Și, în sfârșit, este definită variabila variableGroup, care folosește clasa VariableGroup.

Valorile clasei sunt accesate apelând numele variabilei urmat de un punct și apoi numele variabilei copil:

variableGroup.t
variableGroup.someValue
variableGroup.someBool

Clasa de mai sus poate fi folosită și într-o matrice:

public VariableGroup[] variableGroup;