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;

Foreslåtte artikler
Forstå funksjoner og metodeanrop
Introduksjon til Unity C# Scripting Language
Lage inventar og vareutformingssystem i enhet
Åpning av skuffer og skap med spesifikke nøkler i Unity
Skript for å gripe objekter i enhet
Veiledning for å åpne en dør med en nøkkel i Unity
Arbeide med matriser og lister i Unity Code