showImage = false )">
@using MenuProject.MenuUI.Layout.MenuHeader @using Sandbox.UI; @using Sandbox.UI.Navigation; @using Sandbox; @using System; @using Menu; @using MenuProject.Social; @using MenuProject.Footer; @inherits PanelComponent
@code { public static MainMenu Instance { get; private set; } public NavigationHost Navigator { get; protected set; } bool showImage; string viewImage; Vector2 cursorPos; public MainMenu() { Instance = this; } override protected void OnEnabled() { base.OnEnabled(); MenuUtility.Tick += MenuTick; var human = Scene.Directory.FindByName("Player Human").FirstOrDefault(); var citizen = Scene.Directory.FindByName("Player Citizen").FirstOrDefault(); var clothing = ClothingContainer.CreateFromLocalUser(); if ( human.IsValid() ) human.Enabled = clothing.PrefersHuman; if ( citizen.IsValid() ) citizen.Enabled = !clothing.PrefersHuman; } override protected void OnDisabled() { base.OnDisabled(); MenuUtility.Tick -= MenuTick; } public void ShowPopup(string imageUrl) { cursorPos = (Mouse.Position / Screen.Size) * 100.0f; viewImage = imageUrl; showImage = true; } static GameClosing gameClosingPanel; void MenuTick() { if (Game.InGame && !Application.IsEditor) { var startDelay = 0.2f; var holdDelay = 1.5f; if (MenuUtility.EscapeTime > startDelay) { var et = MenuUtility.EscapeTime - startDelay; if (!gameClosingPanel.IsValid()) { gameClosingPanel = new GameClosing(); gameClosingPanel.Parent = MenuOverlay.Instance.PopupCanvasTop; } gameClosingPanel.Progress = (et / holdDelay); gameClosingPanel.StateHasChanged(); if (gameClosingPanel.Progress > 1) Game.Close(); } else { gameClosingPanel?.Delete(); gameClosingPanel = null; } } else { gameClosingPanel?.Delete(); gameClosingPanel = null; } } override protected void OnUpdate() { SetClass("is-vr", Application.IsVR); SetClass("has-streamer-account", Sandbox.MenuEngine.Account.HasLinkedStreamerServices); } }