MatSelect
Açıklama
Material & Lamba Sandbox araçları tarafından doku seçimi için kullanılan panel. Yalnızca Sandbox'ta kullanılmasına rağmen, bu oyun moduna özel değildir.
Prop seçme alternatifi için ayrıca bakınız: PropSelect.
Ebeveyn
Bu sayfada listelenmeyen metotları vb. ContextBase'den türetir.
Uygular
Aşağıdaki kancaları/metotları uygular veya geçersiz kılar. Bunları geçersiz kılmak isterseniz, muhtemelen orijinal fonksiyonu da çağırmanız gerekir.
Olaylar
MatSelect:OnRightClick( Panel pnl )
Oyuncu bir materyale sağ tıkladığında çağrılır.
Varsayılan olarak bu, oyuncunun materyal yolunu kopyalamasına olanak tanıyan bir menü açar.
Bir DImageButton seçildiğinde onun için bir üzerine çizim fonksiyonu tanımlar.
Bu fonksiyonun bağlamında `self`, DImageButton'ın kendisidir!
Metotlar
Seçim listesine yeni bir materyal ekler.
Seçim listesine, bazı ekstra seçeneklerle birlikte yeni bir materyal ekler.
MatSelect:FindAndSelectMaterial( string mat )
Bu panelde mevcutsa bir materyal bulur ve seçer.
Girdi materyal yoluna göre bir DImageButton paneli bulur.
boolean MatSelect:GetAutoHeight()
Panelin, tüm materyalleri kendi yüksekliğine sığdırmak için kendi yüksekliğini ayarlayıp ayarlamayacağını döndürür.
MatSelect:SelectMaterial( DImageButton mat )
Bu dahili olarak kullanılır - kullanabilseniz de muhtemelen kullanmamalısınız.
Bunun yerine MatSelect:FindAndSelectMaterial kullanın.
Verilen bir materyal panelini seçer.
MatSelect:SetAutoHeight( boolean autoSize )
Panelin, tüm materyalleri kendi yüksekliğine sığdırmak için kendi yüksekliğini ayarlayıp ayarlamayacağını belirler.
MatSelect:SetItemHeight( number height )
Tek bir materyalin yüksekliğini piksel cinsinden ayarlar.
MatSelect:SetItemWidth( number width )
Tek bir materyalin genişliğini piksel cinsinden ayarlar.
MatSelect:SetNumRows( number rows )
Panelin hedef yüksekliğini satır sayısı olarak ayarlar.
Örnek
Panelin örnek kullanımı.
local frame = vgui.Create( "DFrame" )
frame:SetSize( 500, 500 )
frame:Center()
frame:MakePopup()
local MatSelect = vgui.Create( "MatSelect", frame )
MatSelect:Dock( TOP )
Derma_Hook( MatSelect.List, "Paint", "Paint", "Panel" )
-- MatSelect:SetConVar( "my_convar_name" )
MatSelect:SetAutoHeight( true )
MatSelect:SetItemWidth( 64 )
MatSelect:SetItemHeight( 64 )
local items = {
"effects/flashlight001",
"effects/flashlight/slit",
"effects/flashlight/circles"
}
for k, material in pairs( items ) do
MatSelect:AddMaterial( "Item #" .. k, material )
end
function MatSelect:OnSelect( mat, pnl )
print( "Selected material: ", mat )
end
Çıktı: 

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord