new post | browse code | authors | help | about

LuaBin 2.0

Viewing file root / lua / menu / achievement_panel.lua

  1. //=============================================================================//
  2. //  ___  ___   _   _   _    __   _   ___ ___ __ __
  3. // |_ _|| __| / \ | \_/ |  / _| / \ | o \ o \\ V /
  4. //  | | | _| | o || \_/ | ( |_n| o ||   /   / \ /
  5. //  |_| |___||_n_||_| |_|  \__/|_n_||_|\\_|\\ |_|  2009
  6. //                                                                               
  7. //=============================================================================//
  8.  
  9. include( "ProgressBar.lua" )
  10.  
  11. local PANEL = {}
  12.  
  13. /*---------------------------------------------------------
  14.  
  15. ---------------------------------------------------------*/
  16. function PANEL:Init()
  17.  
  18.         self:SetMouseInputEnabled( true )
  19.         self:SetKeyboardInputEnabled( false )
  20.        
  21.         self.Name = vgui.Create( "DLabel", self )
  22.         self.Name:SetFont( "Trebuchet22" )
  23.         self.Name:SetColor( Color( 170, 240, 90 ) )
  24.         self.Name:SetText( "Unnammed"  )
  25.        
  26.         self.NameShadow = vgui.Create( "DLabel", self )
  27.         self.NameShadow:SetFont( "Trebuchet22" )
  28.         self.NameShadow:SetColor( Color( 0, 0, 0, 100 ) )
  29.         self.NameShadow:SetText( "Unnammed"  )
  30.        
  31.         self.Desc = vgui.Create( "DLabel", self )
  32.         self.Desc:SetFont( "DefaultBold" )
  33.         self.Desc:SetColor( Color( 255, 255, 255, 200 ) )
  34.         self.Desc:SetText( "Kill 15 pigeons with a shotgun bitch"  )
  35.        
  36.         self.Icon = vgui.Create( "AchievementIcon", self )
  37.         self.Icon:SetBGColor( Color( 255, 0, 0, 255 ) );
  38.        
  39.         self.ProgressBar = vgui.Create( "DProgressBar", self )
  40.        
  41.         self:SetBackgroundColor( Color( 100, 100, 100, 255 ) )
  42.        
  43. end
  44.  
  45.  
  46. function PANEL:SetContentsAlpha( alpha )
  47.        
  48.         self.m_bDull = true
  49.        
  50.         /*
  51.         self.Name:SetAlpha( alpha )
  52.         self.NameShadow:SetAlpha( alpha )
  53.         self.Desc:SetAlpha( alpha )
  54.         self.Icon:SetAlpha( alpha )
  55.         self.ProgressBar:SetAlpha( alpha )
  56.         */     
  57.        
  58. end
  59.  
  60. /*---------------------------------------------------------
  61.  
  62. ---------------------------------------------------------*/
  63. function PANEL:SetNumber( i )
  64.  
  65.         self.Name:SetText( tostring( achievements.GetName( i ) ) )
  66.         self.NameShadow:SetText( tostring( achievements.GetName( i ) ) )
  67.        
  68.         self.Desc:SetText( tostring( achievements.GetDesc( i ) ) )
  69.        
  70.         self:SetSize( 74, 74 )
  71.        
  72.         self.Icon:SetAchievement( i )
  73.        
  74.         self.ProgressBar:SetVisible( false )
  75.        
  76.         local iCount = achievements.GetCount( i )
  77.         local iGoal = achievements.GetGoal( i )
  78.        
  79.         if ( iGoal > 1 ) then
  80.                 self.ProgressBar:SetVisible( true )
  81.                 self.ProgressBar:SetMin( 0 )
  82.                 self.ProgressBar:SetMax( iGoal )
  83.                 self.ProgressBar:SetValue( iCount )
  84.         end
  85.        
  86. end
  87.  
  88. /*---------------------------------------------------------
  89.  
  90. ---------------------------------------------------------*/
  91. function PANEL:PerformLayout()
  92.  
  93.         self.Icon:SetPos( 5, 5 )
  94.         self.Icon:SetSize( 64, 64 )
  95.        
  96.         self.Name:SizeToContents()
  97.         self.Name:AlignTop( 5 )
  98.         self.Name:MoveRightOf( self.Icon, 10 )
  99.         self.Name:SetZPos( 100 )
  100.        
  101.         self.NameShadow:CopyBounds( self.Name )
  102.         self.NameShadow.x = self.NameShadow.x + 2
  103.         self.NameShadow.y = self.NameShadow.y + 2
  104.        
  105.         self.Desc:SizeToContents()
  106.         self.Desc:CopyPos( self.Name )
  107.         self.Desc:MoveBelow( self.Name, 0 )
  108.        
  109.         self.ProgressBar:SetPos( 10, 10 )
  110.         self.ProgressBar:SetSize( 20, 20 )
  111.         self.ProgressBar:AlignBottom( 5 )
  112.         self.ProgressBar:MoveRightOf( self.Icon, 10 )
  113.         self.ProgressBar:StretchToParent( nil, nil, 10, nil )
  114.        
  115.        
  116. end
  117.  
  118. /*---------------------------------------------------------
  119.  
  120. ---------------------------------------------------------*/
  121. function PANEL:PaintOver()
  122.        
  123.         if ( self.m_bDull ) then
  124.                 draw.RoundedBox( 4, 0, 0, self:GetWide(), self:GetTall(), Color( 100, 100, 100, 200 ) )
  125.         end
  126.        
  127. end
  128.  
  129. vgui.Register( "AchievementPanel", PANEL, "DPanel" )