Files
sbox-public/game/addons/menu/Code/DevUI/ConsoleOverlay/ConsoleEntry.cs

52 lines
817 B
C#

using Sandbox.UI.Construct;
namespace Sandbox.UI.Dev;
public class ConsoleEntry : Panel
{
public Label Time;
public Label Message;
public LogEvent Event;
public bool AutoDelete;
public RealTimeUntil TimeUntilDelete;
public ConsoleEntry()
{
Time = Add.Label( null, "time" );
Time.Selectable = false;
Message = Add.Label( null, "message" );
}
public override void Tick()
{
base.Tick();
if ( AutoDelete && TimeUntilDelete <= 0 )
{
Delete();
}
}
internal void SetLogEvent( LogEvent e )
{
Event = e;
Time.Text = Event.Time.ToString( "hh:mm:ss" );
Message.Text = Event.Message;
AddClass( e.Level.ToString() );
if ( e.Logger != null )
{
AddClass( e.Logger );
}
}
internal void DeleteIn( float seconds )
{
AutoDelete = true;
TimeUntilDelete = seconds;
}
}