All checks were successful
Build / build (push) Successful in 2m19s
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.
21 lines
966 B
C#
21 lines
966 B
C#
using SlipItIn.Shared.DTOs;
|
|
using SlipItIn.Shared.Models;
|
|
|
|
namespace SlipItIn.Server.Services;
|
|
|
|
public interface IGameService
|
|
{
|
|
Task<Game> CreateGameAsync(int hostUserId, string? connectionId = null);
|
|
Task<Game> JoinGameAsync(string lobbyCode, int userId, string? connectionId = null);
|
|
Task<Game> StartGameAsync(int gameId);
|
|
Task<Game> SetPlayerReadyAsync(int gameId, int playerId);
|
|
Task<List<PlayerCard>> DealCardsAsync(int gameId);
|
|
Task<bool> SubmitSlipAsync(int gameId, int playerId, int cardId);
|
|
Task<bool> CompleteSlipAsync(int gameId, int cardId, bool force = false);
|
|
Task<SlipChallenge> CreateChallengeAsync(int gameId, int challengingPlayerId, int targetPlayerId);
|
|
Task<SlipChallenge> ResolveChallengeAsync(int challengeId, bool approved, int? discardCardId = null);
|
|
Task<GameStateDto> GetGameStateAsync(int gameId);
|
|
Task<PlayerHandDto> GetPlayerHandAsync(int playerId);
|
|
Task<Game> GetGameAsync(int gameId);
|
|
}
|