Variables de classe: variables avec plusieurs sous-variables dans l'unité
Dans Unity, la création de variables est simple:
public int someValue = 1;
La variable ci-dessus sera affichée comme ceci dans la vue Inspecteur:
Mais que se passe-t-il si vous souhaitez avoir plusieurs sous-variables dans une seule variable ? C'est facile à réaliser avec les variables de classe.
Les variables de classe sont des variables qui utilisent une autre classe comme type de base, ce qui permet d'avoir plusieurs sous-variables dans un groupe.
Cela se fait en utilisant une classe avec l'attribut [System.Serializable].
Vérifiez le code ci-dessous:
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;
}
- Le script ci-dessus définit une classe appelée VariableGroup
- La classe VariableGroup contient plusieurs sous-variables
- Notez le [System.Serializable] avant la classe. Cet attribut est nécessaire pour pouvoir modifier ses variables dans la vue de l'inspecteur.
- Et enfin, la variable variableGroup est définie, qui utilise la classe VariableGroup.
Les valeurs de classe sont accessibles en appelant le nom de la variable suivi d'un point, puis le nom de la variable enfant:
variableGroup.t
variableGroup.someValue
variableGroup.someBool
La classe ci-dessus peut également être utilisée dans un tableau:
public VariableGroup[] variableGroup;