public void ClickDown(PieceObject piece) { if (finished) { return; } // Ignore if managed by AI or is not your turn if (piece.piece.side != currentSide || (ai1 && !currentSide) || (ai2 && currentSide)) { return; } List <Position> positions = model.GetMovements(piece.piece); markersPool.ClearAll(); if (piece.Equals(selectedPiece)) { selectedPiece = null; return; } selectedPiece = piece; selectedUIPiece = null; for (int i = 0; i < positions.Count; i++) { Marker marker = markersPool.GetInstance <Marker>(true); marker.Initialize(ClickDownMarker); marker.SetHexPosition(positions[i]); } }