internal void SecondCellSelected(Cell cell) { if (SelectedBarricade != null) { SelectedBarricade.MoveToCell(cell); SelectedBarricade = null; SelectedCell.isSelected = false; cell.isSelected = false; Cell t = SelectedCell; SelectedCell = null; t.OnCellStateChanged(EventArgs.Empty); OnGameStateChanged(EventArgs.Empty); List<Pawn> oldpawns = currentPlayer.Pawns; toNextPlayer(); foreach (Pawn p in oldpawns) { p.CurrentCell.OnCellStateChanged(EventArgs.Empty); } foreach (Pawn p in currentPlayer.Pawns) { p.CurrentCell.OnCellStateChanged(EventArgs.Empty); } DiceThrown = false; OnDiceCanBeThrown(EventArgs.Empty); } else if (cell.Barricade != null) { SelectedCell.Pawn.MoveToCell(cell); SelectedCell.isSelected = false; cell.isSelected = true; Cell t = SelectedCell; SelectedCell = cell; SelectedBarricade = cell.Barricade; t.OnCellStateChanged(EventArgs.Empty); cell.OnCellStateChanged(EventArgs.Empty); ClearPossiblities(); OnGameStateChanged(EventArgs.Empty); } else { SelectedCell.Pawn.MoveToCell(cell); SelectedCell.isSelected = false; cell.isSelected = false; Cell t = SelectedCell; SelectedCell = null; t.OnCellStateChanged(EventArgs.Empty); cell.OnCellStateChanged(EventArgs.Empty); ClearPossiblities(); List<Pawn> oldpawns = currentPlayer.Pawns; toNextPlayer(); foreach (Pawn p in oldpawns) { p.CurrentCell.OnCellStateChanged(EventArgs.Empty); } foreach (Pawn p in currentPlayer.Pawns) { p.CurrentCell.OnCellStateChanged(EventArgs.Empty); } DiceThrown = false; OnDiceCanBeThrown(EventArgs.Empty); } }