private void ShowPage() { leftButton.interactable = page > 1; rightButton.interactable = page < pageCount; pageText.text = $"{page} / {pageCount}"; var offset = (page - 1) * entries.Count; var groups = imageGroupList.groups; var unlockInfo = checkpointManager.Get(ImageUnlockStatusKey, new ImageUnlockInfo()); for (var i = 0; i < entries.Count; ++i) { var entry = entries[i]; entry.button.interactable = false; entry.button.onClick.RemoveAllListeners(); entry.text.enabled = false; if (offset + i < groups.Count) { var group = groups[offset + i]; if (group.entries.Count > 0) { int unlockedCount = GetUnlockedImageCount(group, unlockInfo); if (unlockedCount > 0) { int firstUnlocked = GetNextUnlockedImage(group, unlockInfo, -1); entry.snapshot.sprite = Resources.Load <Sprite>(group.entries[firstUnlocked].snapshotResourcePath); entry.button.interactable = true; entry.button.onClick.AddListener(() => ShowGroup(group, unlockInfo)); if (group.entries.Count > 1) { entry.text.enabled = true; entry.text.text = $"{unlockedCount} / {group.entries.Count}"; } } else { entry.snapshot.sprite = lockedImage; } } else { entry.snapshot.sprite = emptyImage; } } else { entry.snapshot.sprite = emptyImage; } } }
private void EnsureGlobalVariables() { if (globalVariables == null) { globalVariables = checkpointManager.Get(GlobalVariablesKey, new GlobalVariables()); } }
public void Unlock(string id) { var s = checkpoint.Get <MusicUnlockInfo>(statusKey) ?? new MusicUnlockInfo(); if (s.Contains(id)) { return; } s.Add(id); checkpoint.Set(statusKey, s); }
public void Unlock(string path) { path = Utils.ConvertPathSeparator(path); var unlockInfo = checkpointManager.Get(MusicUnlockStatusKey, new MusicUnlockInfo()); if (unlockInfo.Contains(path)) { return; } unlockInfo.Add(path); checkpointManager.Set(MusicUnlockStatusKey, unlockInfo); }