Files
SlipItIn/SlipItIn.Shared/Models/SlipChallenge.cs
Tim Krampitz 010e844976
All checks were successful
Build / build (push) Successful in 2m19s
Slip- und Beschuldigungslogik überarbeitet
Slips werden jetzt 30 Sekunden vorgehalten und anschließend automatisch abgeschlossen; direkte Spieler-Beschuldigungen, Win-Status, SignalR-Events, MAUI-UI, EF-Mapping/Migrationen sowie Tests wurden an die neue Spiellogik angepasst.
2026-10-04 19:14:16 +02:00

27 lines
1.2 KiB
C#

namespace SlipItIn.Shared.Models;
public enum ChallengeStatus
{
Pending, // Beschuldigung eingegangen, wartet auf Bestätigung/Ablehnung
Approved, // Beschuldigung war berechtigt -> Beschuldigter muss Karte ablegen und 2 neue ziehen
Rejected // Beschuldigung angefochten -> Beschuldigung zurückgenommen
}
public class SlipChallenge
{
public int Id { get; set; }
public int GameRoundId { get; set; }
public int ChallengingPlayerId { get; set; } // Wer beschuldigt
public int TargetPlayerId { get; set; } // Wer beschuldigt wird
public int? TargetCardId { get; set; } // Optional: Angefochtene Karte falls bekannt/zugeordnet
public ChallengeStatus Status { get; set; } = ChallengeStatus.Pending;
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
public DateTime? ResolvedAt { get; set; }
// Navigation
public GameRound GameRound { get; set; } = null!;
public Player ChallengingPlayer { get; set; } = null!; // Der Beschuldiger
public Player TargetPlayer { get; set; } = null!; // Der Beschuldigte
public PlayerCard? TargetCard { get; set; } // Die angefochtene Phrase (optional)
}