private void PromoteChecker(TilesDetails t)
 {
     t.king = true;
     Debug.Log("Hail the king!");
     //TODO add animation here
 }
    private void EndReached(TilesDetails t)
    {
        switch (t.tileName)
        {
        case "A1":
            if (t.occupiedBlack && t.king == false)
            {
                PromoteChecker(FindTile("A1"));
            }
            break;

        case "A3":
            if (t.occupiedBlack && t.king == false)
            {
                PromoteChecker(FindTile("A3"));
            }
            break;

        case "A5":
            if (t.occupiedBlack && t.king == false)
            {
                PromoteChecker(FindTile("A5"));
            }
            break;

        case "A7":
            if (t.occupiedBlack && t.king == false)
            {
                PromoteChecker(FindTile("A7"));
            }
            break;

        case "H2":
            if (t.occupiedWhite && t.king == false)
            {
                PromoteChecker(FindTile("H2"));
            }
            break;

        case "H4":
            if (t.occupiedWhite && t.king == false)
            {
                PromoteChecker(FindTile("H4"));
            }
            break;

        case "H6":
            if (t.occupiedWhite && t.king == false)
            {
                PromoteChecker(FindTile("H6"));
            }
            break;

        case "H8":
            if (t.occupiedWhite && t.king == false)
            {
                PromoteChecker(FindTile("H8"));
            }
            break;
        }
    }
    private bool LegalCaptureChecker(TilesDetails previousTile, TilesDetails newTile)
    {
        foreach (var ct in previousTile.captureTiles)
        {
            if (ct.tileName == newTile.tileName)
            {
                for (int i = 0; i < previousTile.neighborTiles.Length; i++)
                {
                    for (int j = 0; j < newTile.neighborTiles.Length; j++)
                    {
                        if (previousTile.neighborTiles[i].tileName == newTile.neighborTiles[j].tileName)
                        {
                            if (whiteTurn)
                            {
                                foreach (var bt in previousBlackTiles)
                                {
                                    if (bt.tileName == previousTile.neighborTiles[i].tileName)
                                    {
                                        if (bt.occupiedBlack)
                                        {
                                            int checkersOnTile = 0;
                                            foreach (var t in currentBlackTiles)
                                            {
                                                if (bt.tileName == t.tileName)
                                                {
                                                    checkersOnTile++;
                                                }
                                            }

                                            foreach (var t in currentWhiteTiles)
                                            {
                                                if (bt.tileName == t.tileName)
                                                {
                                                    checkersOnTile++;
                                                }
                                            }

                                            Debug.Log("There is: " + checkersOnTile + " checkers on tile: " + newTile.tileName);
                                            if (checkersOnTile == 0)
                                            {
                                                return(true);
                                            }
                                        }
                                        else
                                        {
                                            Debug.Log("Pole: " + previousTile.neighborTiles[i].tileName + " zajete przez biale: " +
                                                      previousTile.neighborTiles[i].occupiedWhite + " zajete przez czarne: " +
                                                      previousTile.neighborTiles[i].occupiedBlack);
                                        }
                                    }
                                }
                            }
                            else
                            {
                                foreach (var wt in previousWhiteTiles)
                                {
                                    if (wt.tileName == previousTile.neighborTiles[i].tileName)
                                    {
                                        if (wt.occupiedWhite)
                                        {
                                            int checkersOnTile = 0;
                                            foreach (var t in currentBlackTiles)
                                            {
                                                if (wt.tileName == t.tileName)
                                                {
                                                    checkersOnTile++;
                                                }
                                            }

                                            foreach (var t in currentWhiteTiles)
                                            {
                                                if (wt.tileName == t.tileName)
                                                {
                                                    checkersOnTile++;
                                                }
                                            }

                                            Debug.Log("There is: " + checkersOnTile + " checkers on tile: " + newTile.tileName);
                                            if (checkersOnTile == 0)
                                            {
                                                return(true);
                                            }
                                        }
                                        else
                                        {
                                            Debug.Log("Pole: " + previousTile.neighborTiles[i].tileName + " zajete przez biale: " +
                                                      previousTile.neighborTiles[i].occupiedWhite + " zajete przez czarne: " +
                                                      previousTile.neighborTiles[i].occupiedBlack);
                                        }
                                    }
                                }
                            }
                            Debug.Log("Pole 'bicia':" + previousTile.neighborTiles[i].tileName + " oraz " + newTile.neighborTiles[j].tileName);
                        }
                    }
                }
            }
        }
        return(false);
    }