Biến lớp: Biến có nhiều biến phụ trong Unity

Trong Unity việc tạo biến rất đơn giản:

public int someValue = 1;

Biến ở trên sẽ được hiển thị như thế này trong dạng xem Thanh tra:

Nhưng nếu bạn muốn có nhiều biến phụ trong một biến duy nhất thì sao? Điều đó thật dễ dàng đạt được với Biến lớp.

Biến lớp là variables sử dụng một lớp khác làm loại cơ sở, mang lại khả năng có nhiều biến phụ trong một nhóm.

Nó được thực hiện bằng cách sử dụng một lớp có thuộc tính [System.Serializable].

Kiểm tra mã dưới đây:

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;
}
  • Đoạn script trên định nghĩa một lớp có tên VariableGroup
  • Lớp VariableGroup chứa nhiều biến phụ
  • Lưu ý [System.Serializable] trước lớp. Thuộc tính này là cần thiết để có thể chỉnh sửa các biến của nó trong chế độ xem thanh tra.
  • Và cuối cùng, biến variableGroup được xác định, sử dụng lớp VariableGroup.

Các giá trị lớp được truy cập bằng cách gọi tên biến theo sau là dấu chấm và sau đó là tên biến con:

variableGroup.t
variableGroup.someValue
variableGroup.someBool

Lớp trên cũng có thể được sử dụng trong một mảng:

public VariableGroup[] variableGroup;