All pastes #923922 Raw Edit

Stuff

public text v1 · immutable
#923922 ·published 2008-02-29 23:23 UTC
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)