public void ShowPage() { if (saveViewBookmarkType == BookmarkType.NormalSave) { int maxSaveId = checkpointManager.QueryMaxSaveId((int)BookmarkType.NormalSave); if (checkpointManager.SaveSlotsMetadata.ContainsKey(maxSaveId)) { maxPage = SaveIdToPage(maxSaveId); if (saveViewMode == SaveViewMode.Save) { // New page to save ++maxPage; } } else { maxPage = 1; } } else { maxPage = 1; } if (maxPage < page) { page = maxPage; } if (saveViewBookmarkType == BookmarkType.AutoSave) { pageText.text = I18n.__("bookmark.autosave.page"); } else if (saveViewBookmarkType == BookmarkType.QuickSave) { pageText.text = I18n.__("bookmark.quicksave.page"); } else // saveViewBookmarkType == BookmarkType.NormalSave { pageText.text = string.Format("{0} / {1}", page, maxPage); } if (saveViewMode == SaveViewMode.Save) { saveButton.interactable = false; loadButton.interactable = true; } else // saveViewMode == SaveViewMode.Load { saveButton.interactable = true; loadButton.interactable = false; } for (int i = 0; i < maxSaveEntry; ++i) { int saveId = (page - 1) * maxSaveEntry + i + (int)saveViewBookmarkType; string newIdText = SaveIdToDisplayId(saveId).ToString(); // Load properties from bookmark string newHeaderText; string newFooterText; Sprite newThumbnailSprite; UnityAction onEditButtonClicked; UnityAction onDeleteButtonClicked; if (checkpointManager.SaveSlotsMetadata.ContainsKey(saveId)) { Bookmark bookmark = checkpointManager[saveId]; newHeaderText = bookmark.NodeHistory.Last(); newFooterText = bookmark.CreationTime.ToString(dateTimeFormat); newThumbnailSprite = GetThumbnailSprite(saveId); onEditButtonClicked = null; onDeleteButtonClicked = () => DeleteBookmark(saveId); } else { newHeaderText = ""; newFooterText = ""; newThumbnailSprite = null; onEditButtonClicked = null; onDeleteButtonClicked = null; } UnityAction onThumbnailButtonClicked = () => OnThumbnailButtonClicked(saveId); UnityAction onThumbnailButtonEnter = () => OnThumbnailButtonEnter(saveId); UnityAction onThumbnailButtonExit = () => OnThumbnailButtonExit(saveId); // Update UI of saveEntry var saveEntry = saveEntries[i]; var saveEntryController = saveEntry.GetComponent <SaveEntryController>(); saveEntryController.Init(newIdText, newHeaderText, newFooterText, newThumbnailSprite, onEditButtonClicked, onDeleteButtonClicked, onThumbnailButtonClicked, onThumbnailButtonEnter, onThumbnailButtonExit); } }