Klassevariabler: Variabler med flere undervariabler i enhet
I Unity er det enkelt å lage variabler:
public int someValue = 1;
Variabelen ovenfor vises slik i inspektørvisningen:
Men hva om du vil ha flere undervariabler i en enkelt variabel? Det er enkelt å oppnå med klassevariablene.
Klassevariabler er variabler som bruker en annen klasse som basistype, noe som gir muligheten til å ha flere undervariabler i en gruppe.
Det gjøres ved å bruke en klasse med [System.Serializable]-attributtet.
Sjekk koden nedenfor:
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;
}
- Skriptet ovenfor definerer en klasse kalt VariableGroup
- Klassen VariableGroup inneholder flere undervariabler
- Legg merke til [System.Serializable] før klassen. Dette attributtet er nødvendig for å kunne redigere variablene i inspektørvisningen.
- Og til slutt er variabelen variableGroup definert, som bruker klassen VariableGroup.
Klasseverdiene får du tilgang til ved å kalle variabelnavnet etterfulgt av en prikk og deretter navnet på den underordnede variabelen:
variableGroup.t
variableGroup.someValue
variableGroup.someBool
Klassen ovenfor kan også brukes i en matrise:
public VariableGroup[] variableGroup;