--kMenuBox is a simple box to hold the admin buttons and whatnot --Array Declarations kMenuBox = {}; --Variable Declarations kMenuBox.Title = nil; kMenuBox.Font = nil; kMenuBox.Active = nil; kMenuBox.Fading = nil; kMenuBox.ColorShadow = nil; kMenuBox.ColorWindow = nil; kMenuBox.ColorHeader = nil; kMenuBox.AlphaHeader = nil; kMenuBox.AlphaWindow = nil; kMenuBox.AlphaShadow = nil; --Function Declarations function kMenuBox:Init() --Declaration of default values to prevent vgui errors when they aren't specified. self.Title = ""; self.Font = "ScoreboardText"; self.AlphaHeader = 255; self.AlphaWindow = 200; self.AlphaShadow = 64; self.ColorShadow = Color(255, 255, 255, self.AlphaShadow) self.ColorWindow = Color(128, 128, 128, self.AlphaWindow) self.ColorHeader = Color(0, 64, 128, self.AlphaHeader) end function kMenuBox:Think() if (self.Fading & !self.Active) then if (self.AlphaShadow > 0) then self.AlphaShadow = (self.AlphaShadow - 0.25) end if (self.AlphaWindow > 0) then self.AlphaWindow = (self.AlphaWindow - 0.25) end if (self.AlphaHeader > 0) then self.AlphaHeader = (self.AlphaHeader - 0.25) else --We're all faded, hide the window and stop fading. self.Fading = false; self.Visible = false; end end if (self.Fading & self.Active) then if (self.AlphaShadow < 64) then self.AlphaShadow = (self.AlphaShadow + 0.25) end if (self.AlphaWindow < 200) then self.AlphaWindow = (self.AlphaWindow + 0.25) end if (self.AlphaHeader < 255) then self.AlphaHeader = (self.AlphaHeader + 0.25) else self.Fading = false; self.Visible = true; end end self.ColorShadow = Color(255, 255, 255, self.AlphaShadow) self.ColorWindow = Color(128, 128, 128, self.AlphaWindow) self.ColorHeader = Color(0, 64, 128, self.AlphaHeader) end function kMenuBox:Paint() draw.RoundedBox( 2, 0, 0, 300, 300, self.ColorShadow ) draw.RoundedBox( 2, 15, 15, 285, 285, self.ColorWindow ) draw.RoundedBox( 2, 5, 5, 50, 25, self.ColorHeader ) draw.RoundedBox( 2, 2, 2, 53, 28, self.ColorShadow ) draw.SimpleText( self.Title, self.Font, 10, 10, Color(255,255,255,0), 1, 1 ) return true; end function kMenuBox:SetTitle( title ) self.Title = title end function kMenuBox:SetFont( font ) self.Font = font end function kMenuBox:Show() self.Active = 1; self.Fading = 1; end function kMenuBox:Hide() self.Active = 0; self.Fading = 1; end --vgui Registration Declaration vgui.Register("kMenuPanel", kMenuPanel)