diff options
Diffstat (limited to 'gamemode/vgui/vgui_itempanel.lua')
| -rw-r--r-- | gamemode/vgui/vgui_itempanel.lua | 276 |
1 files changed, 138 insertions, 138 deletions
diff --git a/gamemode/vgui/vgui_itempanel.lua b/gamemode/vgui/vgui_itempanel.lua index d017c71..ffb4879 100644 --- a/gamemode/vgui/vgui_itempanel.lua +++ b/gamemode/vgui/vgui_itempanel.lua @@ -4,13 +4,13 @@ function PANEL:Init() //self:ShowCloseButton( false ) self:SetKeyboardInputEnabled( false ) - //self:SetDraggable( true ) + //self:SetDraggable( true ) self.FuncList = {} - + self.Stashable = false self.StashStyle = "Take" self.PriceScale = 1 - + end function PANEL:SetPriceScale( scale ) @@ -33,36 +33,36 @@ end function PANEL:OnMousePressed() self:MouseCapture( true ) - + if ( self.NextClick or 0 ) > CurTime() then - + if self.StashStyle == "Buy" then - + if LocalPlayer():GetNWInt( "Cash", 0 ) >= self.ItemTable.Price then - + RunConsoleCommand( "inv_buy", self.ID, 1 ) GAMEMODE:AddToCart( self.ItemTable, 1 ) //SaleScreen:AddItems( self.ID, 1 ) - + end - + end - + else - + GAMEMODE:SetItemToPreview( self.ID, self.StashStyle, self.PriceScale, self:GetCount() ) - + self.NextClick = CurTime() + 0.3 - + end - + end function PANEL:OnMouseReleased( mc ) self.Dragging = nil self:MouseCapture( false ) - + if mc != MOUSE_RIGHT then return end self:MouseMenu() @@ -73,159 +73,159 @@ function PANEL:MouseMenu() local menu = vgui.Create( "DMenu", self ) menu:AddOption( "Cancel" ) - + if self.Stashable then - + if self.StashStyle == "Take" then - + menu:AddOption( self.StashStyle, function() RunConsoleCommand( "inv_take", self.ID, 1 ) end ) - + if self:GetCount() > 1 then - + if self:GetCount() > 3 then - + local submenu = menu:AddSubMenu( "Take Multiple" ) - + for k,v in pairs{ 3, 5, 10, 20 } do - + if self:GetCount() > v then - + submenu:AddOption( "Take "..v, function() RunConsoleCommand( "inv_take", self.ID, v ) end ) - + end - + end - + end - + menu:AddOption( "Take All", function() RunConsoleCommand( "inv_take", self.ID, self:GetCount() ) end ) - + end - + menu:Open() return - + elseif self.StashStyle == "Buy" then - + menu:AddOption( self.StashStyle, function() if LocalPlayer():GetNWInt( "Cash", 0 ) >= self.ItemTable.Price then - + RunConsoleCommand( "inv_buy", self.ID, 1 ) GAMEMODE:AddToCart( self.ItemTable, 1 ) //SaleScreen:AddItems( self.ID, 1 ) - + end end ) - + local submenu = menu:AddSubMenu( "Buy Multiple" ) - + for k,v in pairs{ 3, 5, 10, 20 } do - + submenu:AddOption( "Buy "..v, function() if LocalPlayer():GetNWInt( "Cash", 0 ) >= self.ItemTable.Price * v then - + RunConsoleCommand( "inv_buy", self.ID, v ) GAMEMODE:AddToCart( self.ItemTable, v ) //SaleScreen:AddItems( self.ID, 1 ) - + end end ) - + end - + menu:Open() return - + elseif self.StashStyle == "Sell" then - + if !self.NotSellable then - + menu:AddOption( self.StashStyle, function() RunConsoleCommand( "inv_sell", self.ID, 1 ) end ) - + if self:GetCount() > 1 then - + if self:GetCount() > 3 then - + local submenu = menu:AddSubMenu( "Sell Multiple" ) - + for k,v in pairs{ 3, 5, 10, 20 } do - + if self:GetCount() > v then - + submenu:AddOption( "Sell "..v, function() RunConsoleCommand( "inv_sell", self.ID, v ) end ) - + end - + end - + end - + menu:AddOption( "Sell All", function() RunConsoleCommand( "inv_sell", self.ID, self:GetCount() ) end ) - + end - + end - + else - - menu:AddOption( self.StashStyle, function() RunConsoleCommand( "inv_store", self.ID, 1 ) end ) - + + menu:AddOption( self.StashStyle, function() RunConsoleCommand( "inv_store", self.ID, 1 ) end ) + if self:GetCount() > 1 then - + if self:GetCount() > 3 then - + local submenu = menu:AddSubMenu( "Stash Multiple" ) - + for k,v in pairs{ 3, 5, 10, 20 } do - + if self:GetCount() > v then - + submenu:AddOption( "Stash "..v, function() RunConsoleCommand( "inv_store", self.ID, v ) end ) - + end - + end - + end - + menu:AddOption( "Stash All", function() RunConsoleCommand( "inv_store", self.ID, self:GetCount() ) end ) - + end - + end - + end - + if not self.IsWeapon then - + menu:AddOption( "Drop", function() RunConsoleCommand( "inv_drop", self.ID, 1 ) end ) - + end - + if self:GetCount() > 1 and not self.IsWeapon then - + if self:GetCount() > 3 then - + local submenu = menu:AddSubMenu( "Drop Multiple" ) - + for k,v in pairs{ 3, 5, 10, 20 } do - + if self:GetCount() > v then - + submenu:AddOption( "Drop "..v, function() RunConsoleCommand( "inv_drop", self.ID, v ) end ) - + end - + end - + end - + menu:AddOption( "Drop All", function() RunConsoleCommand( "inv_drop", self.ID, self:GetCount() ) end ) - + end - + for k,v in pairs( self.FuncList ) do - + menu:AddOption( v( 0, 0, true ), function() RunConsoleCommand( "inv_action", self.ID, k ) end ) - + end - + menu:Open() end @@ -233,15 +233,15 @@ end function PANEL:SetCount( num ) self.ItemCount = num - + if num > 1 then - + self:SetTitle( tostring( num ) ) - + else - + self:SetTitle( "" ) - + end end @@ -249,7 +249,7 @@ end function PANEL:GetCount() return self.ItemCount or 0 - + end function PANEL:AddCount( num ) @@ -261,7 +261,7 @@ end function PANEL:GetID() return self.ID or 0 - + end function PANEL:IsStackable() @@ -280,11 +280,11 @@ function PANEL:SetItemTable( tbl ) self.PanelModel = tbl.Model self.ItemTable = tbl self.ItemTable.Price = tbl.Price or 0 - + if tbl.Sellable != nil and tbl.Sellable == false then - + self.NotSellable = true - + end end @@ -298,31 +298,31 @@ function PANEL:SetModel( model, campos, origin ) self.ModelPanel:SetLookAt( Vector(0,0,0) ) self.ModelPanel.OnMousePressed = function( mc ) self:OnMousePressed( mc ) end self.ModelPanel.OnMouseReleased = function( mc ) self:OnMouseReleased( mc ) end - + if CamPosOverride then - + campos = CamPosOverride - + end - + if CamOrigOverride then - + origin = CamOrigOverride - + end - + if campos then - + self.ModelPanel:SetCamPos( campos ) self.ModelPos = campos - + end - + if origin then - + self.ModelPanel:SetLookAt( origin ) self.ModelOrigin = origin - + end end @@ -334,35 +334,35 @@ function PANEL:SetSizeOverride( size ) end function PANEL:PerformLayout() - + if self.ModelPanel then - + self.ModelPanel:SetPos( self:GetPadding(), self:GetPadding() ) - + if self.SizeOverride then - + self.ModelPanel:SetSize( self.SizeOverride - 2, self.SizeOverride - 2 ) - + else - + self.ModelPanel:SetSize( 62, 62 ) - + end - + end self:SizeToContents() - + if self.SizeOverride then - + self:SetSize( self.SizeOverride, self.SizeOverride ) - + else - + self:SetSize( 64, 64 ) - + end - + end function PANEL:Paint() @@ -374,28 +374,28 @@ function PANEL:Paint() end //if self.SizeOverride then - + draw.RoundedBox( 0, 3, 3, self:GetWide() - 6, self:GetTall() - 6, Color( 80, 80, 80, 50 ) ) - + if self.StashStyle == "Buy" then - + if LocalPlayer():GetNWInt( "Cash", 0 ) >= self.ItemTable.Price then - + surface.SetDrawColor( 100, 200, 100, 200 ) - + else - + surface.SetDrawColor( 200, 100, 100, 200 ) - + end - + else - + surface.SetDrawColor( 200, 200, 200, 200 ) - + end - - + + surface.DrawOutlinedRect( 3, 3, self:GetWide() - 6, self:GetTall() - 6 ) |
