Files
sbox-public/game/addons/menu/Code/MenuUI/MainMenuPanel.razor.cs

52 lines
1.2 KiB
C#

using Sandbox.UI.Construct;
using Sandbox.UI.Navigation;
public partial class MainMenuPanel : RootPanel
{
public static MainMenuPanel Instance { get; private set; }
public Panel Popup { get; protected set; }
public Label PopupTitle { get; protected set; }
public Label PopupMessage { get; protected set; }
public NavigationHost Navigator { get; protected set; }
public MainMenuPanel()
{
Popup = Add.Panel( "popup" );
{
var inner = Popup.Add.Panel( "inner" );
PopupTitle = inner.Add.Label( "...", "title" );
PopupMessage = inner.Add.Label( "...", "message" );
inner.AddChild( new Button( "Close", () => SetClass( "popup-active", false ) ) );
}
Instance = this;
}
protected override int BuildHash() => HashCode.Combine( Sandbox.LoadingScreen.IsVisible, Sandbox.LoadingScreen.Title );
internal void ShowPopup( string type, string title, string subtitle )
{
AddClass( "popup-active" );
PopupTitle.Text = title;
PopupMessage.Text = subtitle;
}
public override void Tick()
{
base.Tick();
if ( !IsVisible ) return;
SetClass( "is-vr", IsVR );
SetClass( "has-streamer-account", Sandbox.MenuEngine.Account.HasLinkedStreamerServices );
}
public override void OnButtonEvent( ButtonEvent e )
{
base.OnButtonEvent( e );
}
}