mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-04-19 22:08:34 -04:00
52 lines
817 B
C#
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;
|
|
}
|
|
}
|