add sborka
This commit is contained in:
@@ -0,0 +1,220 @@
|
||||
-- Клиентское меню строительства
|
||||
local PLUGIN = PLUGIN
|
||||
|
||||
if CLIENT then
|
||||
function DrawItems(items, panel, mode, main)
|
||||
for i=1, #items do
|
||||
if items[i].cat == mode then
|
||||
local DButton = panel:Add( "DButton" )
|
||||
DButton:SetHeight(60)
|
||||
DButton:SetFont( "Font1" )
|
||||
DButton:SetText( items[i].name .. " | Запас: " .. items[i].count )
|
||||
DButton:SetIcon( items[i].icon )
|
||||
DButton:Dock( TOP )
|
||||
DButton:DockMargin( 0, 10, 0, 10 )
|
||||
DButton.Paint = function(self, w, h)
|
||||
draw.RoundedBox(5, 0, 0, w, h, Color(0, 0, 0, 255))
|
||||
draw.RoundedBox(5, 2, 2, w-4, h-4, Color(200, 200, 200, 255))
|
||||
end
|
||||
DButton.DoClick = function()
|
||||
if items[i].model != nil then
|
||||
net.Start("buildtrench")
|
||||
net.WriteInt(i, 13)
|
||||
net.SendToServer()
|
||||
main:Close()
|
||||
end
|
||||
if items[i].entity != nil then
|
||||
net.Start("setentity")
|
||||
net.WriteInt(i, 13)
|
||||
net.SendToServer()
|
||||
main:Close()
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
surface.CreateFont("Font3", {
|
||||
font = "Arial",
|
||||
extended = true,
|
||||
weight = 900,
|
||||
size = 24
|
||||
})
|
||||
surface.CreateFont("Font2", {
|
||||
font = "Arial",
|
||||
extended = true,
|
||||
weight = 800,
|
||||
size = 20
|
||||
})
|
||||
surface.CreateFont("Font", {
|
||||
font = "Arial",
|
||||
extended = true,
|
||||
size = 20
|
||||
})
|
||||
surface.CreateFont("Font1", {
|
||||
font = "Arial",
|
||||
weight = 900,
|
||||
extended = true,
|
||||
size = 20
|
||||
})
|
||||
local faded_black = Color(100, 100, 100, 0)
|
||||
|
||||
net.Receive("openmenu", function(len, ply)
|
||||
local alpha1 = 255
|
||||
local alpha2 = 0
|
||||
local alpha3 = 0
|
||||
local alpha4 = 0
|
||||
local catlabel
|
||||
local DScrollPanel
|
||||
local items = net.ReadTable()
|
||||
local mode = 0
|
||||
local main = vgui.Create("DFrame")
|
||||
main:SetSize(500, 500)
|
||||
main:Center()
|
||||
main:SetTitle(" ")
|
||||
main:SetDraggable(false)
|
||||
main:ShowCloseButton(false)
|
||||
main:MakePopup()
|
||||
main.Paint = function(self, w, h)
|
||||
draw.RoundedBox(5, 0, 0, w, h, faded_black)
|
||||
end
|
||||
|
||||
local p = vgui.Create( "DPanel", main )
|
||||
p:Dock( TOP )
|
||||
p:DockMargin( 0, 0, 0, 0 )
|
||||
p:SetHeight(40)
|
||||
p.Paint = function(self, w, h)
|
||||
draw.RoundedBox(5, 0, 0, w, h, Color(0, 0, 0, 255))
|
||||
draw.RoundedBox(5, 2, 2, w-4, h-4, Color(150, 150, 150, 255))
|
||||
end
|
||||
local namelabel = vgui.Create( "DLabel", p )
|
||||
namelabel:Dock( LEFT )
|
||||
namelabel:DockMargin( 20, 0, 20, 0 )
|
||||
namelabel:SetSize(200, 20)
|
||||
namelabel:SetFont( "Font" )
|
||||
namelabel:SetText( "Инженерный комплект" )
|
||||
|
||||
local closebutton = vgui.Create( "DButton", p )
|
||||
closebutton:Dock( RIGHT )
|
||||
closebutton:DockMargin( 20, 0, 20, 0 )
|
||||
closebutton:SetText( " " )
|
||||
closebutton:SetImage("entities/closebutton.png")
|
||||
closebutton:SetSize( 40, 40 )
|
||||
closebutton.Paint = function(self, w, h)
|
||||
draw.RoundedBox(2, 0, 0, w, h, Color(150, 150, 150, 0))
|
||||
end
|
||||
closebutton.DoClick = function()
|
||||
main:Close()
|
||||
end
|
||||
|
||||
local ppp = vgui.Create( "DPanel", main )
|
||||
ppp:Dock( TOP )
|
||||
ppp:DockMargin( 0, 20, 0, 20 )
|
||||
ppp:SetHeight(60)
|
||||
ppp.Paint = function(self, w, h)
|
||||
draw.RoundedBox(5, 0, 0, w, h, Color(0, 0, 0, 255))
|
||||
draw.RoundedBox(5, 2, 2, w-4, h-4, Color(150, 150, 150, 255))
|
||||
end
|
||||
|
||||
local entity = vgui.Create( "DButton", ppp )
|
||||
entity:Dock( LEFT )
|
||||
entity:DockMargin( 70, 10, 0, 10 )
|
||||
entity:SetText( " " )
|
||||
entity:SetImage("entities/entity.png")
|
||||
entity:SetHeight(40)
|
||||
entity:SetWidth(40)
|
||||
entity.Paint = function(self, w, h)
|
||||
draw.RoundedBox(5, 0, 0, w, h, Color(120, 120, 120, alpha1))
|
||||
end
|
||||
entity.DoClick = function()
|
||||
DScrollPanel:GetCanvas():Clear()
|
||||
DrawItems(items, DScrollPanel, 0, main)
|
||||
catlabel:SetText( " Объекты" )
|
||||
alpha1 = 255
|
||||
alpha2 = 0
|
||||
alpha3 = 0
|
||||
alpha4 = 0
|
||||
end
|
||||
|
||||
local tier1 = vgui.Create( "DButton", ppp )
|
||||
tier1:Dock( LEFT )
|
||||
tier1:DockMargin( 70, 10, 0, 10 )
|
||||
tier1:SetText( " " )
|
||||
tier1:SetImage("entities/tier1.png")
|
||||
tier1:SetHeight(40)
|
||||
tier1:SetWidth(40)
|
||||
tier1.Paint = function(self, w, h)
|
||||
draw.RoundedBox(5, 0, 0, w, h, Color(120, 120, 120, alpha2))
|
||||
end
|
||||
tier1.DoClick = function()
|
||||
DScrollPanel:GetCanvas():Clear()
|
||||
DrawItems(items, DScrollPanel, 1, main)
|
||||
catlabel:SetText( "Легкие укрепления" )
|
||||
alpha1 = 0
|
||||
alpha2 = 255
|
||||
alpha3 = 0
|
||||
alpha4 = 0
|
||||
end
|
||||
|
||||
local tier2 = vgui.Create( "DButton", ppp )
|
||||
tier2:Dock( LEFT )
|
||||
tier2:DockMargin( 70, 10, 0, 10 )
|
||||
tier2:SetText( " " )
|
||||
tier2:SetImage("entities/tier2.png")
|
||||
tier2:SetHeight(40)
|
||||
tier2:SetWidth(40)
|
||||
tier2.Paint = function(self, w, h)
|
||||
draw.RoundedBox(5, 0, 0, w, h, Color(120, 120, 120, alpha3))
|
||||
end
|
||||
tier2.DoClick = function()
|
||||
DScrollPanel:GetCanvas():Clear()
|
||||
DrawItems(items, DScrollPanel, 2, main)
|
||||
catlabel:SetText( "Средние укрепления" )
|
||||
alpha1 = 0
|
||||
alpha2 = 0
|
||||
alpha3 = 255
|
||||
alpha4 = 0
|
||||
end
|
||||
|
||||
local tier3 = vgui.Create( "DButton", ppp )
|
||||
tier3:Dock( LEFT )
|
||||
tier3:DockMargin( 70, 10, 0, 10 )
|
||||
tier3:SetText( " " )
|
||||
tier3:SetImage("entities/tier3.png")
|
||||
tier3:SetHeight(40)
|
||||
tier3:SetWidth(40)
|
||||
tier3.Paint = function(self, w, h)
|
||||
draw.RoundedBox(5, 0, 0, w, h, Color(120, 120, 120, alpha4))
|
||||
end
|
||||
tier3.DoClick = function()
|
||||
DScrollPanel:GetCanvas():Clear()
|
||||
DrawItems(items, DScrollPanel, 3, main)
|
||||
catlabel:SetText( "Тяжелые укрепления" )
|
||||
alpha1 = 0
|
||||
alpha2 = 0
|
||||
alpha3 = 0
|
||||
alpha4 = 255
|
||||
end
|
||||
|
||||
local pp = vgui.Create( "DPanel", main )
|
||||
pp:Dock( TOP )
|
||||
pp:DockMargin( 0, 0, 0, 20 )
|
||||
pp:SetHeight(300)
|
||||
pp.Paint = function(self, w, h)
|
||||
draw.RoundedBox(5, 0, 0, w, h, Color(0, 0, 0, 255))
|
||||
draw.RoundedBox(5, 2, 2, w-4, h-4, Color(150, 150, 150, 255))
|
||||
end
|
||||
|
||||
catlabel = vgui.Create( "DLabel", pp )
|
||||
catlabel:Dock( TOP )
|
||||
catlabel:DockMargin( 170, 20, 0, 10 )
|
||||
catlabel:SetSize(350, 20)
|
||||
catlabel:SetFont( "Font" )
|
||||
catlabel:SetText( " Объекты" )
|
||||
|
||||
DScrollPanel = vgui.Create( "DScrollPanel", pp )
|
||||
DScrollPanel:Dock( TOP )
|
||||
DScrollPanel:SetHeight(240)
|
||||
DScrollPanel:DockMargin( 6, 6, 6, 6 )
|
||||
DrawItems(items, DScrollPanel, 0, main)
|
||||
end)
|
||||
end
|
||||
Reference in New Issue
Block a user