Architektur-Redesign: SignalR-Multiplayer & MVVM
Umfassende Umstrukturierung der SlipItIn-App für eine moderne, zustandsbasierte und SignalR-gestützte Multiplayer-Architektur. Einführung neuer Services für Auth, API, SignalR, lokalen Speicher und Game-State-Management via Dependency Injection. Komplette Neugestaltung der Views (Login, Registrierung, Lobby, Spielbrett) mit MVVM und CommunityToolkit.Mvvm. Navigation jetzt über MAUI Shell mit expliziten Routen. Game-Logik auf Events/Messaging umgestellt, UI und Logik entkoppelt, Echtzeit-Updates integriert. SignalR für alle Spielaktionen inkl. Wiederverbindung und Offline-Queueing. Lokaler Speicher für Auth, Userdaten, GameState und Aktionen. MainPage entfernt, neue Views implementiert. Projektdatei um NuGet-Pakete und Shared-Projekt erweitert. Backend-Änderungen für direkte Spieler-Zuordnung und korrekte EF Core-Relationen. App ist nun robust, testbar und unterstützt Multiplayer- sowie Offline-Szenarien.
This commit is contained in:
@@ -29,11 +29,15 @@ public class GameService : IGameService
|
||||
Status = GameStatus.Lobby
|
||||
};
|
||||
|
||||
context.Games.Add(game);
|
||||
|
||||
// Host wird automatisch als erster Spieler hinzugefügt
|
||||
var hostPlayer = new Player { UserId = host.Id, GameId = game.Id, ConnectionId = connectionId };
|
||||
context.Players.Add(hostPlayer);
|
||||
var hostPlayer = new Player { UserId = host.Id, ConnectionId = connectionId };
|
||||
|
||||
// Spieler direkt zur Liste des Spiels hinzufügen
|
||||
game.Players.Add(hostPlayer);
|
||||
|
||||
// Es reicht, nur das Game hinzuzufügen — EF Core fügt den Player automatisch mit hinzu
|
||||
context.Games.Add(game);
|
||||
|
||||
await context.SaveChangesAsync();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user