Ana içeriğe atla

Unity + C# Oyun Geliştirme Ortamı Generic Class Kullanım Örneği

Unity + C# Oyun Geliştirme Ortamı

Generic Class Kullanım Örneği

Unity oyun geliştirme ortamında C# ile oyun geliştirme sürecinde, C# yazılım diline özel birkaç yöntemi RappGames tarafından tasarlanan Crash Disc oyunu içinde kullandık. Bu kullanım örneği ile oyun sürecindeki seviyeleri ve bunlara bağlı rastsal değerleri oluşturabilmek için soyut sınıfı, generic type ile ifade ederek kesikli (discrete) ya da süreklik (continuous) verilerin üretilebilmesini sağladık.

[Serializable]
public abstract class LevelRange<genericTypeValue>
{     public genericTypeValue Min;
    public genericTypeValue Max;
    public abstract genericTypeValue GetRandomValue();
} [Serializable] public sealed class LevelRangeFloat : LevelRange<float> {     public override float GetRandomValue()     {         return Random.Range(this.Min, this.Max);     } }

Bu sınıf tanımları kullanılarak double, byte, integer veya float gibi veri türlerinde farklı değerler üretilebililir.

Ayrıca mobil uygulama içinde kullanıcıya özel veri alanında bu sınıfa ilişkin değerleri saklamak adına da attribute yöntemleri kullanılarak sınıflar serializable hale getirilebilir ve JSON biçiminde utf-8 formatında string oluşturarak saklanabilir.

Faydalı bu yöntem ile Crash Disc oyunumuzda, yüzlerce seviyeyi (level) modelleyerek kullanıcı arayüzünü dinamik hale getirdik.



Bu blogdaki popüler yayınlar

Zeki sistemler

Zeki sistemler: Yapay zeka tekniklerini kullanan sistemlerdir. Sistem: Ortak bir amaca hizmet etmek için bir araya gelmiş bir ya da birden fazla elemanın uyum içinde çalışmasıdır. Melez Zeki Sistemler: Bir ya da birden fazla zeki sistemin bir araya gelmesi ve uyum için çalışmasıdır. Neden melez sisteme ihtiyaç var? Birçok iyi sistem bir araya getirilerek daha iyi sistemler oluşturulabilir. Uzman sistemlerdeki kararlılık, Genetik algoritmaların rastgeleliği ve True/False olarak ifade edilemeyen ancak yine de çözüm beklenen durumlarda bulanık sistemlerin kullanılarak "Melez Sistemlerin" tasarlanması birçok soruna çözüm sağlayabilir. Üst Zeki Sistemler: İnsan zekasına biraz daha yaklaşmayı hedefleyen ve şuan üzerinde düşündüğüm, çok daha fazla kaynak okumamı gerektiren sistemlerdir. Bu sistemlerle insan zekasına biraz daha yaklaşılması hedeflenebilir. Üst ( Meta ) Zeki Sistem (ÜZS) ile aynı anda birden fazla yapay zeka tekniği ya da alt sistemler kullanılabilir. Görüntü tanıma t

Netle Yazılım | e-Defter Şematron Raporu | Sürüm 2.0.1.8.3

Netle Yazılım San. Tic. Ve A.Ş. e-Defter Şematron Raporu Ver 2.0.1.8.3 Açıklama Yasal e-defter dosyaları hazırlandıktan ve imzalandıktan sonra mutlaka XML şema ve Şematron denetimleri ile kontrol edilmelidir. Bu kontrol süreci sonrasında ortaya en az bir hata çıkması durumunda GİB tarafından e-defter dosyaları geçersiz sayılabilir.  Bu kontrollerin çok geniş ve uzun sürebilmesi nedeniyle kontrol süreçlerinde e-defter uyumlu yazılımlar kullanılmaktadır. Netle Yazılım tarafından geliştirilen "Netle-Defter" uygulaması bu kontrolleri fiş girişinde, döneme ilişkin parçalı ya da bütün defter oluşturmada ve GİB'e gönderim öncesinden yapmaktadır. Olası bir sorunda kullanıcı iş akış sistemi ile bilgilendirilerek hatanın giderilmesi beklenmektedir. Şematron denetimleri XML içine bütünleşik şekilde yazılmış ve bunların tam bir liste şeklinde dokümanı yoktu. Bu faydalı bilgileri liste haline getirdik ve 2018 / 3 dönemini esas olarak aşağıdaki açıkl

WS-Security(WSS ya da WSSE) ve E-Dönüşüm (E-Defter ve E-Arşiv)

Yeni e-dönüşüm modüllerinin GİB entegrasyonlarında kullanılacak web servislerde iletişim protokolünde " WSS " kullanılmak zorunda. Bu konuda birçok 3. yazılım evinin sunduğu çözüm(ler) var ancak eğer mevcut yazılım mimariniz HSM ya da ESYA API üzerine kurulu ise yeni bir sorun ile karşılaşabiliyorsunuz. Bu sorun, mevcut imza yapısının yeni SOAP iletişimindeki WSS özelliğini desteklememesinden kaynaklanıyor. Eğer çözümünüz CAPICOM arayüzü ile kart içindeki private key değerine eskiden erişim yapabiliyorsanız bu durumda da bazı riskler ortaya çıkabiliyor. Yeni nesil mali mühür kartlarında yer alan düzenleme ile private key değeri artık dışarıya alınamıyor. JAVA dışında, . Net ortamında, e-dönüşüm kodları geliştirenler yeni nesil GİB iletişiminde bu tür zorlukları aşmak zorunda kalıyor. Ar-Ge ekibimizin çalışmaları sonrasında, ESYA API üzerine kurulu kendi kütüphanemizi tasarladık. Microsoft .Net ortamından ( c#, vb.net ) kolayca GİB e-defter ya da e-arşiv web servislerin