משתני מחלקה: משתנים עם משתני משנה מרובים באחדות

ב-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;