Fix vote popup (#14940)
This commit is contained in:
@@ -15,7 +15,14 @@
|
||||
<LayoutContainer Name="ViewportContainer" HorizontalExpand="True" VerticalExpand="True">
|
||||
<controls:MainViewport Name="MainViewport"/>
|
||||
</LayoutContainer>
|
||||
<menuBar:GameTopMenuBar Name="TopBar" Access="Protected" />
|
||||
<BoxContainer Name="TopLeft" Access="Protected" Orientation="Vertical">
|
||||
<BoxContainer Orientation="Horizontal">
|
||||
<menuBar:GameTopMenuBar Name="TopBar" Access="Protected" />
|
||||
<!-- Buffer so big votes don't skew it -->
|
||||
<Control/>
|
||||
</BoxContainer>
|
||||
<Control Name="VoteMenu" Access="Public" Margin="0 10 0 10"/>
|
||||
</BoxContainer>
|
||||
<widgets:GhostGui Name="Ghost" Access="Protected" />
|
||||
<hotbar:HotbarGui Name="Hotbar" Access="Protected" />
|
||||
<actions:ActionsBar Name="Actions" Access="Protected" />
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
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;
|
||||
@@ -17,7 +15,7 @@ public sealed partial class DefaultGameScreen : InGameScreen
|
||||
|
||||
SetAnchorPreset(MainViewport, LayoutPreset.Wide);
|
||||
SetAnchorPreset(ViewportContainer, LayoutPreset.Wide);
|
||||
SetAnchorAndMarginPreset(TopBar, LayoutPreset.TopLeft, margin: 10);
|
||||
SetAnchorAndMarginPreset(TopLeft, LayoutPreset.TopLeft, margin: 10);
|
||||
SetAnchorAndMarginPreset(Actions, LayoutPreset.BottomLeft, margin: 10);
|
||||
SetAnchorAndMarginPreset(Ghost, LayoutPreset.BottomWide, margin: 80);
|
||||
SetAnchorAndMarginPreset(Hotbar, LayoutPreset.BottomWide, margin: 5);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
<controls:RecordedSplitContainer Name="ScreenContainer" HorizontalExpand="True" VerticalExpand="True" SplitWidth="0" StretchDirection="TopLeft">
|
||||
<LayoutContainer Name="ViewportContainer" HorizontalExpand="True" VerticalExpand="True">
|
||||
<controls:MainViewport Name="MainViewport"/>
|
||||
<Control Name="VoteMenu" Access="Public"/>
|
||||
<widgets:GhostGui Name="Ghost" Access="Protected" />
|
||||
<hotbar:HotbarGui Name="Hotbar" Access="Protected" />
|
||||
<actions:ActionsBar Name="Actions" Access="Protected" />
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
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;
|
||||
|
||||
@@ -18,6 +17,7 @@ public sealed partial class SeparatedChatGameScreen : InGameScreen
|
||||
SetAnchorPreset(ScreenContainer, LayoutPreset.Wide);
|
||||
SetAnchorPreset(ViewportContainer, LayoutPreset.Wide);
|
||||
SetAnchorPreset(MainViewport, LayoutPreset.Wide);
|
||||
SetAnchorAndMarginPreset(VoteMenu, LayoutPreset.TopLeft, margin: 10);
|
||||
SetAnchorAndMarginPreset(Actions, LayoutPreset.BottomLeft, margin: 10);
|
||||
SetAnchorAndMarginPreset(Ghost, LayoutPreset.BottomWide, margin: 80);
|
||||
SetAnchorAndMarginPreset(Hotbar, LayoutPreset.BottomWide, margin: 5);
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
using Content.Client.UserInterface.Screens;
|
||||
using Content.Client.UserInterface.Systems.Gameplay;
|
||||
using Content.Client.Voting;
|
||||
using Robust.Client.UserInterface.Controllers;
|
||||
|
||||
namespace Content.Client.UserInterface.Systems.Vote;
|
||||
|
||||
public sealed class VoteUIController : UIController
|
||||
{
|
||||
[Dependency] private readonly IVoteManager _votes = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
var gameplayStateLoad = UIManager.GetUIController<GameplayStateLoadController>();
|
||||
gameplayStateLoad.OnScreenLoad += OnScreenLoad;
|
||||
gameplayStateLoad.OnScreenUnload += OnScreenUnload;
|
||||
}
|
||||
|
||||
private void OnScreenLoad()
|
||||
{
|
||||
switch (UIManager.ActiveScreen)
|
||||
{
|
||||
case DefaultGameScreen game:
|
||||
_votes.SetPopupContainer(game.VoteMenu);
|
||||
break;
|
||||
case SeparatedChatGameScreen separated:
|
||||
_votes.SetPopupContainer(separated.VoteMenu);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnScreenUnload()
|
||||
{
|
||||
_votes.ClearPopupContainer();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user