void UpdateSeamlessPagePositions() { if (!Application.isPlaying) { return; } if (!LoopSeamlessly) { return; } //if (NumberOfPages <= 1) return; // there's no point in adjusting page positions if we only have one page if (NumberOfPages <= 3) { return; } if (ShowPagePreviews) { UpdateSeamlessPagePositions_PagePreviews(); return; } float pageSize = ScrollRect.GetPageSize(); float totalSize = ScrollRect.GetTotalSize(); float offset = ScrollRect.GetOffset(); //Debug.Log(offset + " ~~ " + pageSize); //Debug.Log("Distance from start " + offset + ". Distance from end " + (totalSize - offset)); // let's give it a bit more breathing room (if we have enough pages to do so) if (NumberOfPages > 3) { pageSize *= 1.5f; } if (offset <= pageSize) { MoveLastPageToStart(); } else if (offset >= totalSize - pageSize) { MoveFirstPageToEnd(); } }