Rehber Unity Basit Inspector Attributeleri

  • Konuyu başlatan Konuyu başlatan Syntax
  • Başlangıç Tarihi Başlangıç Tarihi
  • Mesaj Mesaj 0
  • Görüntüleme Görüntüleme 66
  • Etiketler Etiketler
    unity

Syntax

Üstün
Katılım
11 Şubat 2024
Mesajlar
1.836
Çözümler
10
Beğeniler
1.844
Inspector Attribute nedir?

Unity'de script yazarken değişkenleri Inspector'da nasıl göstereceğimizi kontrol etmek için kullanılan etiketlerdir. Tanımdan tam ne işe yaradığını anlamamış olabilirsiniz. Örneklerle göstereceğim daha iyi anlayacaksınızdır.

SerializeField
Normalde private değişkenler Inspector'da görünmez. SerializeField sayesinde hem private kalır hem de Inspector'dan ayarlanabilir olur.

Kod:
 [Header("Kill Settings")]
 [SerializeField] private float raycastMesafe = 10f;
 private float runKillerRaycastMesafe = 5f;
 [SerializeField] private LayerMask playerLayer = -1; // Default olarak tüm layer'lar



Burada 2.değişkende SerializeField kullanmadım bu yüzden gözükmüyor. Private olan diğer iki değişkende SerializeField kullandığım için Inspector'da gözüküyor.

Header
Değişkenleri başlığa göre ayırarak Inspector'ı daha düzenli gösterebilirsiniz.

C#:
 [Header("Kill Settings")]
 [SerializeField] private float raycastMesafe = 10f;
 private float runKillerRaycastMesafe = 5f;
 [SerializeField] private LayerMask playerLayer = -1; // Default olarak tüm layer'lar.
 [SerializeField] private float killCooldown = 50f; // Normal kill cooldown.
 [SerializeField] private float serialKillerCooldown = 75f; // Serial killer extended cooldown.

 [Header("Poison Settings")]
 [SerializeField] private float poisonDelay = 7f; // Poison kill delay



HideInInspector
Public değişkenler normalde Inspector'da gözükür. Fakat HideInInspector kullanırsanız gözükmez.

C#:
public float testVariable;
[HideInInspector] float testDegisken;
public float testTimer;



Bu örnekte HideInInspector kullandığımız değişken gözükmezken diğer ikisi gözüküyor.
Tooltip
Değişkenin üstüne fareyi getirince küçük açıklama kutusu çıkar.

C#:
[Tooltip("Selam, gununuz guzel gecsin!")]
[SerializeField] private LayerMask playerLayer = -1; // Default olarak tüm layer'lar



Range
Inspector'da slider ekler.

C#:
[Range(0, 100)] public float normalKillerChance = 40f;



Space
Inspector'da değişkenler arasında boşluk bırakır.

C#:
[SerializeField] private float killCooldown = 50f; // Normal kill cooldown.
[SerializeField] private float serialKillerCooldown = 75f; // Serial killer extended cooldown.

[Space(50)]

[Header("Poison Settings")]
[SerializeField] private float poisonDelay = 7f; // Poison kill delay



Bu attributelar basit olanlar ve Inspector'ı düzenli gösterecek attributelar. Bu gösterdiklerimden daha fazlası var. Fakat bunlar Inspector'ın düzenli gözükmesi dışındaki şeylere yarıyor. Hatta kendi attributelarınızı da oluşturabilirsiniz. Daha detaylı attributelar sonraki rehberin konusu olabilir.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…