2 puan yazan clash4970 2025-03-17 | Henüz yorum yok. | WhatsApp'ta paylaş

Geliştirme arka planı

Bu paket, Unity oyunu geliştirirken veya C# kullanırken temel Enum’daki HasFlag kullanımında Boxing nedeniyle çöp üretimini kolayca önlemek için geliştirildi!

Çalışma şekli

Source Generator kullanarak derleme zamanında kodlar içindeki [Flag] bulunan enum bildirimlerini bulur ve özel HasFlagNonAlloc genişletme metodunu otomatik olarak üretir.

Özellikler

Neredeyse sıfıra yakın çalışma zamanı ek yüküyle HasFlag kodunu okunabilir şekilde yazabilmenizi sağlar!

var currentState = PlayerState.Idle | PlayerState.Walking;  
  
// Mevcut HasFlag (Boxing oluşur)  
if (currentState.HasFlag(PlayerState.Idle))  
{  
    // ...  
}  
  
// Boxing’den kaçınan HasFlag kontrolü uygulaması  
if ((currentState & PlayerState.Idle) == PlayerState.Idle)  
{  
    // ...  
}  
  
// NonAllocFlagGenerator kurulduktan sonra  
if (currentState.HasFlagNonAlloc(PlayerState.Idle))  
{  
    // ...  
}  

Bu, ilk kez yaptığım gerçekten düzgün sayılabilecek(?) açık kaynak projesi olduğu için eksikleri çok olabilir, ama cesaret edip paylaşıyorum!
Performansa duyarlı kod yazarken faydalı olursa sevinirim.

Geri bildirimlere her zaman açığım!

Henüz yorum yok.

Henüz yorum yok.