Example #1
0
    public void SelectPiece(Piece selectedPiece, ArrayList possibleMovements)
    {
        paintedPositions = new ArrayList();
        paintedPositions.Add(selectedPiece.GetPosition());

        // Play the sound.
        if (sound != null)
        {
            audioSource.PlayOneShot(sound);
        }

        // Change selected tile's color.

        if (CheckersMultiplayer.Instance.IsTableTen)
        {
            TileHandler tile = GetTile(selectedPiece.GetPosition());

            if (tile.GetComponent <TileHandler>().GetComponent <Image>().color != redLineColor)
            {
                tile.GetComponent <TileHandler>().IsRed = false;
            }

            else
            {
                tile.GetComponent <TileHandler>().IsRed = true;
            }
            tile.GetComponent <Image>().color = selectionColor;
            foreach (Movement movement in possibleMovements)
            {
                paintedPositions.Add(movement.getDestinyPosition());
                if (GetTile(movement.getDestinyPosition()).GetComponent <Image>().color != redLineColor)
                {
                    GetTile(movement.getDestinyPosition()).GetComponent <TileHandler>().IsRed = false;
                }
                else
                {
                    GetTile(movement.getDestinyPosition()).GetComponent <TileHandler>().IsRed = true;
                }
                GetTile(movement.getDestinyPosition()).GetComponent <Image>().color = possibiliteColor;
            }
        }
        else
        {
            TileHandler tile = GetTile(selectedPiece.GetPosition());

            tile.GetComponent <Image>().color = selectionColor;
            // Change the color of the avaliable tiles.
            foreach (Movement movement in possibleMovements)
            {
                paintedPositions.Add(movement.getDestinyPosition());
                if (GetTile(movement.getDestinyPosition()).GetComponent <Image>() != null)
                {
                    GetTile(movement.getDestinyPosition()).GetComponent <Image>().color = possibiliteColor;
                }
            }
        }


        // Change the color of the avaliable tiles.
    }
Example #2
0
    public void HighlightPlayablePieces(ArrayList piecesList)
    {
        int table;

        if (CheckersMultiplayer.Instance.IsTableTen)
        {
            table = 10;
        }
        else
        {
            table = 8;
        }
        foreach (Piece piece in piecesList)
        {
            TileHandler tile         = piece.transform.parent.GetComponent <TileHandler>();
            IntVector2  pos          = tile.getPosition();
            int         targetRow    = pos.x + 1;
            int         targetColumn = pos.y - 1;

            for (int i = 0; i < 2; i++)
            {
                if (targetColumn > 0 && targetColumn <= table && targetRow > 0 && targetRow <= table)
                {
                    TileHandler possibleTile = board.GetTile(targetRow, targetColumn);


                    if (!possibleTile.HasChild())
                    {
                        //Green that tile
                        tile.GetComponent <Image>().color = Color.green;
                        board.HighLightedArray.Add(tile.gameObject);
                    }
                    if (possibleTile.HasChildEnemy())
                    {
                        tile.GetComponent <Image>().color = Color.green;
                        board.HighLightedArray.Add(tile.gameObject);
                    }
                }
                targetColumn = pos.y + 1;
            }
        }
    }