@page "/"
@inject FxService Fx
@inject IFaraonAI AI
@inject IJSRuntime JS
@if (IsInLobby || Engine == null)
{
}
else
{
@foreach (var opp in GetOpponents())
{
}
@Engine.State.DrawDeck.Count
@if (Engine.State.TopCard != null)
{
}
@if (Engine.State.PendingDrawCount > 0)
{
🔥 +@Engine.State.PendingDrawCount Kariet!
}
@if (Engine.State.ActiveSuit.HasValue)
{
var dummy = new Card(Engine.State.ActiveSuit.Value, Rank.OverKnave);
}
@ViewingPlayer.Avatar
@ViewingPlayer.Name
(@ViewingPlayer.Hand.Count kariet)
@if (IsViewingPlayerTurn && Engine.State.TurnState == TurnState.Playing)
{
@if (CheckFourOfAKindRank(ViewingPlayer) is Rank burnRank)
{
}
}
@if (!string.IsNullOrEmpty(LastEventMessage))
{
@LastEventMessage
}
@if (Engine.State.TurnState == TurnState.SelectingSuit && Engine.State.PendingHornikPlayer == ViewingPlayer)
{
}
@if (Engine.State.TurnState == TurnState.PassScreen)
{
}
@if (Engine.State.IsGameOver)
{
}
}
@code {
private bool IsInLobby = true;
private bool IsMuted = false;
private GameEngine? Engine;
private string LastEventMessage = "";
private System.Threading.CancellationTokenSource? _aiCts;
private List