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;
                }
            }
        }
示例#2
0
 private void EnsureGlobalVariables()
 {
     if (globalVariables == null)
     {
         globalVariables = checkpointManager.Get(GlobalVariablesKey, new GlobalVariables());
     }
 }
示例#3
0
        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);
        }
示例#4
0
        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);
        }