Змінні класу: змінні з кількома підзмінними в Unity

У Unity створення змінних просте:

public int someValue = 1;

Наведена вище змінна буде показана таким чином у вікні інспектора:

Але що, якщо ви хочете мати кілька підзмінних в одній змінній? Цього легко досягти за допомогою змінних класу.

Змінні класу — це змінні, які використовують інший клас як базовий тип, що дає можливість мати кілька підзмінних в одній групі.

Це робиться за допомогою класу з атрибутом [System.Serializable].

Перевірте код нижче:

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;
}
  • Наведений вище сценарій визначає клас під назвою VariableGroup
  • Клас VariableGroup містить кілька підзмінних
  • Зверніть увагу на [System.Serializable] перед класом. Цей атрибут потрібен, щоб можна було редагувати його змінні в інспекторі.
  • І нарешті, визначено змінну variableGroup, яка використовує клас VariableGroup.

Доступ до значень класу здійснюється шляхом виклику імені змінної, за яким стоїть крапка, а потім імені дочірньої змінної:

variableGroup.t
variableGroup.someValue
variableGroup.someBool

Наведений вище клас також можна використовувати в масиві:

public VariableGroup[] variableGroup;