private void ServerState_GameRound() { isPlaying = true; if (currentTurnPlayer != null) { if (currentTurnPlayer is HumanPlayer) { var msg = new ServerAssignTurnMsg(); msg.isTurn = true; msg.firstTurn = false; NetworkServer.SendToClientOfPlayer(currentTurnPlayer.gameObject, ServerAssignTurnMsg.msgID, msg); } else if (currentTurnPlayer is BotPlayer) { currentTurnPlayer.AssignTurn(true, false); } } ServerEnterGameState(GameState.GameRound, "<color=magenta>" + currentTurnPlayer.playerName + "</color>'s turn"); }
private void ServerState_FirstRound() { isPlaying = true; int min = 0; int max = Enum.GetValues(typeof(Card.Suit)).Length *Enum.GetValues(typeof(Card.Rank)).Length; //impossibru tho currentTurnPlayer = null; while (currentTurnPlayer == null) { min++; for (int i = 0; i < gamePlayersList.Count; i++) { List <CardData> lcd = gamePlayersList[i].GetComponent <Hand>().cardDatas.ToList(); if (lcd.Exists(c => c.value == min)) { CardData cd = lcd.Find(c => c.value == min); currentPlayerIndex = i; currentTurnPlayer = gamePlayersList[i]; break; } } } CmdUpdateLowestCard(min); ServerEnterGameState(GameState.FirstRound, "<color=magenta>" + currentTurnPlayer.playerName + "</color>'s turn"); if (currentTurnPlayer is HumanPlayer) { var msg = new ServerAssignTurnMsg(); msg.isTurn = msg.firstTurn = true; NetworkServer.SendToClientOfPlayer(currentTurnPlayer.gameObject, ServerAssignTurnMsg.msgID, msg); } else if (currentTurnPlayer is BotPlayer) { currentTurnPlayer.AssignTurn(true, true); } }
private void ServerState_NewRound() { isPlaying = true; passTurnAmount = 0; currentPlayedHand.Clear(); currentTurnPlayer = currentWinningPlayer; currentPlayerIndex = gamePlayersList.IndexOf(currentTurnPlayer); ServerEnterGameState(GameState.NewRound, "<color=magenta>" + currentTurnPlayer.playerName + "</color>'s turn"); if (currentTurnPlayer is HumanPlayer) { var msg = new ServerAssignTurnMsg(); msg.isTurn = msg.firstTurn = true; NetworkServer.SendToClientOfPlayer(currentTurnPlayer.gameObject, ServerAssignTurnMsg.msgID, msg); } else if (currentTurnPlayer is BotPlayer) { currentTurnPlayer.AssignTurn(true, true); } }
private void ServerNextPlayer() { Debug.Log("ServerNextPlayer"); if (currentTurnPlayer != null) { if (currentTurnPlayer is HumanPlayer) { var msg = new ServerAssignTurnMsg(); msg.isTurn = msg.firstTurn = false; NetworkServer.SendToClientOfPlayer(currentTurnPlayer.gameObject, ServerAssignTurnMsg.msgID, msg); } else if (currentTurnPlayer is BotPlayer) { currentTurnPlayer.AssignTurn(false, false); } } /*else * { * currentPlayerIndex--; * }*/ currentTurnPlayer = null; while (currentTurnPlayer == null) { /*if(gamePlayersList.Count < 2) * { * break; * }*/ currentPlayerIndex++; if (currentPlayerIndex >= gamePlayersList.Count) { currentPlayerIndex = 0; } currentTurnPlayer = gamePlayersList[currentPlayerIndex]; Debug.Log("current turn player name: " + currentTurnPlayer.playerName); } if (currentTurnPlayer == currentWinningPlayer) { passTurnAmount = 0; ServerNextState(StringEnum.GetStringValue(GameState.NewRound)); } else { if (gameState == GameState.FirstRound && currentPlayedHand.Count < 1) { currentWinningPlayer = currentTurnPlayer; ServerNextState(StringEnum.GetStringValue(GameState.NewRound)); } else { ServerNextState(StringEnum.GetStringValue(GameState.GameRound)); } } }