rendered paste body--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)