Klassvariabler: Variabler med flera undervariabler i enhet
I Unity är det enkelt att skapa variabler:
public int someValue = 1;
Variabeln ovan kommer att visas så här i inspektörsvyn:
Men vad händer om du vill ha flera delvariabler i en enda variabel? Det är lätt att uppnå med klassvariablerna.
Klassvariabler är variabler som använder en annan klass som bastyp, vilket ger möjligheten att ha flera undervariabler i en grupp.
Det görs genom att använda en klass med attributet [System.Serializable].
Kontrollera koden nedan:
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 ovan definierar en klass som heter VariableGroup
- Klassen VariableGroup innehåller flera undervariabler
- Notera [System.Serializable] före klassen. Det här attributet behövs för att kunna redigera dess variabler i inspektörsvyn.
- Och slutligen definieras variabeln variableGroup, som använder klassen VariableGroup.
Klassvärdena nås genom att anropa variabelnamnet följt av en punkt och sedan namnet på den underordnade variabeln:
variableGroup.t
variableGroup.someValue
variableGroup.someBool
Klassen ovan kan också användas i en array:
public VariableGroup[] variableGroup;