@using System @using System.Collections.Generic @using System.Linq @using LuckerGame.Entities @using LuckerGame.Enums @using Sandbox.UI; @using Sandbox; @using LuckerGame.UI.MenuComponents @inherits Panel @attribute [StyleSheet] @namespace LuckerGame.UI.Menus @if (RoundManager == null) { return; } @if (RoundManager.RoundState == RoundState.InProgress) { return; } @if (RoundManager.RoundState == RoundState.NotStarted) { Waiting for luckers... } else { if (@RoundManager.SecondsLeftInCountdown > 0) { @RoundManager.SecondsLeftInCountdown } else { Good luck! } } @foreach (var lucker in Luckers) { @lucker.Name @(lucker.Ready ? "done" : "close") } @(Ready ? "Unready" : "Ready") @code { private List Luckers => Entity.All.OfType().ToList(); private RoundManager RoundManager => Entity.All.OfType().FirstOrDefault(); private Lucker ThisLucker => Game.LocalClient.Pawn as Lucker; private bool Ready => ThisLucker.Ready; protected override int BuildHash() { return HashCode.Combine(Luckers.Select(lucker => lucker.Ready), Ready, RoundManager?.SecondsLeftInCountdown); } private void ReadyButtonPressed() { ConsoleSystem.Run("set_ready", !ThisLucker.Ready); StateHasChanged(); } }