Klassevariable: Variabler med flere undervariabler i enhed
I Unity er det simpelt at oprette variabler:
public int someValue = 1;
Variablen ovenfor vil blive vist sådan i Inspector-visningen:
Men hvad hvis du vil have flere undervariabler i en enkelt variabel? Det er nemt at opnå med klassevariablerne.
Klassevariabler er variabler, der bruger en anden klasse som basistype, hvilket giver mulighed for at have flere undervariabler i én gruppe.
Det gøres ved at bruge en klasse med attributten [System.Serializable].
Tjek nedenstående kode:
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;
}
- Scriptet ovenfor definerer en klasse kaldet VariableGroup
- Klassen VariableGroup indeholder flere undervariabler
- Bemærk [System.Serializable] før klassen. Denne attribut er nødvendig for at kunne redigere dens variabler i inspektørvisningen.
- Og til sidst er variablen variableGroup defineret, som bruger VariableGroup-klassen.
Klasseværdierne tilgås ved at kalde variabelnavnet efterfulgt af en prik og derefter navnet på den underordnede variabel:
variableGroup.t
variableGroup.someValue
variableGroup.someBool
Klassen ovenfor kan også bruges i et array:
public VariableGroup[] variableGroup;