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. }
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; } } }