Trucuri de programare Unity

Când vine vorba de programare în Unity, există o mulțime de cuvinte cheie și comenzi utile programming pentru a îmbunătăți fluxul de lucru în editor și pentru a accelera procesul de dezvoltare.

Unele dintre cuvintele cheie sunt dedicate depanării, în timp ce altele sunt concepute pentru a separa logica editorului de logica de scripting.

1. '[SerializeField]' Atribut

În mod implicit, Unity ascunde variabilele private de inspector, dar prin adăugarea unui atribut '[SerializeField]' înaintea lor, acestea vor deveni configurabile în inspector, păstrându-le inaccesibile din alte scripturi.

[SerializeField]
private int myPrivateVariable;

2. '[HideInInspector]' și '[System.NonSerialized]' Atribute

Atât atributele '[HideInInspector]', cât și '[System.NonSerialized]' au o funcție similară, pentru a ascunde variabilele publice de inspector, cu toate acestea, ele diferă ușor în ceea ce privește serializarea.

Diferența dintre '[HideInInspector]' și '[System.NonSerialized]' este că '[HideInInspector]' va ascunde doar variabila de inspector, totuși, Unity va continua să o serializeze (înseamnă că valoarea implicită ar putea fi diferită de cea furnizată în cod), '[System.NonSerialized]', pe de altă parte, nu numai că va ascunde variabila de inspector, dar va semnala și Unity să nu o serializeze (adică valoarea implicită va fi resetată între sesiuni la cea prevăzută în cod).

[HideInInspector]
public int myInternalVariable = 0; //Will always be 0 after the first initialization, so if you decide to change the value in the script, it may not always reflect in the Editor. Often used to remove clutter from the inspector.

[System.NonSerialized]
public int myNonSerializedVariable = 1; //The initial value will always be 1, or whatever value is set. Often used to mimic a private variable, while keeping it accessible from within other scripts.

3. '[ExecuteAlways]' Atribut

'[ExecuteAlways]' obligă scriptul să fie executat în modul de editare și în modul de editare Prefab, chiar și atunci când jocul nu se joacă. Acest lucru poate fi util în scopuri de testare și depanare.

Atributul este adăugat înainte de declarația clasei:

[ExecuteAlways]
public class MyScript : MonoBehaviour {
    // ...
}

4. 'Debug.Break()'

'Debug.Break()' întrerupe editorul.

Această funcție este utilă atunci când doriți să verificați anumite valori în inspector și nu puteți să o întrerupeți manual.

void Update() {
    if (someCondition) {
        Debug.Break();
    }
}

5. '[Range]' Atribut

Atributul '[Range]' vă permite să creați un glisor în Editor pentru o variabilă publică float sau int, care poate fi utilă pentru ajustarea valorilor din mers, într-un mod mai ușor de utilizat. Doar furnizați valorile minime și maxime, astfel:

[Range(0f, 1f)]
public float myFloatVariable;

Comentează mai jos sfaturile și trucurile tale preferate de programare în Unity.

Articole sugerate
Lista unității de cuvinte cheie utile în C#
Introducere în limbajul de scripting Unity C#
Înțelegerea arhitecturii bazate pe componente a Unity
Crearea unui GrabPack în Unity inspirat de Poppy Playtime
Crearea unui efect Bullet Time în Unity
Crearea de obiecte interactive în Unity
Implementarea interacțiunilor cinetice în Unity