예제 #1
0
    private void RpcSetGameSituation(SerializedGameSituation serializedGameSituation)
    {
        if (!isLocalPlayer)
        {
            return;
        }
        GameSituation gameSituation = SerializedGameSituation.Deserealize(serializedGameSituation);

        clientManager.SetGameSituation(gameSituation);

        if (gameSituation.GameStatus == GameStatus.OpponentExits)
        {
            clientManager.Block(true, PlayerColor.White);
            clientManager.Block(true, PlayerColor.Black);
            return;
        }
        if ((playerColor == PlayerColor.White) && (gameSituation.IsWhiteMoving))
        {
            clientManager.Block(false, PlayerColor.White);
        }
        else if ((playerColor == PlayerColor.Black) && (!gameSituation.IsWhiteMoving))
        {
            clientManager.Block(false, PlayerColor.Black);
        }
        else
        {
            clientManager.Block(true, playerColor);
        }
    }
예제 #2
0
 public void SetGameSituation(GameSituation gameSituation)
 {
     RpcSetGameSituation(SerializedGameSituation.Serialize(gameSituation));
 }