developmaunt -> mauster #1

Merged
DTieman merged 6 commits from developmaunt into mauster 2024-04-24 18:05:31 +00:00
2 changed files with 24 additions and 17 deletions
Showing only changes of commit b97eb309c0 - Show all commits

View File

@@ -27,24 +27,22 @@ public class RoomController : ControllerBase
[HttpGet("{id}")] [HttpGet("{id}")]
public async Task ConnectToRoom(string id) public async Task ConnectToRoom(string id)
{ {
if (HttpContext.WebSockets.IsWebSocketRequest) if (!HttpContext.WebSockets.IsWebSocketRequest)
{ {
if (_roomManager.RoomExists(id)) HttpContext.Response.StatusCode = 400;
return;
}
if (!_roomManager.RoomExists(id))
{ {
HttpContext.Response.StatusCode = 404;
return;
}
using var webSocket = await HttpContext.WebSockets.AcceptWebSocketAsync(); using var webSocket = await HttpContext.WebSockets.AcceptWebSocketAsync();
var room = _roomManager.GetRoom(id); var room = _roomManager.GetRoom(id);
await room.InstantiateConnection(webSocket); await room.InstantiateConnection(webSocket);
} }
else
{
HttpContext.Response.StatusCode = 404;
}
}
else
{
HttpContext.Response.StatusCode = 400;
}
}
[HttpPost] [HttpPost]
public IActionResult Post() public IActionResult Post()

View File

@@ -1,5 +1,4 @@
using System.Net.WebSockets; using System.Text.Json;
using System.Text.Json;
using MauMau_Server.Websockets; using MauMau_Server.Websockets;
namespace MauMau_Server.Mau; namespace MauMau_Server.Mau;
@@ -25,7 +24,9 @@ public class Game
Hand = Deck.DrawCards(8) Hand = Deck.DrawCards(8)
}; };
Players.Add(player); Players.Add(player);
if (Players.Count == 1) CurrentPlayer = player; if (Players.Count > 1) return;
CurrentPlayer = player;
CurrentPlayer.State = PlayerState.TURN;
} }
public void RemovePlayer(string playerId) public void RemovePlayer(string playerId)
@@ -42,6 +43,10 @@ public class Game
{ {
case "PLAYCARD": case "PLAYCARD":
{ {
if (player.State != PlayerState.TURN)
{
break;
}
var card = JsonSerializer.Deserialize<CardDTO>(action.Data).ToCard(); var card = JsonSerializer.Deserialize<CardDTO>(action.Data).ToCard();
PlayCard(player, card); PlayCard(player, card);
break; break;
@@ -58,6 +63,10 @@ public class Game
CurrentPlayer.State = PlayerState.TURN; CurrentPlayer.State = PlayerState.TURN;
break; break;
case "DRAW": case "DRAW":
if (player.State != PlayerState.TURN)
{
break;
}
DrawCard(player); DrawCard(player);
break; break;
} }