new post | browse code | authors | help | about

LuaBin 2.0

Viewing file root / lua / menu / multiplayer.lua

  1. //=============================================================================//
  2. //  ___  ___   _   _   _    __   _   ___ ___ __ __
  3. // |_ _|| __| / \ | \_/ |  / _| / \ | o \ o \\ V /
  4. //  | | | _| | o || \_/ | ( |_n| o ||   /   / \ /
  5. //  |_| |___||_n_||_| |_|  \__/|_n_||_|\\_|\\ |_|  2007
  6. //                                                                               
  7. //=============================================================================//
  8.  
  9. language.Add( "MultiplayerGame", "Multiplayer 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( "#MultiplayerGame" )
  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.StartGame:SetMultiplayer()
  37.        
  38.         self.MapSheet = vgui.Create( "DPropertySheet", self )
  39.        
  40.         self.MapIcons = vgui.Create( "MapListIcons" )
  41.         self.MapIcons:SetController( self.StartGame )
  42.         self.MapIcons:Setup()
  43.        
  44.         local MapList = vgui.Create( "MapListList" )
  45.         MapList:SetController( self.StartGame )
  46.        
  47.         local Options = vgui.Create( "MapListOptions", self )
  48.         Options:SetupMultiPlayer()
  49.                
  50.         self.MapSheet:AddSheet( "Icons", self.MapIcons, "gui/silkicons/application_view_tile" )
  51.         self.MapSheet:AddSheet( "List", MapList, "gui/silkicons/application_view_detail" )
  52.         self.MapSheet:AddSheet( "Options", Options, "gui/silkicons/application_view_detail" )
  53.  
  54. end
  55.  
  56. /*---------------------------------------------------------
  57.         PerformLayout
  58. ---------------------------------------------------------*/
  59. function PANEL:PerformLayout()
  60.  
  61.         self:SetSize( 450, ScrH() * 0.8 )
  62.        
  63.         self.MapSheet:SetPos( 8, 25 )
  64.         self.MapSheet:SetSize( self:GetWide() - 16, self:GetTall() - 25 - 8 - 60 - 8 )
  65.         self.MapSheet:InvalidateLayout()
  66.        
  67.         self.StartGame:SetPos( 8, self:GetTall() - 60 - 8 )
  68.         self.StartGame:SetSize( self:GetWide() - 16, 60 )
  69.        
  70.         self.BaseClass.PerformLayout( self )
  71.        
  72. end
  73.  
  74. function PANEL:RebuildFavourites()
  75.  
  76.         self.MapIcons:RebuildFavourites()
  77.  
  78. end
  79.  
  80. vgui.Register( "StartMultiPlayerGame", PANEL, "DFrame" )
  81.  
  82. MultiPlayerMenu = vgui.Create( "StartMultiPlayerGame" )
  83. MultiPlayerMenu:SetVisible( false )
  84.  
  85. local function menu_multiplayer()
  86.  
  87.         if ( MultiPlayerMenu ) then
  88.        
  89.                 MultiPlayerMenu:SetVisible( true )
  90.                 MultiPlayerMenu:Center()
  91.                 MultiPlayerMenu:MakePopup()
  92.        
  93.         end
  94.  
  95. end
  96.  
  97. concommand.Add( "menu_multiplayer", menu_multiplayer )
  98.  
  99. local function CloseMultiPlayerMenu()
  100.  
  101.         if ( MultiPlayerMenu ) then
  102.                 MultiPlayerMenu:Close()
  103.         end
  104.  
  105. end
  106.  
  107. hook.Add( "StartGame", "CloseMultiPlayerMenu", CloseMultiPlayerMenu )