private ChessGameValidationResult FindGameForContext(HttpContext httpContext)
        {
            Player                    player           = PlayerController.GetLoggedInPlayer(httpContext);
            ChessGameManager          gameManager      = new ChessGameManager(player);
            ChessGameValidationResult validationResult = gameManager.FindGame();

            return(validationResult);
        }
 protected void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else if (Instance != this)
     {
         Destroy(gameObject);
     }
 }
 public ChessBoard(int x, int y, ChessGameManager chessGameManager)
 {
     this.chessGameManager = chessGameManager;
     sizex       = x;
     sizey       = y;
     chessFields = new ChessField[sizex, sizey];
     for (int i = 0; i < sizex; i++)
     {
         for (int j = 0; j < sizey; j++)
         {
             chessFields[i, j] = new ChessField(i, j);
         }
     }
 }
    public ChessBoard(ChessGameManager chessGameManager)
    {
        this.chessGameManager = chessGameManager;
        sizex = 8;
        sizey = 8;
        // creates the standardchessboardwith all pieces;
        chessFields = new ChessField[8, 8];
        for (int i = 0; i < 8; i++)
        {
            for (int j = 0; j < 8; j++)
            {
                chessFields[i, j] = new ChessField(i, j);
            }
        }


        ChessAgent playerAgent   = RegisterAgent("Player", Color.white);
        ChessAgent computerAgent = RegisterAgent("Computergegner", Color.black);

        // register pawns:
        for (int i = 0; i < 8; i++)
        {
            playerAgent.RegisterPiece(ChessPiece.PieceType.PAWN, new Pos2D(i, 1));
            computerAgent.RegisterPiece(ChessPiece.PieceType.PAWN, new Pos2D(i, 6));
        }
        playerAgent.RegisterPiece(ChessPiece.PieceType.ROOK, new Pos2D(0, 0));
        playerAgent.RegisterPiece(ChessPiece.PieceType.ROOK, new Pos2D(7, 0));
        playerAgent.RegisterPiece(ChessPiece.PieceType.KNIGHT, new Pos2D(1, 0));
        playerAgent.RegisterPiece(ChessPiece.PieceType.KNIGHT, new Pos2D(6, 0));
        playerAgent.RegisterPiece(ChessPiece.PieceType.BISHOP, new Pos2D(2, 0));
        playerAgent.RegisterPiece(ChessPiece.PieceType.BISHOP, new Pos2D(5, 0));
        playerAgent.RegisterPiece(ChessPiece.PieceType.QUEEN, new Pos2D(3, 0));
        playerAgent.RegisterPiece(ChessPiece.PieceType.KING, new Pos2D(4, 0));

        computerAgent.RegisterPiece(ChessPiece.PieceType.ROOK, new Pos2D(0, 7));
        computerAgent.RegisterPiece(ChessPiece.PieceType.ROOK, new Pos2D(7, 7));
        computerAgent.RegisterPiece(ChessPiece.PieceType.KNIGHT, new Pos2D(1, 7));
        computerAgent.RegisterPiece(ChessPiece.PieceType.KNIGHT, new Pos2D(6, 7));
        computerAgent.RegisterPiece(ChessPiece.PieceType.BISHOP, new Pos2D(2, 7));
        computerAgent.RegisterPiece(ChessPiece.PieceType.BISHOP, new Pos2D(5, 7));
        computerAgent.RegisterPiece(ChessPiece.PieceType.QUEEN, new Pos2D(3, 7));
        computerAgent.RegisterPiece(ChessPiece.PieceType.KING, new Pos2D(4, 7));
    }