8 Commits

Author SHA1 Message Date
Jonas e8b45fa235 Add column drop, game info DTO, and disconnect
Introduce column-based drop mechanics and game info transfer; add disconnect handling and related API/interface updates. GameField API renamed Place->Drop and PlaceResult->DropResult, added ColumnFull, IsFull, and updated drop logic to insert at lowest empty row. Game model now exposes Players, adds GetPlayerByTag and makes StartGame public. New GameInformationDto conveys game state and field. Hub methods updated: GameCreated->GameJoined, RequestGameInformation, Place now forwards to Drop, and OnDisconnectedAsync notifies GameManager. GameManager implements RequestGameInformation, Drop (validates moves, broadcasts FieldUpdated and GameEnded on win/draw), improved JoinGame logic to auto-start when two players join, and handles player disconnects. Repository and interface extended with GetOneByConnectionId. Also tightened SignalR timeouts in Program.
2026-03-12 23:20:05 +01:00
jonas 0e7bfb7241 Refactor GameRepository and GameManager architecture, introduce Player model, and update dependency registration in Program.cs. 2026-03-12 23:20:05 +01:00
jonas b967bd70eb Refactor and clean up codebase:
- Introduced `IGameRepository` interface and its implementation.
- Transitioned namespaces to `file-scoped` for consistency.
- Simplified class definitions, e.g., `Game` and `SixDigitInt`.
- Restructured `GameField` logic for improved readability and functionality.
- Fixed formatting issues in `API.csproj` and added a `using` directive in `Program.cs`.
2026-03-12 23:20:05 +01:00
jhim 5db7ac1676 Added Backend Classes and FUnctions for an working Game. But lacking Implementations 2026-03-12 23:20:05 +01:00
jonas 306dacc300 Update Vite output path and remove redundant wwwroot configuration 2026-03-12 23:20:05 +01:00
jonas 8eefc1a2b8 Configure API to serve SPA, integrate SignalR, and update build paths 2026-03-12 23:20:05 +01:00
jonas f98d9e79b2 Add StatusController, improve local game logic, and enable Swagger in API 2026-03-12 23:20:05 +01:00
jhim d886fa24a6 Add project files. 2026-02-06 08:29:28 +01:00