Store chat size (#14299)

This commit is contained in:
Flipp Syder
2023-03-06 11:06:57 -08:00
committed by GitHub
parent 11d4dec18f
commit ec3a519a46
10 changed files with 224 additions and 19 deletions

View File

@@ -1,11 +1,13 @@
using Robust.Client.AutoGenerated;
using Content.Client.UserInterface.Systems.Chat.Widgets;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.UserInterface.Screens;
[GenerateTypedNameReferences]
public sealed partial class DefaultGameScreen : UIScreen
public sealed partial class DefaultGameScreen : InGameScreen
{
public DefaultGameScreen()
{
@@ -23,6 +25,14 @@ public sealed partial class DefaultGameScreen : UIScreen
SetAnchorAndMarginPreset(Alerts, LayoutPreset.TopRight, margin: 10);
Chat.OnResized += ChatOnResized;
Chat.OnChatResizeFinish += ChatOnResizeFinish;
}
private void ChatOnResizeFinish(Vector2 _)
{
var marginBottom = Chat.GetValue<float>(MarginBottomProperty);
var marginLeft = Chat.GetValue<float>(MarginLeftProperty);
OnChatResized?.Invoke(new Vector2(marginBottom, marginLeft));
}
private void ChatOnResized()
@@ -30,4 +40,14 @@ public sealed partial class DefaultGameScreen : UIScreen
var marginBottom = Chat.GetValue<float>(MarginBottomProperty);
SetMarginTop(Alerts, marginBottom);
}
public override ChatBox ChatBox => Chat;
//TODO: There's probably a better way to do this... but this is also the easiest way.
public override void SetChatSize(Vector2 size)
{
SetMarginBottom(Chat, size.X);
SetMarginLeft(Chat, size.Y);
SetMarginTop(Alerts, Size.X);
}
}