mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-15 11:40:52 +01:00
58 lines
2.0 KiB
C#
58 lines
2.0 KiB
C#
using Robust.Client.GameStates;
|
|
using Robust.Client.Graphics;
|
|
using Robust.Client.UserInterface.Controls;
|
|
using Robust.Shared.Maths;
|
|
using Robust.Shared.Timing;
|
|
|
|
namespace Robust.Client.UserInterface.CustomControls
|
|
{
|
|
public class DebugTimePanel : PanelContainer
|
|
{
|
|
private readonly IGameTiming _gameTiming;
|
|
private readonly IClientGameStateManager _gameState;
|
|
|
|
private Label _contents;
|
|
|
|
public DebugTimePanel(IGameTiming gameTiming, IClientGameStateManager gameState)
|
|
{
|
|
_gameTiming = gameTiming;
|
|
_gameState = gameState;
|
|
|
|
_contents = new Label
|
|
{
|
|
FontColorShadowOverride = Color.Black,
|
|
};
|
|
AddChild(_contents);
|
|
|
|
PanelOverride = new StyleBoxFlat
|
|
{
|
|
BackgroundColor = new Color(35, 134, 37, 138),
|
|
ContentMarginLeftOverride = 5,
|
|
ContentMarginTopOverride = 5
|
|
};
|
|
|
|
MouseFilter = _contents.MouseFilter = MouseFilterMode.Ignore;
|
|
|
|
HorizontalAlignment = HAlignment.Left;
|
|
}
|
|
|
|
protected override void Update(FrameEventArgs args)
|
|
{
|
|
base.Update(args);
|
|
|
|
if (!VisibleInTree)
|
|
{
|
|
return;
|
|
}
|
|
|
|
// NOTE: CurTick gets incremented by the main loop AFTER Tick runs, not before.
|
|
// This means that CurTick reports the NEXT tick to be ran, NOT the last tick that was ran.
|
|
// This is why there's a -1 on Pred:.
|
|
|
|
_contents.Text = $@"Paused: {_gameTiming.Paused}, CurTick: {_gameTiming.CurTick}/{_gameTiming.CurTick-1}, CurServerTick: {_gameState.CurServerTick}, Pred: {_gameTiming.CurTick.Value - _gameState.CurServerTick.Value-1}
|
|
CurTime: {_gameTiming.CurTime:hh\:mm\:ss\.ff}, RealTime: {_gameTiming.RealTime:hh\:mm\:ss\.ff}, CurFrame: {_gameTiming.CurFrame}
|
|
ServerTime: {_gameTiming.ServerTime}, TickTimingAdjustment: {_gameTiming.TickTimingAdjustment}";
|
|
}
|
|
}
|
|
}
|