I don't really understand why RecordedSplitContainer exists but removing it looks identical and fixes the panel bumping occasionally.
VerticalExpand="False"
VerticalAlignment="Bottom"
HorizontalAlignment="Center">
- <controls:RecordedSplitContainer Name="ScreenContainer" HorizontalExpand="True"
+ <SplitContainer Name="ScreenContainer" HorizontalExpand="True"
VerticalExpand="True" SplitWidth="0"
StretchDirection="TopLeft">
<BoxContainer Orientation="Vertical" VerticalExpand="True" Name="SpawnContainer" MinWidth="200" SetWidth="600">
</BoxContainer>
</PanelContainer>
</LayoutContainer>
- </controls:RecordedSplitContainer>
+ </SplitContainer>
</mapping:MappingScreen>
public override void SetChatSize(Vector2 size)
{
- ScreenContainer.DesiredSplitCenter = size.X;
ScreenContainer.ResizeMode = SplitContainer.SplitResizeMode.RespectChildrenMinSize;
}
+++ /dev/null
-using System.Numerics;
-using Robust.Client.UserInterface.Controls;
-
-namespace Content.Client.UserInterface.Controls;
-
-/// <summary>
-/// A split container that performs an action when the split resizing is finished.
-/// </summary>
-public sealed class RecordedSplitContainer : SplitContainer
-{
- public double? DesiredSplitCenter;
-
- protected override Vector2 ArrangeOverride(Vector2 finalSize)
- {
- if (ResizeMode == SplitResizeMode.RespectChildrenMinSize
- && DesiredSplitCenter != null
- && !finalSize.Equals(Vector2.Zero))
- {
- SplitFraction = (float) DesiredSplitCenter.Value;
-
- if (!Size.Equals(Vector2.Zero))
- {
- DesiredSplitCenter = null;
- }
- }
-
- return base.ArrangeOverride(finalSize);
- }
-}
VerticalExpand="False"
VerticalAlignment="Bottom"
HorizontalAlignment="Center">
- <controls:RecordedSplitContainer Name="ScreenContainer" HorizontalExpand="True" VerticalExpand="True" SplitWidth="0" StretchDirection="TopLeft">
+ <SplitContainer Name="ScreenContainer" HorizontalExpand="True" VerticalExpand="True" SplitWidth="0" StretchDirection="TopLeft">
<LayoutContainer Name="ViewportContainer" HorizontalExpand="True" VerticalExpand="True">
<controls:MainViewport Name="MainViewport"/>
<widgets:GhostGui Name="Ghost" Access="Protected" />
</BoxContainer>
<alerts:AlertsUI Name="Alerts" Access="Protected" />
</LayoutContainer>
- <PanelContainer HorizontalExpand="True" MinWidth="300">
+ <PanelContainer Name="SeparatedChatPanel" MinWidth="300">
<PanelContainer.PanelOverride>
<graphics:StyleBoxFlat BackgroundColor="#2B2C3B" />
</PanelContainer.PanelOverride>
<chat:ChatBox VerticalExpand="True" HorizontalExpand="True" Name="Chat" Access="Protected" MinSize="0 0"/>
</BoxContainer>
</PanelContainer>
- </controls:RecordedSplitContainer>
+ </SplitContainer>
</screens:SeparatedChatGameScreen>
public override void SetChatSize(Vector2 size)
{
- ScreenContainer.DesiredSplitCenter = size.X;
ScreenContainer.ResizeMode = SplitContainer.SplitResizeMode.RespectChildrenMinSize;
}
}