UI Yapılandırması
UI ile ilgili ayarlar şu dosya üzerinden kontrol edilir:
shared/config.lua
UI sistemi şu yapılar üzerine tasarlanmıştır:
- klavye odaklı kullanım
- düşük bağımlılık kullanımı
- geliştirici özelleştirmeleri
- modüler etkileşim yönetimi
UI Yapısı
Ana UI yapılandırması:
Config.UI = {}
Bu bölüm şunları kontrol eder:
- hotkey sistemleri
- etkileşim gecikmeleri
- yardımcı araç işlemleri
- bilgi panelleri
- kıyafet etkileşim sistemleri
Hotkey Gecikmesi
Yapılandırma:
Config.UI.HotkeyDelay = 500
Menü açıldıktan sonra UI hotkey sistemlerinin aktif olacağı gecikmeyi (milisaniye cinsinden) belirler.
Amaç:
- yanlışlıkla tuş basımlarını önlemek
- basılı tutulan tuşların anında işlem yapmasını önlemek
- menü kararlılığını geliştirmek
Fener Sistemi
Yapılandırma:
Config.UI.EnableFlashlight = true
Appearance menüsü içerisindeki fener yardımcı butonunu aktif eder.
Bu yapı oyuncuların karakter özelleştirirken karanlık alanları aydınlatmasını sağlar.
Eller Yukarı Sistemi
Yapılandırma:
Config.UI.EnableHandsUp = true
Menü içerisindeki eller yukarı işlemini aktif eder.
Şunlar için kullanışlıdır:
- torso kıyafetlerini kontrol etmek
- aksesuarları kontrol etmek
- yan detayları görüntülemek
Bilgi Paneli
Yapılandırma:
Config.UI.EnableInfoPanel = true
Dahili bilgi/yardım panelini kontrol eder.
Panel şunları içerebilir:
- hotkey bilgileri
- etkileşim açıklamaları
- menü kullanım ipuçları
- geliştirici tarafından eklenen açıklamalar
Clothes-Off Sistemi
Yapılandırma:
Config.UI.EnableClothesOff = true
Kıyafet çıkarma sistemini aktif eder.
Bu yapı oyuncuların:
- kıyafet parçalarını çıkarmasını
- fallback kıyafetlerini önizlemesini
- component sistemlerini geçici olarak gizlemesini
sağlar.
Sistem şu dosya içerisinde yapılandırılmış fallback kıyafet değerlerini kullanır:
shared/data/outfits.lua
Menü Mimarisi
UI sistemi dahili olarak sistemleri birden fazla menü grubuna ayırır.
Örnekler:
- clothing
- barber
- surgeon
- tattoos
- outfits
- accessories
Her bölüm bağımsız çalışır.
NUI Yapısı
UI dosyaları şu klasör içerisinde bulunur:
ui/
Ana dosyalar:
ui/index.html
ui/css/style.css
ui/javascript/main.js
HTML Yapısı
Ana arayüz container yapısı:
<div class="appearances">
<div class="buttons"></div>
<div class="appearance"></div>
</div>
Arayüz JavaScript kullanılarak menü elemanlarını dinamik şekilde oluşturur.
Karakter Alanı
UI sistemi etkileşimli bir vücut alanı sistemi içerir.
Örnek:
<div id="character_area" class="character_area">
Bu sistem şunlar için kullanılır:
- vücut bölgesi seçimi
- kamera odaklama
- hızlı gezinme
Soru / Onay Sistemi
UI sistemi dahili bir onay sistemi içerir.
Şunlar için kullanılır:
- kayıt onayları
- iptal onayları
- önbellek onayları
- silme onayları
Örnek işleyiş:
Apply
Cancel
Delete
Confirm
Önbellek Onay UI Sistemi
Yüz önbellek sistemi özel bir onay penceresi kullanır.
Desteklenen işlemler:
- kayıtlı veriyi uygulama
- iptal etme
- kayıtlı önbelleği silme
Bu sistem locale dosyaları üzerinden tamamen çevrilebilir yapıdadır.
Dil Desteği
UI sistemi çoklu dil desteğini şu yapı üzerinden sağlar:
shared/language/*
Desteklenen diller:
- Türkçe
- İngilizce
- İspanyolca
- Almanca
- Fransızca
- Rusça
Klavye Kullanımı
UI sistemi temel olarak klavye kullanımı için tasarlanmıştır.
Örnekler:
- enter
- backspace
- yön tuşları ile gezinme
- hotkey işlemleri
Hotkey gecikme sistemi özellikle klavye kararlılığını geliştirmek için bulunur.
Stil Yapısı
Ana UI stil yapısı şu dosya içerisinde bulunur:
ui/css/style.css
Geliştiriciler şunları özelleştirebilir:
- renkler
- layout yapısı
- boşluk sistemleri
- geçiş animasyonları
- glow efektleri
- panel konumları
JavaScript Mantığı
Ana UI davranışı şu dosya üzerinden kontrol edilir:
ui/javascript/main.js
Şunları içerir:
- menü oluşturma sistemi
- buton yönetimi
- NUI callback sistemleri
- animasyonlar
- etkileşim mantığı
Önerilen Özelleştirme İşleyişi
Önerilen düzenleme sırası:
1. config.lua
2. dil dosyaları
3. style.css
4. main.js
Gerekli olmadıkça korunan gameplay mantığını düzenlemekten kaçının.