Files
SlipItIn/SlipItIn/Services/Interfaces/ILocalStorageService.cs
Tim Krampitz bbc6ad6080 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.
2026-07-26 17:31:26 +02:00

28 lines
834 B
C#

using SlipItIn.Models;
using SlipItIn.Shared.DTOs;
namespace SlipItIn.Services.Interfaces;
public interface ILocalStorageService
{
Task SaveAuthTokenAsync(string token);
Task<string?> GetAuthTokenAsync();
Task ClearAuthTokenAsync();
Task SaveAuthUserAsync(AuthResponseDto authResponse);
Task<AuthResponseDto?> GetAuthUserAsync();
Task ClearAuthUserAsync();
Task SaveGameStateAsync(GameStateDto state);
Task<GameStateDto?> GetGameStateAsync();
Task ClearGameStateAsync();
Task SavePlayerHandAsync(PlayerHandDto hand);
Task<PlayerHandDto?> GetPlayerHandAsync();
Task ClearPlayerHandAsync();
Task SaveQueuedActionsAsync(IReadOnlyCollection<QueuedGameAction> actions);
Task<IReadOnlyCollection<QueuedGameAction>> GetQueuedActionsAsync();
Task ClearQueuedActionsAsync();
}