new post | browse code | authors | help | about

LuaBin 2.0

Viewing file root / lua / menu / singleplayer.lua

  1. //=============================================================================//
  2. //  ___  ___   _   _   _    __   _   ___ ___ __ __
  3. // |_ _|| __| / \ | \_/ |  / _| / \ | o \ o \\ V /
  4. //  | | | _| | o || \_/ | ( |_n| o ||   /   / \ /
  5. //  |_| |___||_n_||_| |_|  \__/|_n_||_|\\_|\\ |_|  2007
  6. //                                                                               
  7. //=============================================================================//
  8.  
  9. language.Add( "SingleplayerGame", "Singleplayer Game" )
  10.  
  11. local PANEL = {}
  12.  
  13. /*---------------------------------------------------------
  14.         Init
  15. ---------------------------------------------------------*/
  16. function PANEL:Init()
  17.  
  18.         self:SetMouseInputEnabled( true )
  19.         self:SetKeyboardInputEnabled( true )
  20.        
  21.         self:SetDeleteOnClose( false )
  22.        
  23.         self:SetTitle( "#SingleplayerGame" )
  24.        
  25.         self:CreateControls()
  26.        
  27. end
  28.  
  29.  
  30. /*---------------------------------------------------------
  31.         CreateControls
  32. ---------------------------------------------------------*/
  33. function PANEL:CreateControls()
  34.  
  35.         self.StartGame = vgui.Create( "StartGame", self )
  36.         self.MapSheet = vgui.Create( "DPropertySheet", self )
  37.        
  38.         self.MapIcons = vgui.Create( "MapListIcons" )
  39.         self.MapIcons:SetController( self.StartGame )
  40.         self.MapIcons:Setup()
  41.        
  42.         local MapList = vgui.Create( "MapListList" )
  43.         MapList:SetController( self.StartGame )
  44.        
  45.         local Options = vgui.Create( "MapListOptions", self )
  46.         Options:SetupSinglePlayer()
  47.                
  48.         self.MapSheet:AddSheet( "Icons", self.MapIcons, "gui/silkicons/application_view_tile" )
  49.         self.MapSheet:AddSheet( "List", MapList, "gui/silkicons/application_view_detail" )
  50.         self.MapSheet:AddSheet( "Options", Options, "gui/silkicons/application_view_detail" )
  51.  
  52. end
  53.  
  54. /*---------------------------------------------------------
  55.         PerformLayout
  56. ---------------------------------------------------------*/
  57. function PANEL:PerformLayout()
  58.  
  59.         self:SetSize( 450, ScrH() * 0.8 )
  60.        
  61.         self.MapSheet:SetPos( 8, 25 )
  62.         self.MapSheet:SetSize( self:GetWide() - 16, self:GetTall() - 25 - 8 - 60 - 8 )
  63.         self.MapSheet:InvalidateLayout()
  64.        
  65.         self.StartGame:SetPos( 8, self:GetTall() - 60 - 8 )
  66.         self.StartGame:SetSize( self:GetWide() - 16, 60 )
  67.        
  68.         self.BaseClass.PerformLayout( self )
  69.        
  70. end
  71.  
  72. function PANEL:RebuildFavourites()
  73.  
  74.         self.MapIcons:RebuildFavourites()
  75.  
  76. end
  77.  
  78. vgui.Register( "StartSinglePlayerGame", PANEL, "DFrame" )
  79.  
  80. SinglePlayerMenu = vgui.Create( "StartSinglePlayerGame" )
  81. SinglePlayerMenu:SetVisible( false )
  82.  
  83. local function menu_singleplayer()
  84.  
  85.         if ( SinglePlayerMenu ) then
  86.        
  87.                 SinglePlayerMenu:SetVisible( true )
  88.                 SinglePlayerMenu:Center()
  89.                 SinglePlayerMenu:MakePopup()
  90.        
  91.         end
  92.  
  93. end
  94.  
  95. concommand.Add( "menu_singleplayer", menu_singleplayer )
  96.  
  97. local function CloseSinglePlayerMenu()
  98.  
  99.         if ( SinglePlayerMenu ) then
  100.                 SinglePlayerMenu:Close()
  101.         end
  102.  
  103. end
  104.  
  105. hook.Add( "StartGame", "CloseSinglePlayerMenu", CloseSinglePlayerMenu )