Unity Eğitim
Dersler
Forum Sınav Merkezi Premium 💎
C# Dersleri

Unity'de EditorGUILayout.EnumPopup() ile Enum Değerlerini Kullanma

Paylaşan: Unity Eğitim 19 September 2025 3 dakika okuma 113 görüntülenme

Merhaba Unity geliştiricileri! Bu yazıda, Unity editöründe enum değerlerini görüntülemek ve düzenlemek için kullanabileceğiniz güçlü bir araç olan EditorGUILayout.EnumPopup() fonksiyonunu detaylı bir şekilde inceleyeceğiz. Enum'lar, kodunuzun okunabilirliğini ve düzenlenebilirliğini artırmanın yanı sıra, hata olasılığını azaltmada da büyük rol oynarlar. Bu fonksiyon sayesinde, enum değerlerinizi Unity arayüzüne entegre ederek, daha kullanıcı dostu bir editör deneyimi sağlayabilirsiniz.

Enum'lar ve Unity


Enum'lar (enumerations), belirli bir veri türü için adlandırılmış sabit değerler kümesidir. Örneğin, bir oyun karakterinin durumunu temsil etmek için (koşma, zıplama, saldırı) enum kullanabilirsiniz. Bu, kodunuzun daha okunabilir ve bakımı daha kolay olmasını sağlar. Unity, enum'ları özelleştirilebilir oyun nesneleri ve editör arayüzleri oluşturmak için yaygın olarak kullanır.

Enum Tanımlama


Bir enum, aşağıdaki gibi tanımlanır:

public enum KarakterDurumu
{
Koşma,
Zıplama,
Saldırı,
Bekleme
}

Bu kod, KarakterDurumu adında bir enum tanımlar ve Koşma, Zıplama, Saldırı ve Bekleme adlı dört sabit değer içerir.

EditorGUILayout.EnumPopup() Fonksiyonu


EditorGUILayout.EnumPopup() fonksiyonu, Unity editöründe bir enum değerini görüntülemek ve seçilmesini sağlamak için kullanılır. Fonksiyon, seçilen enum değerini bir değişkende saklar ve bu değer, oyunun çalışma zamanında kullanılabilir.

Fonksiyon Parametreleri


Fonksiyonun iki ana parametresi vardır:

  • label: Enum değerlerinin yanında görüntülenecek etiket (string).

  • selectedValue: Seçilen enum değeri (enum türünde bir değişken). Bu değişken, fonksiyon tarafından güncellenir.


Kod Örneği


Aşağıdaki kod örneği, KarakterDurumu enum'unu kullanarak EditorGUILayout.EnumPopup() fonksiyonunu nasıl kullanacağınızı gösterir:

using UnityEngine;
using UnityEditor;

public class EnumPopupExample : EditorWindow
{
public KarakterDurumu karakterDurumu;

[MenuItem("Examples/Enum Popup Example")]
public static void ShowWindow()
{
GetWindow("Enum Popup Example");
}

void OnGUI()
{
karakterDurumu = (KarakterDurumu)EditorGUILayout.EnumPopup("Karakter Durumu:", karakterDurumu);
// Seçilen enum değerini kullanarak işlemler yapabilirsiniz.
if (karakterDurumu == KarakterDurumu.Koşma) {
Debug.Log("Karakter koşuyor!");
}
}
}


Bu kod, bir pencere oluşturur ve içinde KarakterDurumu enum'unun değerlerini gösteren bir açılır menü oluşturur. Seçilen değer, karakterDurumu değişkeninde saklanır ve bu değer, koşullu ifadelerde kullanılabilir.

Gelişmiş Kullanım


EditorGUILayout.EnumPopup() fonksiyonu, daha gelişmiş kullanım senaryoları için çeşitli seçenekler sunar. Örneğin, enum değerlerinin sıralamasını veya gösterim şeklini değiştirebilirsiniz. Daha fazla bilgi için Unity dokümanlarını inceleyebilirsiniz.

Özet


EditorGUILayout.EnumPopup(), Unity editöründe enum değerlerini yönetmek için güçlü ve kullanışlı bir araçtır. Bu fonksiyonu kullanarak, kodunuzun okunabilirliğini ve düzenlenebilirliğini artırabilir, ayrıca daha kullanıcı dostu bir editör deneyimi sağlayabilirsiniz. Bu yazıda verilen örnekleri inceleyerek ve Unity dokümanlarını kullanarak, EditorGUILayout.EnumPopup() fonksiyonunu projelerinizde etkin bir şekilde kullanabilirsiniz.

🧠 Ders Sonu Değerlendirme Testi

Dersi tamamladıktan sonra bilgilerinizi test edin ve ekstra puanlar kazanın.

🔥 +50 XP Ödül
🔒

Sınava Katılmak İçin Giriş Yapın

Bu ders sonu testini çözebilmek, bilginizi test edip **+50 XP** kazanmak ve **Sınav Şampiyonu** rozetinin kilidini açmak için üye girişi yapmalısınız.

Yorumlar (0)

Yorum yazabilmek ve derslere katkıda bulunabilmek için giriş yapmalısınız.

İlk yorumu siz yapın!