- Katılım
- 3 Haz 2024
- Mesajlar
- 125
- Tepkime puanı
- 2,394
- Puanları
- 93
Merhaba Aç Gözlü Topluluk <3
Başlıktan da anlayacağınız gibi bu paylaşımda Silkroad Interface Tool (SIT) adını verdiğim bir aracı paylaşıyorum.
Eğer her seferinde oyun içi GUI tasarlayıp "acaba bu pencere nasıl görünüyor?" diye oyuna girip çıkmaktan sıkıldıysanız, bu araç tam size göre.
Bu araç sayesinde Resinfo dosyalarınız için direkt kopyala-yapıştır hazır kodlar oluşturabilirsiniz.
Ayrıca Devkit Class dosyaları için de kod üretir.
Tabii ki bu aracı kullanabilmek için elinizde Devkit olması şart. Olmazsa bir yere kadar işinize yarar, belki de yaramaz, kim bilir <3
Durum & Geliştirme Aşaması
Araç şu an Alpha sürümünde.
Yani kusursuz çalışmasını beklemeyin; bazı kısımları çalışıyor, bazıları bozuk, bazıları da eksik olabilir.
Silkroad kontrollerinin hepsini desteklemiyor, sadece belirli nesneler için geçerli.
Github & Açık Kaynak
Projeyi açık kaynak yapmaya karar verdim.
Github’dan erişebilirsiniz:
Silkroad Interface Tool - Github
Kod tarafında hâlâ temizlik yapılması gereken yerler var, bazı şeyler kırılabilir, henüz tam kullanılabilir seviyede değil.
Şu An Desteklenen Kontroller
Bu liste güncellenecek, o yüzden takipte kalın:
- CIFMainFrame
- CIFFrame
- CIFNormalTile
- CIFButton
- CIFStatic
Özellikler
- ToolBox’tan tasarım alanına sürükle-bırak ile kontrol ekleme
- Eklenen kontrolleri boyutlandırma ve taşıma
- Sağ taraftaki panelden renk, ddj, stil, metin gibi özellikleri düzenleme
- Eklenen kontrolleri tek tek veya topluca silme
- Kullanıma hazır Resinfo dosyası ve Devkit için Header + CPP dosyası üretme
- Var olan bir Resinfo dosyasını içe aktarıp tasarım moduna geri dönme
- Daha fazlası sonraki güncellemelerde gelecek; sesinizi duyurabilirsiniz.
Dikkat Edilmesi Gerekenler
- Dosya üretirken hem Resinfo hem Devkit tarafında class isimlerine dikkat edin, aynı isimde birden fazla sınıf oluşturursanız sıkıntı çıkar.
- İçe aktarma özelliği, bu araçla oluşturduğunuz dosyalar için tasarlanmıştır. Başka yerden gelen dosyaları denerseniz büyük ihtimalle bozuk gözükür ya da ekranın ortasında alakasız bir şey belirir.
- İçe aktardığınızda CIFMainFrame boyutunu elle ayarlamanız gerekir, çünkü aracın bu boyutu otomatik bulmasının bir yolu yok.
- Mutlaka yedek alın, Resinfo ve Devkit dosyalarınızın yedeğini almadan çalışmaya başlamayın.
Ekran Görüntüleri
A proof of importing existing files brrr
Nasıl Kullanılır?
Öncelikle bir CIFMainFrame eklemeniz gerekiyor.
Eğer bunu eklemezseniz hiçbir kontrolü ekleyemezsiniz, tool çalışmaz.
Sonrasında dilediğiniz kadar kontrol ekleyin.
Eklediğiniz kontrollerin özelliklerini sağ taraftaki panelden düzenleyebilirsiniz.
Veya sürükle-bırak yöntemiyle konumunu değiştirebilirsiniz.
Boyutlandırmak isterseniz, yine sağ panelden veya kontrolün üzerine tıklayıp çıkan küçük noktayı tutarak yapabilirsiniz.
İşiniz bittiğinde "Generated Files" kısmına tıklayın, size hazır dosyaları verir.
Kopyala - yapıştır ile direkt kullanabilirsiniz.
Kaynak Kod Hakkında
Kaynak kod isteyenler için kısa bir not:
Aslında aracı açık kaynak yapmak istiyorum ama şu anki haliyle kod bayağı "çorba".
Üstelik Devexpress bağımlılığı var, lisans isteyen bir şey ama şifrelenmiş değil.
Yani isterseniz herhangi bir .NET decompiler ile kaynak koda zaten bakabilirsiniz.
Tek ricam: Lütfen göt olmayın :kappa:
Her türlü geri bildirim ve bug raporu için çekinmeden yazabilirsiniz. Tavsiyelerinizi bekliyorum!
Gereksinimler
- .NET Framework 4.8+
İndir
Discord
Sohbet etmek isterseniz, Discord’a beklerim:
Discord Sunucuma Katıl
Güncelleme - 16 Nisan 2024
Silkroad Interface Tool - Mevcut Durum
Biraz gecikmiş olabilirim, ama sebebi şu:
Aracın mevcut versiyonu .NET Framework + WinForms ile yapıldı.
Fakat WinForms'ta gerçek şeffaflık desteği yok.
Bu yüzden tamamen sıfırdan .NET 8 + WPF ile yeniden geliştiriyorum.
WPF, DirectX ile render yaptığı için daha performanslı ve şeffaf kontrolleri destekliyor.
Bu sayede araç daha modern ve akıcı olacak.
Şu an sıfırdan tekrar yazıyorum, biraz zaman alacak ama değecek gibi duruyor.
Bu süreçte bir ihtimal, bir sonraki sürümü tamamen açık kaynak olarak paylaşabilirim!
Bu çeviri $WeGs’in orijinal paylaşımından SroCave topluluğu için Türkçeleştirilmiştir.




