using Content.Client.Gameplay; using Content.Client.UserInterface.Systems.Chat; using Content.Client.UserInterface.Systems.MenuBar.Widgets; using Robust.Client.Replays.UI; using static Robust.Client.UserInterface.Controls.LayoutContainer; namespace Content.Client.Replay.UI; /// /// Gameplay state when observing/spectating an entity during a replay. /// [Virtual] public class ReplaySpectateEntityState : GameplayState { protected override void Startup() { base.Startup(); var screen = UserInterfaceManager.ActiveScreen; if (screen == null) return; screen.ShowWidget(false); SetAnchorAndMarginPreset(screen.GetOrAddWidget(), LayoutPreset.TopLeft, margin: 10); foreach (var chatbox in UserInterfaceManager.GetUIController().Chats) { chatbox.ChatInput.Visible = false; } } protected override void Shutdown() { var screen = UserInterfaceManager.ActiveScreen; if (screen != null) { screen.RemoveWidget(); screen.ShowWidget(true); } foreach (var chatbox in UserInterfaceManager.GetUIController().Chats) { chatbox.ChatInput.Visible = true; } base.Shutdown(); } }