Progress on more stuff

master
AlmTech 5 years ago
parent 15dec01db6
commit d9a4366d55
  1. 7
      gamemode/engine/derma/lib/cl_menu_theme.lua
  2. 30
      gamemode/engine/derma/menus/menu_character.lua
  3. 15
      gamemode/settings/sh_settings.lua

@ -62,14 +62,13 @@ function theme.sharpbutton( b, inClr )
local w, h = b:GetSize() local w, h = b:GetSize()
inClr = inClr || Color( 235, 64, 52, 255 ) inClr = inClr || Color( 235, 64, 52, 255 )
if( b:IsHovered() ) then if( !b:IsHovered() ) then
surface.SetDrawColor( 205, 205, 205, 255 ) surface.SetDrawColor( 205, 205, 205, 255 )
else else
surface.SetDrawColor( 50, 50, 50, 255 ) surface.SetDrawColor( 120, 120, 120, 255 )
end end
surface.DrawOutlinedRect( 0, 0, w, h )
surface.DrawRect( 0, 0, w, h )
surface.SetDrawColor( inClr ) surface.SetDrawColor( inClr )
surface.DrawRect( padding_s/2, padding_s/2, w - padding_s, h - padding_s ) surface.DrawRect( padding_s/2, padding_s/2, w - padding_s, h - padding_s )

@ -16,6 +16,13 @@ local sw, sh = ScrW(), ScrH()
local padding = 10 * resScale local padding = 10 * resScale
local padding_s = 4 * resScale local padding_s = 4 * resScale
local function getClassModels( class )
if( Quantum.Classes[class] ) then
return Quantum.Classes[class].Models
else
Quantum.Error( "Unable to get models from class[" .. tostring( class ) .. "]." )
end
end
local function getMaxModel( tbl, index ) return tbl[math.Clamp( index, 1, #tbl )] end local function getMaxModel( tbl, index ) return tbl[math.Clamp( index, 1, #tbl )] end
@ -72,7 +79,7 @@ local pages = {
local inputs = { local inputs = {
gender = "Male", gender = "Male",
class = "Citizen", class = "Worker",
modelIndex = 1, modelIndex = 1,
name = "" name = ""
} }
@ -92,7 +99,7 @@ local pages = {
-- input panel contens -- -- input panel contens --
local rheader = vgui.Create( "DLabel", ip ) local rheader = vgui.Create( "DLabel", ip )
rheader:SetText("Select Model") rheader:SetText("Select Class")
rheader:SetFont( "q_button2" ) rheader:SetFont( "q_button2" )
rheader:SetTextColor( Color( 255, 255, 255, 255 ) ) rheader:SetTextColor( Color( 255, 255, 255, 255 ) )
rheader:SizeToContents() rheader:SizeToContents()
@ -105,7 +112,7 @@ local pages = {
gbuttons.female = vgui.Create( "DButton", ip ) gbuttons.female = vgui.Create( "DButton", ip )
local selectedGenderButton = gbuttons.female -- select itself local selectedGenderButton = gbuttons.female -- select itself
gbuttons.female:SetText( "Female" ) gbuttons.female:SetText( "Female" )
gbuttons.female:SetTextColor( Color( 0, 0, 0, 255 ) ) gbuttons.female:SetTextColor( Color( 255, 255, 255, 255 ) )
gbuttons.female:SetFont( "q_button2" ) gbuttons.female:SetFont( "q_button2" )
gbuttons.female.Paint = function( self, w, h ) gbuttons.female.Paint = function( self, w, h )
theme.sharpbutton( self ) theme.sharpbutton( self )
@ -163,11 +170,22 @@ local pages = {
for n, class in pairs( Quantum.Classes ) do for n, class in pairs( Quantum.Classes ) do
classCount = classCount + 1 -- keep count classCount = classCount + 1 -- keep count
classButtons[classCount] = vgui.Create( "DButton", cscroll ) classButtons[classCount] = vgui.Create( "DButton", cscroll )
classButtons[classCount].class = class
classButtons[classCount]:SetText( class.Name ) classButtons[classCount]:SetText( class.Name )
classButtons[classCount]:SetFont( "q_button2" ) classButtons[classCount]:SetFont( "q_button2" )
classButtons[classCount]:SetTextColor( Color( 255, 255, 255, 255 ) ) classButtons[classCount]:SetTextColor( Color( 255, 255, 255, 255 ) )
classButtons[classCount]:SizeToContents() classButtons[classCount]:SizeToContents()
classButtons[classCount].Paint = function( self ) theme.sharpbutton( self, Color( 20, 20, 120, 100 ) ) end classButtons[classCount].w, classButtons[classCount].h = classButtons[classCount]:GetSize()
classButtons[classCount]:SetSize( ip.w - padding*2, classButtons[classCount].h )
classButtons[classCount].w, classButtons[classCount].h = classButtons[classCount]:GetSize()
classButtons[classCount]:SetPos( cscroll.w/2 - classButtons[classCount].w/2, (classCount-1) * ( padding + classButtons[classCount].h ) )
classButtons[classCount].Paint = function( self ) theme.sharpbutton( self, Color( 0, 0, 0, 0 ) ) end
classButtons[classCount].DoClick = function( self )
if( inputs.class ~= class ) then
inputs.class = class
surface.PlaySound( "UI/buttonclick.wav" )
end
end
end end
--- set the model --- set the model
@ -180,8 +198,8 @@ local pages = {
mdl:SetLookAt( eyepos ) mdl:SetLookAt( eyepos )
mdl.Think = function( self ) mdl.Think = function( self )
if( self:GetModel() ~= getMaxModel( Quantum.Models.Player[inputs.class][inputs.gender], inputs.modelIndex ) ) then if( self:GetModel() ~= getMaxModel( getClassModels( inputs.class )[inputs.gender], inputs.modelIndex ) ) then
self:SetModel( getMaxModel( Quantum.Models.Player[inputs.class][inputs.gender], inputs.modelIndex ) ) self:SetModel( getMaxModel( getClassModels( inputs.class )[inputs.gender], inputs.modelIndex ) )
end end
end end

@ -34,8 +34,19 @@ Quantum.Models = {
} }
Quantum.Classes = { Quantum.Classes = {
Citizen = { Commoner = { -- id
Name = "Downtown Citizen", Name = "Commoner",
Desc = "Someone who lives in a city.",
Models = Quantum.Models.Player.Citizen Models = Quantum.Models.Player.Citizen
},
Nobleman = {
Name = "Nobleman",
Desc = "A nobleman is someone who originates from a family of wealth and power and tend to look down upon those who are not 'fit' in their eyes. They often expects everyone to do their bidding without question.",
Models = Quantum.Models.Player.Citizen -- change this to better models
},
Worker = {
Name = "Worker",
Desc = "A worker is someone who is in the working-class and come from a poor family but has learned the secret of life; how to work hard and earn what you want.",
Models = Quantum.Models.Player.Citizen -- change this to better models
} }
} }
Loading…
Cancel
Save