Bildirimler

Unity Attributes ile Component Özelleştirme

28 Görüntülenme 2018-07-01 attribute
Unity Attributes ile Component Özelleştirme

Unity attributes ile component'lerde özelleştirme yapabilirsiniz. Ayrıca doğru kullanımıyla beraber bunun performansa da olumlu yönde etkisi olur

Hiç private olabilecek bir değişkeni sırf sürükle bırak ile değer verildiği için public yaptığınız oldu mu? Veya yanlışlıkla aynı scripti bir nesneye iki kez attığınız? Rigidbody kullanan bir scripti Rigidbody olmayan bir nesneye atıp hata aldığınız olmuştur herhalde. Tüm bu ve daha fazlasını düzeltmenin bir yolu var. Unity Attributes..

Unity Attributes, kodlarınızı özelleştirmeye yarayan bir özelliktir. Bu şekilde yazdığınız kodlarda, dolayısıyla componentlerde istediğiniz ayarlamaları yaparak projelerinizi daha kolay bitirebilirsiniz. Aşağıda en çok kullandığım, kullanışlı birkaç attribute'yi gösterdim.

Attribute'ler, [Attribute] veya [Attribute(parametre1, parametre2)] şeklinde yazılır. Birden fazla attribute yazmak için [Attribute, Attribute] şeklinde yazabilirsiniz. Attributeler, bir değişken ile ilgiliyse değişkenin üst satırına, o component ile ilgiliyse class tanımlamasının üst satırına yazılır.

Attribute kodu Açıklama Sonuç
Tooltip ("Değişken ile ilgili açıklama")
İlgili değişkene açıklama getirmeye yarar. Component'de değişkenin üzerine fare ile geldiğinizde bu yazı çıkar. Unity Tooltip attribute
Range (0,20)
Sayı değişkenlere slider yardımıyla değer vermeye yarar. Unity Range attribute
Header ("Hız Ayarları")
Component'de değişkenlere başlık koymaya yarar. Unity Header attribute
SerializeField
Private bile olsa değişkenin component'den görülebilmesini sağlar. Unity SerializeField attribute
HideInInspector
Public değişkenlerin component'de görünmemesini sağlar. Unity HıdeInInspector attribute
RequireComponent(typeof(Rigidbody2d))
Yazdığınız component bir nesnede yoksa o nesneye bu component'i eklemenizi engeller. Component ile ilgili olduğundan, class'dan hemen önce yazılması gerekir. Unity requireComponent attribute
DisallowMultipleComponent
Bir nesneye aynı script'i tekrar koymanızı engeller. Class tanımlamasından önce yazılması gerekir. Unity DisallowMultipleComponent attribute
Örnek kullanım:

Aşağıdaki kod ile, bu yazının ana resmindeki görünümü elde edersiniz.

[SerializeField]
private GameObject privateDegisken;
[Header ("Güç Seçenekleri:"), Range (0, 20)]
public int hiz;
[Range (0f, 5.0ff)]
public float donmeGucu;

Önerilen Gönderiler

Yorum Bölümü
İsim:
Mail:
Yorum: