GM/SpawniconGenerated
From Garry's Mod
GM:SpawniconGenerated( )
Contents |
Description
Called when spawn icon is generated.
Arguments
string lastmodel
File path of previously generated model.
Arguments
string imagename
File path of the generated icon.
Arguments
number modelsleft
Amount of models left to generate.
Examples
Example
That's how it is used in garrysmod/lua/includes/gui/icon_progress.lua for show progress of generating icons
local g_Progress = nil hook.Add( "SpawniconGenerated", "SpawniconGenerated", function( lastmodel, imagename, modelsleft ) if ( !IsValid( g_Progress ) ) then g_Progress = vgui.Create( "DPanel" ) g_Progress:SetSize( 64+10, 64+10+20 ) g_Progress:SetBackgroundColor( Color( 0, 0, 0, 100 ) ) g_Progress:SetDrawOnTop( true ) g_Progress:DockPadding( 5, 0, 5, 5 ) g_Progress.Think = function() if ( SysTime() - g_Progress.LastTouch < 3 ) then return end g_Progress:Remove() g_Progress.LastTouch = SysTime() end local label = g_Progress:Add( "DLabel" ) label:Dock( BOTTOM ) label:SetText( "remaining" ) label:SetTextColor( Color( 255, 255, 255, 255 ) ) label:SetExpensiveShadow( 1, Color( 0, 0, 0, 200 ) ) label:SetContentAlignment( 5 ) label:SetHeight( 14 ) label:SetFont( "DefaultSmall" ) g_Progress.Label = g_Progress:Add( "DLabel" ) g_Progress.Label:Dock( BOTTOM ) g_Progress.Label:SetTextColor( Color( 255, 255, 255, 255 ) ) g_Progress.Label:SetExpensiveShadow( 1, Color( 0, 0, 0, 200 ) ) g_Progress.Label:SetContentAlignment( 5 ) g_Progress.Label:SetFont( "DermaDefaultBold" ) g_Progress.Label:SetHeight( 14 ) g_Progress.icon = vgui.Create( "DImage", g_Progress ) g_Progress.icon:SetSize( 64, 64 ) g_Progress.icon:Dock( TOP ) end g_Progress.LastTouch = SysTime() imagename = imagename:Replace( "materials\\", "" ) imagename = imagename:Replace( "materials/", "" ) g_Progress.icon:SetImage( imagename ) g_Progress:AlignRight( 10 ) g_Progress:AlignBottom( 10 ) g_Progress.Label:SetText( modelsleft ) end )
Output: