diff --git a/Mau/Game.cs b/Mau/Game.cs
index d22c0cf..fb2f41a 100644
--- a/Mau/Game.cs
+++ b/Mau/Game.cs
@@ -102,7 +102,7 @@ public class Game : RoomType
// Change the turn if the player that left was the current player
if (player == _turnManager.CurrentPlayer)
{
- _turnManager.ChangeTurn();
+ _turnManager.ChangeTurnTo();
}
// Remove the player from the game
@@ -144,7 +144,7 @@ public class Game : RoomType
_deck.CurrentCard = new Card(cardType, CardValue.JACK);
// Change the turns
- _turnManager.ChangeTurn(nextPlayer);
+ _turnManager.ChangeTurnTo(nextPlayer);
// Broadcast new game state
SendGameState();
@@ -172,7 +172,7 @@ public class Game : RoomType
// Change the player if the drawn card cannot be played
if (!drawnCard.CanBePlayedOn(_deck.CurrentCard))
{
- _turnManager.ChangeTurn();
+ _turnManager.ChangeTurnTo();
}
// Broadcast new game state
@@ -258,20 +258,20 @@ public class Game : RoomType
case CardValue.TWO:
{
_turnManager.GetNextPlayer().GiveCards(_deck.DrawCards(2));
- _turnManager.ChangeTurn(_turnManager.GetNextPlayer(2));
+ _turnManager.ChangeTurnTo(_turnManager.GetNextPlayer(2));
break;
}
case CardValue.SEVEN:
case CardValue.KING:
break;
case CardValue.EIGHT:
- _turnManager.ChangeTurn(_turnManager.GetNextPlayer(2));
+ _turnManager.ChangeTurnTo(_turnManager.GetNextPlayer(2));
break;
case CardValue.ACE:
if (_turnManager.Players.Count > 2)
{
_turnManager.ChangeDirection();
- _turnManager.ChangeTurn();
+ _turnManager.ChangeTurnTo();
}
break;
case CardValue.JACK:
@@ -285,7 +285,7 @@ public class Game : RoomType
case CardValue.TEN:
case CardValue.QUEEN:
default:
- _turnManager.ChangeTurn();
+ _turnManager.ChangeTurnTo();
break;
}
}
diff --git a/Mau/Managers/TurnManager.cs b/Mau/Managers/TurnManager.cs
index 14d4a23..ad03a57 100644
--- a/Mau/Managers/TurnManager.cs
+++ b/Mau/Managers/TurnManager.cs
@@ -39,14 +39,14 @@ public class TurnManager
* Change the turn to another player.
* If no player is given, the next player in the current direction is chosen.
*
- * The player to change the turn to. Defaults to the next player in the current direction.
+ * The player to change the turn to. Defaults to the next player in the current direction.
*/
- public void ChangeTurn(Player? nextPlayer = null)
+ public void ChangeTurnTo(Player? player = null, PlayerState nextPlayerState = PlayerState.TURN)
{
- var player = nextPlayer ?? GetNextPlayer();
+ var nextPlayer = player ?? GetNextPlayer();
CurrentPlayer.State = PlayerState.WAIT;
- player.State = PlayerState.TURN;
- CurrentPlayer = player;
+ nextPlayer.State = nextPlayerState;
+ CurrentPlayer = nextPlayer;
}
/**
diff --git a/Mau/PlayerState.cs b/Mau/PlayerState.cs
index a52669c..aa015f1 100644
--- a/Mau/PlayerState.cs
+++ b/Mau/PlayerState.cs
@@ -4,5 +4,6 @@ public enum PlayerState
{
TURN,
CHOOSE,
- WAIT
+ WAIT,
+ POST_DRAW
}
\ No newline at end of file